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>
This commit is contained in:
Neale Ranns
2019-09-30 10:53:31 +00:00
committed by Ole Trøan
parent 96453fd241
commit cbe25aab3b
140 changed files with 13177 additions and 13405 deletions

View File

@ -127,9 +127,6 @@ defaultmapping = {
'want_bfd_events': {'enable_disable': 1, },
'want_igmp_events': {'enable': 1, },
'want_interface_events': {'enable_disable': 1, },
'want_ip4_arp_events': {'enable_disable': 1, 'ip': '0.0.0.0', },
'want_ip6_nd_events': {'enable_disable': 1, 'ip': '::', },
'want_ip6_ra_events': {'enable_disable': 1, },
'want_l2_macs_events': {'enable_disable': 1, },
}
@ -364,23 +361,6 @@ class VppPapiProvider(object):
"""
return cli + "\n" + self.cli(cli)
def want_ip4_arp_events(self, enable_disable=1, ip="0.0.0.0"):
return self.api(self.papi.want_ip4_arp_events,
{'enable_disable': enable_disable,
'ip': ip,
'pid': os.getpid(), })
def want_ip6_nd_events(self, enable_disable=1, ip="::"):
return self.api(self.papi.want_ip6_nd_events,
{'enable_disable': enable_disable,
'ip': ip,
'pid': os.getpid(), })
def want_ip6_ra_events(self, enable_disable=1):
return self.api(self.papi.want_ip6_ra_events,
{'enable_disable': enable_disable,
'pid': os.getpid(), })
def ip6nd_send_router_solicitation(self, sw_if_index, irt=1, mrt=120,
mrc=0, mrd=0):
return self.api(self.papi.ip6nd_send_router_solicitation,
@ -521,7 +501,7 @@ class VppPapiProvider(object):
return self.api(
self.papi.proxy_arp_intfc_enable_disable,
{'sw_if_index': sw_if_index,
'enable_disable': is_enable
'enable': is_enable
}
)