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]
