fix 802.3ad long fail over with high UDP Tx stress
Subsystems (3)
PATCH 1/10 fix 802.3ad long fail over with high UDP Tx stress
drivers/net/bonding/bond_3ad.c +12 -0
@@ -37,6 +37,16 @@* 2003/05/01 - Shmulik Hen <shmulik.hen at intel dot com> * - Renamed bond_3ad_link_status_changed() to * bond_3ad_handle_link_change() for compatibility with TLB. +* +* 2003/05/20 - Amir Noam <amir.noam at intel dot com> +* - Fix long fail over time when releasing last slave of an active +* aggregator - send LACPDU on unbind of slave to tell partner this +* port is no longer aggregatable. +* +* 2003/06/25 - Tsippy Mendelson <tsippy.mendelson at intel dot com> +* - Send LACPDU as highest priority packet to further fix the above +* problem on very high Tx traffic load where packets may get dropped +* by the slave. */ #include <linux/skbuff.h>
@@ -45,6 +55,7 @@#include <linux/spinlock.h> #include <linux/ethtool.h> #include <linux/if_bonding.h> +#include <linux/pkt_sched.h> #include "bonding.h" #include "bond_3ad.h"
@@ -905,6 +916,7 @@ static int ad_lacpdu_send(struct port *p skb->mac.raw = skb->data; skb->nh.raw = skb->data +ETH_HLEN ; skb->protocol =PKT_TYPE_LACPDU ; + skb->priority =TC_PRIO_CONTROL ; lacpdu_header = (struct lacpdu_header *)skb_put (skb, length);
drivers/net/bonding/bond_3ad.h +1 -1
@@ -165,7 +165,7 @@ typedef struct marker {// = 0x02 (marker response information) u8 marker_length;// = 0x16 u16 requester_port;// The number assigned to the port by the requester -struct mac_addr requester_system;// The requester’s system id +struct mac_addr requester_system;// The requester's system id u32 requester_transaction_id;// The transaction id allocated by the requester, u16 pad;// = 0 u8 tlv_type_terminator;// = 0x00