VPP-19: Split the lookup.h IP_LOOKUP_NEXT enum. 50/1550/3
authorOle Troan <ot@cisco.com>
Tue, 14 Jun 2016 19:12:32 +0000 (21:12 +0200)
committerDave Barach <openvpp@barachs.net>
Thu, 16 Jun 2016 18:05:51 +0000 (18:05 +0000)
commitf0f852251c885fc5f73125a4365cf356feeb0cdd
tree27174d12213ccc53fb9bf2a85b9643eb93e5d7df
parent81f7092d34d9ce2c674fb0ff7683188231d1b773
VPP-19: Split the lookup.h IP_LOOKUP_NEXT enum.

IP4 and IP6 nodes currently shares the adj->lookup_next_index. That
has some issues, e.g. that one has to add non-functional nodes like
ip4-hop-by-hop and that anyone dynamically adding nodes to any of the
IP4/IP6 lookup nodes must ensure they add themselves to all relevant
nodes to ensure next index consistency.

This patch splits the IP_LOOKUP_NEXT into separate enums for IP4 and
IP6 with a common part for next-nodes used by both. It sets up other
IP nodes as siblings to avoid inconsistencies. This allows IP4 and IP6
lookup next nodes to evolve independently. The adj->lookup_next_index is
still shared, assuming that an IP4 adjacency isn't used by an
IP6 graph node.

Change-Id: I589b8364fe54e7a10c059b7ef9d6707eb0a345cc
Signed-off-by: Ole Troan <ot@cisco.com>
vnet/Makefile.am
vnet/vnet/classify/ip_classify.c
vnet/vnet/ip/ip4_forward.c
vnet/vnet/ip/ip4_hop_by_hop.c [deleted file]
vnet/vnet/ip/ip6_forward.c
vnet/vnet/ip/ip6_hop_by_hop.c
vnet/vnet/ip/ip6_neighbor.c
vnet/vnet/ip/ip_init.c
vnet/vnet/ip/lookup.h
vnet/vnet/mpls-gre/mpls.h
vnet/vnet/mpls-gre/policy_encap.c