[<prev] [next>] [day] [month] [year] [list]
Message-ID: <97949e3e0804291842n3cebde08j6265a7e60177d1fe@mail.gmail.com>
Date: Tue, 29 Apr 2008 18:42:06 -0700
From: "Laurent Chavey" <chavey@...gle.com>
To: netdev@...r.kernel.org
Cc: "Laurent Chavey" <chavey@...gle.com>
Subject: [PATCH 2.6.25] bonding: Fix filtering of LLDP on inactive slave.
Modified the filtering of ingress packets on bonded interfaces to allow the
reception of LLDP packets on inactive slaves.
LLDP packets are point to point packets sent on every Ethernet link. LLPD
packets are use to pass L2 link layer information between a switch port
and a host. The later information can be useful in detecting invalid topologies
for inactive slave links (i.e a link member of a bond is not connected to the
same switch as the other bond members).
Signed-off-by: Laurent Chavey <chavey@...gle.com>
--
diff -uNr linux-2.6.25/include/linux/if_ether.h
linux-2.6.25/include/linux/if_ether.h
--- linux-2.6.25/include/linux/if_ether.h 2008-04-16 19:49:44.000000000 -0700
+++ linux-2.6.25/include/linux/if_ether.h 2008-04-29
18:13:03.000000000 -0700
@@ -76,6 +76,7 @@
*/
#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
#define ETH_P_TIPC 0x88CA /* TIPC */
+#define ETH_P_LLDP 0x88CC /* IEEE Std 802.1AB */
/*
* Non DIX types. Won't clash for 1500 types.
diff -uNr linux-2.6.25/include/linux/netdevice.h
linux-2.6.25/include/linux/netdevice.h
--- linux-2.6.25/include/linux/netdevice.h 2008-04-16 19:49:44.000000000 -0700
+++ linux-2.6.25/include/linux/netdevice.h 2008-04-29
18:12:02.000000000 -0700
@@ -1480,7 +1480,7 @@
}
/* On bonding slaves other than the currently active slave, suppress
- * duplicates except for 802.3ad ETH_P_SLOW, alb non-mcast/bcast, and
+ * duplicates except for LLDP, 802.3ad ETH_P_SLOW, alb non-mcast/bcast, and
* ARP on active-backup slaves with arp_validate enabled.
*/
static inline int skb_bond_should_drop(struct sk_buff *skb)
@@ -1503,6 +1503,9 @@
skb->protocol == __constant_htons(ETH_P_SLOW))
return 0;
+ if (skb->protocol == __constant_htons(ETH_P_LLDP))
+ return 0
+
return 1;
}
return 0;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists