[Server-devel] Using bridges and interrupt load
alex.dupuy at mac.com
Thu Sep 4 12:16:50 EDT 2008
> In the XS networking infrastructure we sometimes setup a bridge with
> an IP address and netblock (as you would with an interface) and then
> if-and-when the HW interface comes up, we assign the interface to the
> But it is starting to worry me that when we use this technique, the
> physical interface is brought up in promiscuous mode, and it is left
> to the kernel networking stack to decide what frames are meant for us,
> and what frames are not.
> On interfaces where there is considerable traffic -- a 1Gb LAN for
> example with a cheap non-switching hub -- there could be quite a bit
> of traffic not meant for us. This naturally means more interrupts.
If the only purpose of the bridge devices is to "hold IP configuration"
for enslaved physical interfaces (and not to provide layer-2 bridging
between e.g. different mesh channels so that broadcast / discovery works
between the different channels) then you might be able to use the
channel bonding (bond0, bond1, etc.) driver instead. If you need
bridging for the mesh interfaces, but not the LAN and/or WAN interfaces,
you could mix-and-match both types of master (virtual) interfaces.
The channel bonding interface will propagate promiscuous mode from the
master to slave devices, but does not put the slave devices into
promiscuous mode otherwise. And it is entirely feasible to have just
one slave device for a channel bonding master.
mailto:alex.dupuy at mac.com
More information about the Server-devel