X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fl2%2Fl2.api;h=4b1029d90f8b9d90818b1b1008edd124d6d4f042;hb=bc764c8bc;hp=2164ca744066279b783f69975d3a8f8bc1df04ed;hpb=b474380f82b75d9640f9bf6ee78c891a6794dbfb;p=vpp.git diff --git a/src/vnet/l2/l2.api b/src/vnet/l2/l2.api index 2164ca74406..4b1029d90f8 100644 --- a/src/vnet/l2/l2.api +++ b/src/vnet/l2/l2.api @@ -14,7 +14,10 @@ * limitations under the License. */ -option version = "2.0.1"; +option version = "2.2.2"; + +import "vnet/ip/ip_types.api"; +import "vnet/ethernet/ethernet_types.api"; /** \brief Reply to l2_xconnect_dump @param context - sender context which was passed in the request @@ -244,6 +247,7 @@ autoreply define bridge_domain_set_mac_age @param forward - enable/disable forwarding on all interfaces in the bd @param learn - enable/disable learning on all interfaces in the bd @param arp_term - enable/disable arp termination in the bd + @param arp_ufwd - enable/disable arp unicast forwarding in the bd @param mac_age - mac aging time in min, 0 for disabled @param is_add - add or delete flag */ @@ -257,6 +261,7 @@ autoreply define bridge_domain_add_del u8 forward; u8 learn; u8 arp_term; + u8 arp_ufwd; u8 mac_age; u8 bd_tag[64]; u8 is_add; @@ -293,6 +298,7 @@ typeonly manual_print manual_endian define bridge_domain_sw_if @param forward - forwarding state on all interfaces in the bd @param learn - learning state on all interfaces in the bd @param arp_term - arp termination state on all interfaces in the bd + @param arp_ufwd - arp unicast forwarding state on all interfaces in the bd @param mac_age - mac aging time in min, 0 for disabled @param bd_tag - optional textual tag for the bridge domain @param n_sw_ifs - number of sw_if_index's in the domain @@ -306,6 +312,7 @@ manual_print manual_endian define bridge_domain_details u8 forward; u8 learn; u8 arp_term; + u8 arp_ufwd; u8 mac_age; u8 bd_tag[64]; u32 bvi_sw_if_index; @@ -317,11 +324,13 @@ manual_print manual_endian define bridge_domain_details /** \brief Flags that can be changed on a bridge domain */ enum bd_flags { + BRIDGE_API_FLAG_NONE = 0x0, BRIDGE_API_FLAG_LEARN = 0x1, BRIDGE_API_FLAG_FWD = 0x2, BRIDGE_API_FLAG_FLOOD = 0x4, BRIDGE_API_FLAG_UU_FLOOD = 0x8, BRIDGE_API_FLAG_ARP_TERM = 0x10, + BRIDGE_API_FLAG_ARP_UFWD = 0x20, }; /** \brief Set bridge flags request @@ -449,7 +458,7 @@ enum l2_port_type @param context - sender context, to match reply w/ request @param rx_sw_if_index - the interface @param bd_id - bridge domain id - @param bvi - Setup interface as a bvi, bridge mode only + @param port_type - port_mode, see #l2_port_type @param shg - Split horizon group, for bridge mode only @param enable - Enable beige mode if not 0, else set to L3 mode */ @@ -470,19 +479,34 @@ autoreply define sw_interface_set_l2_bridge @param context - sender context, to match reply w/ request @param bd_id - the bridge domain to set the flags for @param is_add - if non-zero, add the entry, else clear it - @param is_ipv6 - if non-zero, ipv6 address, else ipv4 address - @param mac_address - MAC address - @param + @param ip - ipv4 or ipv6 address + @param mac - MAC address */ + +typedef bd_ip_mac +{ + u32 bd_id; + vl_api_address_t ip; + vl_api_mac_address_t mac; +}; + autoreply define bd_ip_mac_add_del { u32 client_index; u32 context; - u32 bd_id; u8 is_add; - u8 is_ipv6; - u8 ip_address[16]; - u8 mac_address[6]; + vl_api_bd_ip_mac_t entry; +}; + +/** \brief Flush bridge domain IP to MAC entries + @param client_index - opaque cookie to identify the sender + @param bd_id - bridge domain identifier +*/ +autoreply define bd_ip_mac_flush +{ + u32 client_index; + u32 context; + u32 bd_id; }; /** \brief bridge domain IP to MAC entry details structure @@ -494,10 +518,7 @@ autoreply define bd_ip_mac_add_del define bd_ip_mac_details { u32 context; - u32 bd_id; - u8 is_ipv6; - u8 ip_address[16]; - u8 mac_address[6]; + vl_api_bd_ip_mac_t entry; }; /** \brief Dump bridge domain IP to MAC entries @@ -539,6 +560,44 @@ autoreply define sw_interface_set_vpath u8 enable; }; +/** \brief Create BVI interface instance request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param mac_address - mac addr to assign to the interface if none-zero + @param user_instance - requested instance, ~0 => dynamically allocate +*/ +define bvi_create +{ + u32 client_index; + u32 context; + vl_api_mac_address_t mac; + u32 user_instance; +}; + +/** \brief Create BVI interface instance response + @param context - sender context, to match reply w/ request + @param sw_if_index - sw index of the interface that was created + @param retval - return code for the request +*/ +define bvi_create_reply +{ + u32 context; + i32 retval; + u32 sw_if_index; +}; + +/** \brief Delete BVI interface request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param sw_if_index - sw index of the interface that was created +*/ +autoreply define bvi_delete +{ + u32 client_index; + u32 context; + u32 sw_if_index; +}; + /* * Local Variables: * eval: (c-set-style "gnu")