summaryrefslogtreecommitdiffstats
path: root/src/vnet/bonding/bond.api
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/bonding/bond.api')
-rw-r--r--src/vnet/bonding/bond.api122
1 files changed, 114 insertions, 8 deletions
diff --git a/src/vnet/bonding/bond.api b/src/vnet/bonding/bond.api
index 865dcbe0857..682298e9084 100644
--- a/src/vnet/bonding/bond.api
+++ b/src/vnet/bonding/bond.api
@@ -19,7 +19,7 @@
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";
@@ -80,7 +80,7 @@ define bond_create_reply
/** \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
{
@@ -99,6 +99,7 @@ autoreply define bond_delete
*/
define bond_enslave
{
+ option deprecated="20.06";
u32 client_index;
u32 context;
vl_api_interface_index_t sw_if_index;
@@ -117,13 +118,54 @@ define bond_enslave_reply
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;
vl_api_interface_index_t sw_if_index;
@@ -132,6 +174,7 @@ autoreply define bond_detach_slave
/** \brief Dump bond interfaces request */
define sw_interface_bond_dump
{
+ option deprecated="20.06";
u32 client_index;
u32 context;
};
@@ -139,12 +182,12 @@ define sw_interface_bond_dump
/** \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
{
@@ -159,6 +202,37 @@ 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
@@ -166,6 +240,7 @@ define sw_interface_bond_details
*/
define sw_interface_slave_dump
{
+ option deprecated="20.06";
u32 client_index;
u32 context;
vl_api_interface_index_t sw_if_index;
@@ -190,11 +265,42 @@ define sw_interface_slave_details
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
{