PAUSE support for Ethernet interfaces ?

Zaphod Beeblebrox zbeeble at gmail.com
Mon Mar 3 17:29:33 UTC 2008


On Mon, Mar 3, 2008 at 12:18 PM, Bruce M. Simpson <bms at freebsd.org> wrote:


> There are switch ASICs out there which implement upstream bandwidth
> limiting on ports by sending the PAUSE frame.
>
> I believe thompsa@ recently committed a fix to if_bridge to allow it to
> ignore PAUSE frames for the purposes of forwarding (they should never be
> forwarded, they are link scope only).
>
> It would be interesting to see a patch which implemented rate limiting
> in the same way as these ASICs do, but in if_bridge.


Being able to react to pause frames could give us the ability to react to
different speed ethernet-like devices like DSL modems and cable modems.
Right now, we can blast away at whatever the link speed is and only the TCP
semantics are keeping this under control.  One can use rate limiting a-la pf
and/or dummynet, but this has a very bad failure mode --- when the speed of
the link changes you end up choking the packets twice (once with the rate
limiting, once with the physical device) and for large numbers of tcp
streams (100's of users, say... or 10 bittorrent users) you can easily get
really bad failure modes when the available bandwidth changes.  I have
several links for which the bandwidth changes when the weather is very wet,
for instance.


More information about the freebsd-stable mailing list