[Users] MDNS service discovery with VETH interface

Daniel Pittman daniel at rimspace.net
Mon Jun 4 10:09:27 EDT 2007


G'day.  I have a VE that I set up using a VETH interface rather than a
VENET interface so I could test ZeroConf service discovery and other
broadcast/multicast protocols.

I have the VETH device bridged with the physical Ethernet device on the
hardware node and can see standard broadcast packets without any
problem.

I don't see the multicast packets cross the interface boundary though;
it is my belief that the VETH device doesn't correctly handle the
packets being sent to the Ethernet MAC '01:00:5e:00:00:fb' 

This is running kernel '2.6.18-028stab033.1-ovz'


Have I missed some critical step in getting multicast services working
with the VETH device or so?


I think, reading the veth.c source, that the problem is in the veth_xmit
function on line 305 in the current HEAD in get -- the code tests:

  if (!is_broadcast_ether_addr(((struct ethhdr *)skb->data)->h_dest)) {

This should probably also pass a multicast packet through to the VE, not
just the broadcast packets.  That way multicast traffic is seen inside
the system.

The appropriate test would be 'is_multicast_ether_addr(...)' in addition
to the broadcast. 

I have not supplied a patch here because I don't know what, if any,
extra implications permitting multicast packets in have -- or if there
is some other mechanism that I have missed that would cause them to pass
through as expected.

Regards,
        Daniel
-- 
Digital Infrastructure Solutions -- making IT simple, stable and secure
Phone: 0401 155 707        email: contact at digital-infrastructure.com.au
                 http://digital-infrastructure.com.au/


More information about the Users mailing list