Re: When does Linux drop UDP packets?

From: Alexander Clouter
Date: Thu Jun 25 2009 - 03:38:24 EST


Hi,

* Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> [2009-06-25 14:13:48+0800]:
>
> On Wed, Jun 24, 2009 at 10:37:14PM -0700, david@xxxxxxx wrote:
> >
> > please explain more? how do they differ?
>
> An IGMP-snooping switch will only forward multicast traffic to
> ports that have subscribed to that group. Broadcast traffic
> on the otherhand is forwarded to all ports.
>
[directing over to David...]

The more intelligent switches actually peek at L3/L4 (even if it's just
a L2 switch, like a Cisco 2950) to decode IGMP packets as they come out
from the hosts. The switch uses that to build up an Ethernet multicast
routing table, in addition to it's usual unicast based one.

If you bought a managed switch in the past five years (ours from 8 years
ago that we have just binned also supported it) it should support
IGMP snooping. Any one buying switches now needs to make sure they
support IPv6 and MLD snooping...bearing in mind you are going to be
lumbered with those switches for at least five years.

In addition and mentioned before, the NIC in hardware will also filter
any multicast traffic that is un-needed if you are using el-cheapo
switches; crime and punishment. Broadcast traffic *always* spans the
whole VLAN and *always* gets passed up to the OS to make decisions on
whether to process the packet or not.

Now, when you roll back in the 'automaticness' of service discovery and
other such things on the network...multicast is a very powerful tool.
Just because it can be many<->many or one<->many does not mean it cannot
be just as efficiently used to bootstrap one<->one communications.

Cheers

--
Alexander Clouter
.sigmonster says: Don't take life seriously, you'll never get out alive.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/