On Wed, 2012-06-13 at 12:31 -0400, Benjamin LaHaise wrote: > I would contend that PPPoE over br2684 is not the common case. The vast > majority of users in client mode are going to be using PPPoE over an > ethernet link to a DSL modem (or cable or wireless radios even). Just look > at what DSL modems are available for users in computer stores / what ISPs > actually ship to their users. Real ATM exposing devices are rare. I'm looking at the class of device on which OpenWRT runs. Linux is *on* the router with the ADSL port, not connected to it via Ethernet. I can buy lots of these in the shop. Anything that's an ADSL *router* rather than *modem* is likely to be running, or at least capable of running, Linux. Admittedly, if you have access to the native ADSL interface then you'd do a lot better to run PPPoA — but I already fixed this issue for PPPoA. There are people in some parts of the world who are using PPPoEoA and putting up with the resulting MTU issues because the *ISP* doesn't support proper PPPoA. And even if it *were* rare... this is the case that *should* work best, where we have complete control of the hardware. There's no excuse for the behaviour that we currently see with PPPoE on BR2684. > > On the ISP side if the skb ends up sitting on a receive queue of a user > > socket, and nothing is servicing that socket, surely the transmits on > > this channel weren't happening anyway? > > True, but it's a design issue we've had to contend with elsewhere in the > various tunnelling protocols. > > Don't get me wrong: I am very much in favour of intelligent queue > management, but this approach simply does not work for the vast majority > of PPPoE users, while it adds overhead that will negatively impact access > concentrators. I think that's largely true of BQL in general, isn't it? That's OK; it's a config option. I suspect if I make this accounting of PPPoE / L2TP packets conditional on BQL (or perhaps on a separate config option PPP_BQL) that ought to address your concern about the cases where you don't need it? -- dwmw2