X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface.api;h=02d7a505a511950199a420022a6a13c54a2b4ac3;hb=e0792fdff;hp=cae2b65778ec84fdf56901de453da3de9b29d4a8;hpb=e63325e3ca03c847963863446345e6c80a2c0cfd;p=vpp.git diff --git a/src/vnet/interface.api b/src/vnet/interface.api index cae2b65778e..02d7a505a51 100644 --- a/src/vnet/interface.api +++ b/src/vnet/interface.api @@ -14,7 +14,7 @@ * limitations under the License. */ -option version = "3.0.0"; +option version = "3.2.0"; import "vnet/interface_types.api"; import "vnet/ethernet/ethernet_types.api"; @@ -77,7 +77,6 @@ autoreply define sw_interface_set_ip_directed_broadcast bool enable; }; - /** \brief Interface Event generated by want_interface_events @param client_index - opaque cookie to identify the sender @param pid - client pid registered to receive notification @@ -113,6 +112,7 @@ autoreply define want_interface_events @param sup_sw_if_index - index of parent interface if any, else same as sw_if_index @param l2_address - the interface's l2 address @param flags - interface_status flags + @param type - interface type @param link_duplex - 1 if half duplex, 2 if full duplex @param link_speed - value in kbps @param link_MTU - max. transmission unit @@ -147,6 +147,8 @@ define sw_interface_details vl_api_if_status_flags_t flags; + vl_api_if_type_t type; + /* 1 = half duplex, 2 = full duplex */ vl_api_link_duplex_t link_duplex; @@ -183,23 +185,26 @@ define sw_interface_details u32 i_sid; /* Interface name */ - string interface_name; - string tag; + string interface_name[64]; + string tag[64]; }; /** \brief Request all or filtered subset of sw_interface_details @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 dump info on, 0 or ~0 if on all + TODO: Support selecting only index==0 when CSIT is ready. @param name_filter_valid - 1 if requesting a filtered subset of records else 0 + if name filter is set as valid, sw_if_index value is ignored and all interfaces are examined @param name_filter - interface name substring filter. Eg. loop1 returns [loop1, loop10] */ - define sw_interface_dump { u32 client_index; u32 context; + vl_api_interface_index_t sw_if_index; bool name_filter_valid; - string name_filter; + string name_filter[]; }; /** \brief Set or delete one or all ip addresses on a specified interface @@ -218,7 +223,7 @@ autoreply define sw_interface_add_del_address bool is_add; bool del_all; - vl_api_prefix_t prefix; + vl_api_address_with_prefix_t prefix; }; /** \brief Associate the specified interface with a fib table @@ -226,7 +231,7 @@ autoreply define sw_interface_add_del_address @param context - sender context, to match reply w/ request @param sw_if_index - index of the interface @param is_ipv6 - if non-zero ipv6, else ipv4 - @param vrf_id - fib table/vrd id to associate the interface with + @param vrf_id - fib table/vrf id to associate the interface with */ autoreply define sw_interface_set_table { @@ -302,7 +307,23 @@ autoreply define sw_interface_tag_add_del 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