]> err.no Git - linux-2.6/commitdiff
[LLC]: multicast receive device match
authorStephen Hemminger <shemminger@osdl.org>
Mon, 14 Aug 2006 01:56:26 +0000 (18:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Aug 2006 01:56:26 +0000 (18:56 -0700)
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>
net/llc/llc_sap.c

index 42eb0c3a97804aa3726999107da0cf65a8cd16a5..61cb8cf7d1532a4d4b1abd51244e863fc7e8b887 100644 (file)
@@ -330,6 +330,9 @@ static void llc_sap_mcast(struct llc_sap *sap,
                if (llc->laddr.lsap != laddr->lsap)
                        continue;
 
+               if (llc->dev != skb->dev)
+                       continue;
+
                skb1 = skb_clone(skb, GFP_ATOMIC);
                if (!skb1)
                        break;