X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_pmd_bond%2Frte_eth_bond.h;h=4117a707659e2daa6353d9aa0f6aecd52b65e1e2;hb=200866003a89ebfb4720f20845f130cfc89cd9f2;hp=2ed4f7c05eaddbb501dd04b5478b5cd799e53854;hpb=a45b288ef21a5ab1da6bbe95a33404006c7cb051;p=dpdk.git diff --git a/lib/librte_pmd_bond/rte_eth_bond.h b/lib/librte_pmd_bond/rte_eth_bond.h index 2ed4f7c05e..4117a70765 100644 --- a/lib/librte_pmd_bond/rte_eth_bond.h +++ b/lib/librte_pmd_bond/rte_eth_bond.h @@ -77,6 +77,40 @@ extern "C" { * In this mode all transmitted packets will be transmitted on all available * active slaves of the bonded. */ #endif +#define BONDING_MODE_8023AD (4) +/**< 802.3AD (Mode 4). + * + * This mode provides auto negotiation/configuration + * of peers and well as link status changes monitoring using out of band + * LACP (link aggregation control protocol) messages. For further details of + * LACP specification see the IEEE 802.3ad/802.1AX standards. It is also + * described here + * https://www.kernel.org/doc/Documentation/networking/bonding.txt. + * + * Important Usage Notes: + * - for LACP mode to work the rx/tx burst functions must be invoked + * at least once every 100ms, otherwise the out-of-band LACP messages will not + * be handled with the expected latency and this may cause the link status to be + * incorrectly marked as down or failure to correctly negotiate with peers. + * - For optimal performance during initial handshaking the array of mbufs provided + * to rx_burst should be at least 2 times the slave count size. + * + */ +#define BONDING_MODE_TLB (5) +/**< Adaptive TLB (Mode 5) + * This mode provides an adaptive transmit load balancing. It dynamically + * changes the transmitting slave, according to the computed load. Statistics + * are collected in 100ms intervals and scheduled every 10ms */ +#define BONDING_MODE_ALB (6) +/**< Adaptive Load Balancing (Mode 6) + * This mode includes adaptive TLB and receive load balancing (RLB). In RLB the + * bonding driver intercepts ARP replies send by local system and overwrites its + * source MAC address, so that different peers send data to the server on + * different slave interfaces. When local system sends ARP request, it saves IP + * information from it. When ARP reply from that peer is received, its MAC is + * stored, one of slave MACs assigned and ARP reply send to that peer. + */ + /* Balance Mode Transmit Policies */ #define BALANCE_XMIT_POLICY_LAYER2 (0) /**< Layer 2 (Ethernet MAC) */ @@ -294,7 +328,6 @@ rte_eth_bond_link_down_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms) * link when the link down status has been detected * * @param bonded_port_id Port ID of bonded device. - * @param delay_ms Delay period in milliseconds. * * @return * Delay period on success, negative value otherwise. @@ -320,7 +353,6 @@ rte_eth_bond_link_up_prop_delay_set(uint8_t bonded_port_id, uint32_t delay_ms); * link when the link up status has been detected * * @param bonded_port_id Port ID of bonded device. - * @param delay_ms Delay period in milliseconds. * * @return * Delay period on success, negative value otherwise.