[Ns-developers] mac multicast filtering (was: ns-3.5 planning / mac multicast)

Tom Henderson tomh at tomh.org
Fri Apr 24 12:50:51 PDT 2009


> I think I can follow you. So this rises one question: Should the NetDevice
> API offer such optional functionality or not?
> 
> - If yes: There would be some methods AddMulticast() / RemoveMulticast().
> NetDevice implementations are free if and how they make use of this. L3
> protocols (like IP) would then be required to register their multicast
> addresses regardless what the NetDevice will do with it.
> 
> - If not: All NetDevices that implement multicast capability MUST guarantee
> that they forward up all incoming group frames (no multicast filtering at
> all). This condition is currently not true for all NetDevices (at least
> CsmaNetDevice and EmuNetDevice).

are you sure about that?  CsmaNetDevice::Receive() and 
EmuNetDevice::ForwardUp() suggests otherwise.

> 
> The second variant (not allowing multicast filtering) is much less difficult
> to realize (just remove all multicast related filtering). 

I would be fine with staying with this variant.

> To avoid further
> confusion, the Mac48Address::IsMulticast() method should be removed (or
> deprecated) since it's definition and it's actual behavior do not match (it
> is only checking for IPv4 derived multicast addresses, but not for ones that
> are derived from other L3 addresses like IPv6). 

Should this rather just be fixed to handle IPv6?  It seems that 
IsMulticast() is being used in device code to set the packetType.

Tom
> 



More information about the Ns-developers mailing list