James Carlson wrote:

>...
>On the receive side, it looks like I can just be a DLS client in
>promiscuous mode, and all should work fine.  The transmit side is much
>more complex.
>
>When any client transmits on a link that's attached to a bridge, the
>packet doesn't necessarily go out on that same link.  If the
>destination MAC address the sender is trying to contact is known to
>the bridge and is reachable through some other link on the bridge,
>then the bridge must first forward the packet to the proper link -- or
>it'll never reach the desired destination.[1]
>
>Unfortunately, it doesn't seem that there's either (a) a way to layer
>entities at the mac level without renaming them (no I_PUSH equivalent
>here) or (b) a single place where all these packets appear that could
>be modified with a simple "if (link->attached_to_bridge)" test.
>
>The solutions appear to be either modifying the relevant mac clients
>(currently just vnic_dev.c and dls.c) so that the common transmit
>functions there make a pass through bridging first, or modifying mac.c
>with yet another mi_tx* entry for this new case.  The former seems
>distasteful, but the latter just stresses an existing Nemo design
>problem (combinatorial explosion in tx functions).
>
>I'm going to attempt to do the hack at the mac.c layer to be sure that
>I catch all transmits, but if anyone has a better suggestion, I'm all
>ears.
>  
>
...

How do you intend to handle broadcast and multicast packets
that need to exit both links?

Darren

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to