DPDK 25.03.0-rc0
rte_eth_bond.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2015 Intel Corporation
3 */
4
5#ifndef _RTE_ETH_BOND_H_
6#define _RTE_ETH_BOND_H_
7
20#include <rte_ether.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/* Supported modes of operation of link bonding library */
27
28#define BONDING_MODE_ROUND_ROBIN (0)
33#define BONDING_MODE_ACTIVE_BACKUP (1)
41#define BONDING_MODE_BALANCE (2)
48#define BONDING_MODE_BROADCAST (3)
53#define BONDING_MODE_8023AD (4)
71#define BONDING_MODE_TLB (5)
77#define BONDING_MODE_ALB (6)
87/* Balance Mode Transmit Policies */
88#define BALANCE_XMIT_POLICY_LAYER2 (0)
90#define BALANCE_XMIT_POLICY_LAYER23 (1)
92#define BALANCE_XMIT_POLICY_LAYER34 (2)
105int
106rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id);
107
116int
117rte_eth_bond_free(const char *name);
118
128int
129rte_eth_bond_member_add(uint16_t bonding_port_id, uint16_t member_port_id);
130
140int
141rte_eth_bond_member_remove(uint16_t bonding_port_id, uint16_t member_port_id);
142
152int
153rte_eth_bond_mode_set(uint16_t bonding_port_id, uint8_t mode);
154
163int
164rte_eth_bond_mode_get(uint16_t bonding_port_id);
165
175int
176rte_eth_bond_primary_set(uint16_t bonding_port_id, uint16_t member_port_id);
177
186int
187rte_eth_bond_primary_get(uint16_t bonding_port_id);
188
200int
201rte_eth_bond_members_get(uint16_t bonding_port_id, uint16_t members[],
202 uint16_t len);
203
216int
217rte_eth_bond_active_members_get(uint16_t bonding_port_id, uint16_t members[],
218 uint16_t len);
219
230int
231rte_eth_bond_mac_address_set(uint16_t bonding_port_id,
232 struct rte_ether_addr *mac_addr);
233
243int
244rte_eth_bond_mac_address_reset(uint16_t bonding_port_id);
245
257int
258rte_eth_bond_xmit_policy_set(uint16_t bonding_port_id, uint8_t policy);
259
268int
269rte_eth_bond_xmit_policy_get(uint16_t bonding_port_id);
270
282int
283rte_eth_bond_link_monitoring_set(uint16_t bonding_port_id, uint32_t internal_ms);
284
294int
295rte_eth_bond_link_monitoring_get(uint16_t bonding_port_id);
296
297
308int
310 uint32_t delay_ms);
311
321int
323
334int
335rte_eth_bond_link_up_prop_delay_set(uint16_t bonding_port_id,
336 uint32_t delay_ms);
337
347int
348rte_eth_bond_link_up_prop_delay_get(uint16_t bonding_port_id);
349
350
351#ifdef __cplusplus
352}
353#endif
354
355#endif
int rte_eth_bond_free(const char *name)
int rte_eth_bond_members_get(uint16_t bonding_port_id, uint16_t members[], uint16_t len)
int rte_eth_bond_mode_set(uint16_t bonding_port_id, uint8_t mode)
int rte_eth_bond_member_add(uint16_t bonding_port_id, uint16_t member_port_id)
int rte_eth_bond_link_up_prop_delay_set(uint16_t bonding_port_id, uint32_t delay_ms)
int rte_eth_bond_link_monitoring_get(uint16_t bonding_port_id)
int rte_eth_bond_primary_get(uint16_t bonding_port_id)
int rte_eth_bond_link_monitoring_set(uint16_t bonding_port_id, uint32_t internal_ms)
int rte_eth_bond_mac_address_reset(uint16_t bonding_port_id)
int rte_eth_bond_link_down_prop_delay_get(uint16_t bonding_port_id)
int rte_eth_bond_mode_get(uint16_t bonding_port_id)
int rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
int rte_eth_bond_link_down_prop_delay_set(uint16_t bonding_port_id, uint32_t delay_ms)
int rte_eth_bond_member_remove(uint16_t bonding_port_id, uint16_t member_port_id)
int rte_eth_bond_active_members_get(uint16_t bonding_port_id, uint16_t members[], uint16_t len)
int rte_eth_bond_link_up_prop_delay_get(uint16_t bonding_port_id)
int rte_eth_bond_xmit_policy_get(uint16_t bonding_port_id)
int rte_eth_bond_primary_set(uint16_t bonding_port_id, uint16_t member_port_id)
int rte_eth_bond_mac_address_set(uint16_t bonding_port_id, struct rte_ether_addr *mac_addr)
int rte_eth_bond_xmit_policy_set(uint16_t bonding_port_id, uint8_t policy)