[Server-devel] Using bridges and interrupt load

Alexander Dupuy 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
> bridge.
> 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.

@alex

-- 
mailto:alex.dupuy at mac.com



More information about the Server-devel mailing list