diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-08-13 21:56:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-08-13 21:56:26 -0400 |
commit | 7ee66fcb94cb8be77d5f34cce7d315d11759f9c1 (patch) | |
tree | b42e1a84e1f75d85ad12cfc2b90dbf8a4c6a7447 /net/llc/llc_sap.c | |
parent | d49c73c729e2ef644558a1f441c044bfacdc9744 (diff) |
[LLC]: multicast receive device match
Fix from Aji_Srinivas@emc.com, STP packets are incorrectly received on
all LLC datagram sockets, whichever interface they are bound to. The
llc_sap datagram receive logic sends packets with a unicast
destination MAC to one socket bound to that SAP and MAC, and multicast
packets to all sockets bound to that SAP. STP packets are multicast,
and we do need to know on which interface they were received.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/llc/llc_sap.c')
-rw-r--r-- | net/llc/llc_sap.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/llc/llc_sap.c b/net/llc/llc_sap.c index 42eb0c3a9780..61cb8cf7d153 100644 --- a/net/llc/llc_sap.c +++ b/net/llc/llc_sap.c | |||
@@ -330,6 +330,9 @@ static void llc_sap_mcast(struct llc_sap *sap, | |||
330 | if (llc->laddr.lsap != laddr->lsap) | 330 | if (llc->laddr.lsap != laddr->lsap) |
331 | continue; | 331 | continue; |
332 | 332 | ||
333 | if (llc->dev != skb->dev) | ||
334 | continue; | ||
335 | |||
333 | skb1 = skb_clone(skb, GFP_ATOMIC); | 336 | skb1 = skb_clone(skb, GFP_ATOMIC); |
334 | if (!skb1) | 337 | if (!skb1) |
335 | break; | 338 | break; |