the bonding device driver
*/
-option version = "2.0.0";
+option version = "2.1.0";
import "vnet/interface_types.api";
import "vnet/ethernet/ethernet_types.api";
/** \brief Delete bond interface
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param sw_if_index - interface index of slave interface
+ @param sw_if_index - interface index of member interface
*/
autoreply define bond_delete
{
*/
define bond_enslave
{
+ option deprecated="20.06";
u32 client_index;
u32 context;
vl_api_interface_index_t sw_if_index;
i32 retval;
};
+/** \brief Initialize a new bond interface with the given paramters
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - member sw_if_index
+ @param bond_sw_if_index - bond sw_if_index
+ @param is_passive - interface does not initiate the lacp protocol, remote must be active speaker
+ @param is_long_timeout - 90 seconds vs default 3 seconds neighbor timeout
+*/
+define bond_add_member
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_interface_index_t bond_sw_if_index;
+ bool is_passive;
+ bool is_long_timeout;
+};
+
+/** \brief Reply for bond add_member reply
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define bond_add_member_reply
+{
+ u32 context;
+ i32 retval;
+};
+
/** \brief bond detach slave
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param sw_if_index - interface index of slave interface
+ @param sw_if_index - interface index of member interface
*/
autoreply define bond_detach_slave
+{
+ option deprecated="20.06";
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+};
+
+/** \brief bond detach member
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - interface index of member interface
+*/
+autoreply define bond_detach_member
{
u32 client_index;
u32 context;
/** \brief Dump bond interfaces request */
define sw_interface_bond_dump
{
+ option deprecated="20.06";
u32 client_index;
u32 context;
};
/** \brief Reply for bond dump request
@param sw_if_index - software index of bond interface
@param id - ID of interface
+ @param interface_name - name of interface
@param mode - bonding mode
@param lb - load balance algo
@param numa_only - enable local numa TX for lacp mode
- @param active_slaves - active slaves count
- @param slaves - config slave count
- @param interface_name - name of interface
+ @param active_slaves - active member count
+ @param slaves - config member count
*/
define sw_interface_bond_details
{
string interface_name[64];
};
+/** \brief Dump bond interfaces request */
+define sw_bond_interface_dump
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index [default=0xffffffff];
+};
+
+/** \brief Reply for bond dump request
+ @param sw_if_index - software index of bond interface
+ @param id - ID of interface
+ @param mode - bonding mode
+ @param lb - load balance algo
+ @param numa_only - enable local numa TX for lacp mode
+ @param active_members - active members count
+ @param members - config member count
+ @param interface_name - name of interface
+*/
+define sw_bond_interface_details
+{
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ u32 id;
+ vl_api_bond_mode_t mode;
+ vl_api_bond_lb_algo_t lb;
+ bool numa_only;
+ u32 active_members;
+ u32 members;
+ string interface_name[64];
+};
+
/** \brief bond slave dump
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
*/
define sw_interface_slave_dump
{
+ option deprecated="20.06";
u32 client_index;
u32 context;
vl_api_interface_index_t sw_if_index;
u32 weight;
};
+/** \brief bond member dump
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - interface index of bond interface
+*/
+define sw_member_interface_dump
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+};
+
+/** \brief Reply for member dump request
+ @param sw_if_index - software index of member interface
+ @param interface_name - name of interface
+ @param is_passve - interface does not initiate the lacp protocol, remote must be active speaker
+ @param is_long_timeout - 90 seconds vs default 3 seconds neighbor timeout
+ @param is_local_numa - the member interface is local numa
+ @param weight - the weight for the member interface (active-backup mode only)
+*/
+define sw_member_interface_details
+{
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ string interface_name[64];
+ bool is_passive;
+ bool is_long_timeout;
+ bool is_local_numa;
+ u32 weight;
+};
+
/** \brief Interface set bond weight
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param sw_if_index - slave interface for which to set the weight
- @param weight - weight value to be set for the slave interface
+ @param sw_if_index - member interface for which to set the weight
+ @param weight - weight value to be set for the member interface
*/
autoreply define sw_interface_set_bond_weight
{