OSDN Git Service

bonding: use the correct ether type for alb
authorVeaceslav Falico <vfalico@redhat.com>
Thu, 13 Mar 2014 11:41:58 +0000 (12:41 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Mar 2014 02:20:57 +0000 (22:20 -0400)
Currently it's using the wrong ETH_P_LOOP type, which is sometimes treated
as packet length instead of ether type (because it's 0x0060).

Use the new ETH_P_LOOPBACK type.

CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_alb.c

index 9cf836b..060b611 100644 (file)
@@ -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)