diff options
author | Neale Ranns <nranns@cisco.com> | 2019-09-30 10:53:31 +0000 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2019-12-17 10:56:20 +0000 |
commit | cbe25aab3be72154f2c706c39eeba6a77f34450f (patch) | |
tree | 131fb53b5ec973be045ffb9e2eb797af01d112a0 /src/vnet/l2/l2.api | |
parent | 96453fd2417ebd1d69354a7fb692976129cea80e (diff) |
ip: Protocol Independent IP Neighbors
Type: feature
- ip-neighbour: generic neighbour handling; APIs, DBs, event handling,
aging
- arp: ARP protocol implementation
- ip6-nd; IPv6 neighbor discovery implementation; separate ND,
MLD, RA
- ip6-link; manage link-local addresses
- l2-arp-term; events separated from IP neighbours, since they are not
the same.
vnet retains just enough education to perform ND/ARP packet
construction.
arp and ip6-nd to be moved to plugins soon.
Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/l2/l2.api')
-rw-r--r-- | src/vnet/l2/l2.api | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/src/vnet/l2/l2.api b/src/vnet/l2/l2.api index b0031ba16cc..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; }; @@ -598,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") |