X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fl2%2Fl2.api;h=06663595cf73cad5afb86a773b2f1b5bcdf370a5;hb=cbe25aab3be72154f2c706c39eeba6a77f34450f;hp=1c2873fdf3c2397cb115131cc7f9c4ceb99074f7;hpb=5e6f7348cf456cffc85dae8bc6857589061122ba;p=vpp.git diff --git a/src/vnet/l2/l2.api b/src/vnet/l2/l2.api index 1c2873fdf3c..06663595cf7 100644 --- a/src/vnet/l2/l2.api +++ b/src/vnet/l2/l2.api @@ -18,6 +18,7 @@ option version = "2.2.2"; import "vnet/ip/ip_types.api"; import "vnet/ethernet/ethernet_types.api"; +import "vnet/interface_types.api"; /** \brief Reply to l2_xconnect_dump @param context - sender context which was passed in the request @@ -154,7 +155,7 @@ autoreply define want_l2_macs_events u32 learn_limit; u8 scan_delay; u8 max_macs_in_event; - u8 enable_disable; + bool enable_disable; u32 pid; }; @@ -165,7 +166,7 @@ autoreply define want_l2_macs_events 3 => MAC move (sw_if_index changed) @param flags - flag bits to provide other info, not yet used */ -typeonly define mac_entry +typedef mac_entry { u32 sw_if_index; u8 mac_addr[6]; @@ -284,7 +285,7 @@ define bridge_domain_dump @param sw_if_index - sw_if_index in the domain @param shg - split horizon group for the interface */ -typeonly manual_print manual_endian define bridge_domain_sw_if +typedef bridge_domain_sw_if { u32 context; u32 sw_if_index; @@ -479,18 +480,23 @@ 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; - vl_api_address_t ip; - vl_api_mac_address_t mac; + vl_api_bd_ip_mac_t entry; }; /** \brief Flush bridge domain IP to MAC entries @@ -513,10 +519,7 @@ autoreply define bd_ip_mac_flush define bd_ip_mac_details { u32 context; - u32 bd_id; - u8 is_ipv6; - u8 ip_address[16]; - vl_api_mac_address_t mac_address; + vl_api_bd_ip_mac_t entry; }; /** \brief Dump bridge domain IP to MAC entries @@ -596,6 +599,43 @@ autoreply define bvi_delete u32 sw_if_index; }; +/** \brief Register for IP4 ARP resolution event on receing ARP reply or + MAC/IP info from ARP requests in L2 BDs + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param enable - 1 => register for events, 0 => cancel registration + @param pid - sender's pid +*/ +autoreply define want_l2_arp_term_events +{ + u32 client_index; + u32 context; + bool enable; + u32 pid; +}; + +/** \brief Tell client about an IP4 ARP resolution event or + MAC/IP info from ARP requests in L2 BDs + @param client_index - opaque cookie to identify the sender + @param pid - client pid registered to receive notification + @param ip - IP address of new ARP term entry + @param sw_if_index - interface of new ARP term entry + @param mac - MAC address of new ARP term entry +*/ +define l2_arp_term_event +{ + u32 client_index; + u32 pid; + vl_api_address_t ip; + vl_api_interface_index_t sw_if_index; + vl_api_mac_address_t mac; +}; + +service { + rpc want_l2_arp_term_events returns want_l2_arp_term_events_reply + events l2_arp_term_event; +}; + /* * Local Variables: * eval: (c-set-style "gnu")