* limitations under the License.
*/
-option version = "3.0.0";
+option version = "3.2.3";
import "vnet/interface_types.api";
import "vnet/ethernet/ethernet_types.api";
vl_api_if_status_flags_t flags;
};
+/** \brief Set interface promiscuous mode
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - index of the interface to set flags on
+ @param promisc_on - promiscuous mode is on ?
+*/
+autoreply define sw_interface_set_promisc
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ bool promisc_on;
+};
+
/** \brief Set interface physical MTU
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param pbb_b_vlanid - B-tag vlanid
@param pbb_i_sid - I-tag service id
@param interface_name - name of the interface
+ @param interface_dev_type - device type of the interface
@param tag - an ascii tag
*/
define sw_interface_details
u32 i_sid;
/* Interface name */
- string interface_name;
- string tag;
+ string interface_name[64];
+ string interface_dev_type[64];
+ string tag[64];
};
/** \brief Request all or filtered subset of sw_interface_details
{
u32 client_index;
u32 context;
- vl_api_interface_index_t sw_if_index;
+ vl_api_interface_index_t sw_if_index [default=0xFFFFFFFF];
bool name_filter_valid;
- string name_filter;
+ string name_filter[];
};
/** \brief Set or delete one or all ip addresses on a specified interface
bool is_add;
bool del_all;
- vl_api_prefix_t prefix;
+ vl_api_address_with_prefix_t prefix;
+};
+
+/** \brief IP interface address replace begin
+
+ The use-case is that, for some unspecified reason, the control plane
+ has a different set of interface addresses than VPP
+ currently has. The CP would thus like to 'replace' VPP's set
+ only by specifying what the new set shall be, i.e. it is not
+ going to delete anything that already eixts, rather, is wants any
+ unspecified interface addresses to be deleted implicitly.
+ The CP declares the start of this procedure with this replace_begin
+ API Call, and when it has populated all addresses it wants, it calls
+ the below replace_end API. From this point on it is of course free
+ to add and delete interface addresses as usual.
+ The underlying mechanism by which VPP implements this replace is
+ intentionally left unspecified.
+
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+autoreply define sw_interface_address_replace_begin
+{
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief IP interface address replace end
+
+ see ip_interface_address_replace_begin description.
+
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+autoreply define sw_interface_address_replace_end
+{
+ u32 client_index;
+ u32 context;
};
/** \brief Associate the specified interface with a fib table
u32 context;
bool is_add;
vl_api_interface_index_t sw_if_index;
- string tag;
+ string tag[64];
+};
+
+/** \brief Add or delete a secondary MAC address on an interface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - the interface whose MAC will be set
+ @param mac_addr - the new MAC address
+ @param is_add - 0 to delete, != 0 to add
+*/
+autoreply define sw_interface_add_del_mac_address
+{
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ vl_api_mac_address_t addr;
+ u8 is_add;
};
/** \brief Set an interface's MAC address
bool is_main;
};
+/** \brief Set custom interface name
+ Set custom interface name for the interface.
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - the interface whose name will be set
+ @param name - the custom interface name to be set
+k
+*/
+autoreply define sw_interface_set_interface_name
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ string name[64];
+};
+
/** \brief dump the rx queue placement of interface(s)
@param sw_if_index - optional interface index for which queue placement to
be requested. sw_if_index = ~0 will dump placement information for all