From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Pelling Date: Mon, 16 Mar 2015 16:00:21 +0000 Subject: Are there any alternatives to IFB for downlink shaping? Message-Id: <1426521620621.27129@farncombe.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: lartc@vger.kernel.org Hi everyone, I'm trying to configure (OK, 'hack') a Linux-based Broadcom wireless gatewa= y to prioritize the traffic between two groups of interfaces, e.g. where ho= me traffic gets rate 80% ceil 95% prio 1, and where guest traffic (i.e. wl1= ) gets rate 15% ceil 60% prio 2. I now have tc doing this beautifully on the uplink traffic (I use 'action s= kbedit mark 1', why is this trick mentioned hardly anywhere?): but, like al= most every other first time poster here :-) , I'm having no luck at all get= ting this working for downlink traffic. Specifically, I've put in a lot of work trying to get IFB working, but it s= eems to be stitched too early in the packet processing chain to be any use = for shaping a WAN interface's downlink traffic. Basically, my downlink band= width stats stay resolutely at zero bytes / zero packets, whatever I try. = :-( Are there any higher-level (i.e. device-level) configuration alternatives t= o using IFB? It seems obvious to me that if I could insert any (fake, forwa= rding-only) device at all between the WAN port and the rest of the system, = then I would be able to use normal tc egress shaping on the traffic going = through it. It strikes me that this would be something a tap device could do, for examp= le: but I've never seen anyone discuss this anywhere on the web. Anyway, I'm currently using eth3 for the WAN, so my (working) uplink traffi= c shaping looks like this:- eth0-2 / wl0 ---> br0 --->=A0 \ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0+--->=A0[tc egress] eth3 --> [Internet] wl1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 --->=A0 / For the downlink, however, I'm wondering if there might be a fake device I = could configure in that serves only to forward packets. tap0? eth0-2 / wl0 <--- br0 <---=A0 \ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0+ <---=A0fakedevice [tc egress] <--- eth3 <--- [Internet] wl1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 <---=A0 / I was hoping (of course) that IFB would be able to do this for me, but it d= oesn't seem to want to play nicely. Am I missing something? All suggestions= and comments very much appreciated! :-) Thanks very much, Nick