diff options
author | David S. Miller <davem@davemloft.net> | 2014-03-15 06:21:04 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-15 06:21:04 +0400 |
commit | 4c4e4113db249c828fffb286bc95ffb255e081f5 (patch) | |
tree | ce8994f50bbedb7bf194814d0e491dc0de5d10f7 | |
parent | 21396689cc093f2ab7ae29c9937e94e51ae96732 (diff) | |
parent | 96a0922c2349ccfbf5583708c3602945a755c874 (diff) | |
download | linux-4c4e4113db249c828fffb286bc95ffb255e081f5.tar.xz |
Merge branch 'alb_learning'
Veaceslav Falico says:
====================
bonding: use correct ether type for alb
There have been reports that, while using the ETH_P_LOOP ether type
(0x0060), the ether type is treated as its packet length.
To avoid that and to not break already existing apps - add new ether type
ETH_P_LOOPBACK that contains the correct id - 0x9000.
====================
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
-rw-r--r-- | drivers/net/bonding/bond_alb.c | 2 | ||||
-rw-r--r-- | include/uapi/linux/if_ether.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index 9cf836b67b15..060b6117aeac 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c @@ -1005,7 +1005,7 @@ static void alb_send_lp_vid(struct slave *slave, u8 mac_addr[], memset(&pkt, 0, size); ether_addr_copy(pkt.mac_dst, mac_addr); ether_addr_copy(pkt.mac_src, mac_addr); - pkt.type = cpu_to_be16(ETH_P_LOOP); + pkt.type = cpu_to_be16(ETH_P_LOOPBACK); skb = dev_alloc_skb(size); if (!skb) diff --git a/include/uapi/linux/if_ether.h b/include/uapi/linux/if_ether.h index 750ba67e0dc3..0f8210b8e0bc 100644 --- a/include/uapi/linux/if_ether.h +++ b/include/uapi/linux/if_ether.h @@ -90,6 +90,7 @@ #define ETH_P_TDLS 0x890D /* TDLS */ #define ETH_P_FIP 0x8914 /* FCoE Initialization Protocol */ #define ETH_P_80221 0x8917 /* IEEE 802.21 Media Independent Handover Protocol */ +#define ETH_P_LOOPBACK 0x9000 /* Ethernet loopback packet, per IEEE 802.3 */ #define ETH_P_QINQ1 0x9100 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_QINQ2 0x9200 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_QINQ3 0x9300 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */ |