Create macro for next_nodes used in lookup family of nodes
This should help when adding new adjacency types Change-Id: I1832c6b7a80b6bc69ed83423a60511b7932f336f Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:

committed by
Gerrit Code Review

parent
ba22b8e6c1
commit
b270789741
@ -323,21 +323,7 @@ VLIB_REGISTER_NODE (ip4_classify_node) = {
|
||||
.error_strings = ip_classify_error_strings,
|
||||
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip4-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip4-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip4-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip4-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip4-arp",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite-transit",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip4-classify", /* probably not... */
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip4-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip4-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip4-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP4_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
static uword
|
||||
@ -358,21 +344,7 @@ VLIB_REGISTER_NODE (ip6_classify_node) = {
|
||||
.error_strings = ip_classify_error_strings,
|
||||
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip6-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip6-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip6-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip6-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip6-discover-neighbor",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip6-rewrite",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip6-classify", /* probably not... */
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip6-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip6-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip6-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP6_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
static clib_error_t *
|
||||
|
@ -1301,27 +1301,14 @@ ip4_sw_interface_add_del (vnet_main_t * vnm,
|
||||
|
||||
VNET_SW_INTERFACE_ADD_DEL_FUNCTION (ip4_sw_interface_add_del);
|
||||
|
||||
|
||||
VLIB_REGISTER_NODE (ip4_lookup_node) = {
|
||||
.function = ip4_lookup,
|
||||
.name = "ip4-lookup",
|
||||
.vector_size = sizeof (u32),
|
||||
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip4-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip4-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip4-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip4-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip4-arp",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite-transit",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip4-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip4-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip4-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip4-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP4_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
/* Global IP4 main. */
|
||||
@ -2979,21 +2966,7 @@ VLIB_REGISTER_NODE (ip4_lookup_multicast_node,static) = {
|
||||
.vector_size = sizeof (u32),
|
||||
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip4-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip4-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip4-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip4-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip4-arp",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite-transit",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip4-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip4-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip4-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip4-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP4_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
VLIB_REGISTER_NODE (ip4_multicast_node,static) = {
|
||||
|
@ -230,21 +230,7 @@ VLIB_REGISTER_NODE (ip4_hop_by_hop_node) = {
|
||||
|
||||
/* See ip/lookup.h */
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip4-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip4-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip4-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip4-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip4-arp",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite-transit",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip4-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip4-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip4-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip4-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop", /* probably not */
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP4_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
VLIB_REGISTER_NODE (ip4_add_hop_by_hop_node) = {
|
||||
@ -259,21 +245,7 @@ VLIB_REGISTER_NODE (ip4_add_hop_by_hop_node) = {
|
||||
|
||||
/* See ip/lookup.h */
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip4-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip4-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip4-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip4-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip4-arp",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite-transit",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip4-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip4-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip4-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip4-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop", /* probably not */
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP4_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
VLIB_REGISTER_NODE (ip4_pop_hop_by_hop_node) = {
|
||||
@ -288,21 +260,7 @@ VLIB_REGISTER_NODE (ip4_pop_hop_by_hop_node) = {
|
||||
|
||||
/* See ip/lookup.h */
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip4-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip4-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip4-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip4-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip4-arp",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite-transit",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip4-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip4-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip4-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip4-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop", /* probably not */
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP4_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
static clib_error_t *
|
||||
|
@ -1173,21 +1173,7 @@ VLIB_REGISTER_NODE (ip6_lookup_node) = {
|
||||
.vector_size = sizeof (u32),
|
||||
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip6-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip6-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip6-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip6-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip6-discover-neighbor",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip6-rewrite",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip6-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip6-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip6-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip6-sixrd",
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP6_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
|
@ -497,22 +497,7 @@ VLIB_REGISTER_NODE (ip6_hop_by_hop_node) = {
|
||||
|
||||
/* See ip/lookup.h */
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip6-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip6-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip6-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip6-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip6-discover-neighbor",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip6-rewrite",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip6-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip6-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip6-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip6-sixrd",
|
||||
/* Next 3 arcs probably never used */
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP6_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
/* The main h-b-h tracer will be invoked, no need to do much here */
|
||||
@ -729,22 +714,7 @@ VLIB_REGISTER_NODE (ip6_add_hop_by_hop_node) = {
|
||||
|
||||
/* See ip/lookup.h */
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip6-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip6-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip6-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip6-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip6-discover-neighbor",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip6-rewrite",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip6-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip6-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip6-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip6-sixrd",
|
||||
/* Next 3 arcs probably never used */
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP6_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
|
||||
@ -980,22 +950,7 @@ VLIB_REGISTER_NODE (ip6_pop_hop_by_hop_node) = {
|
||||
|
||||
/* See ip/lookup.h */
|
||||
.n_next_nodes = IP_LOOKUP_N_NEXT,
|
||||
.next_nodes = {
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip6-miss",
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip6-drop",
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip6-punt",
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip6-local",
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip6-discover-neighbor",
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip6-rewrite",
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip6-classify",
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip6-map",
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip6-map-t",
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip6-sixrd",
|
||||
/* Next 3 arcs probably never used */
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop",
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop",
|
||||
},
|
||||
.next_nodes = IP6_LOOKUP_NEXT_NODES,
|
||||
};
|
||||
|
||||
|
||||
|
@ -86,6 +86,38 @@ typedef enum {
|
||||
IP_LOOKUP_N_NEXT,
|
||||
} ip_lookup_next_t;
|
||||
|
||||
#define IP4_LOOKUP_NEXT_NODES { \
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip4-miss", \
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip4-drop", \
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip4-punt", \
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip4-local", \
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip4-arp", \
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite-transit", \
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip4-classify", \
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip4-map", \
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip4-map-t", \
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip4-sixrd", \
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop", \
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop", \
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop", \
|
||||
}
|
||||
|
||||
#define IP6_LOOKUP_NEXT_NODES { \
|
||||
[IP_LOOKUP_NEXT_MISS] = "ip6-miss", \
|
||||
[IP_LOOKUP_NEXT_DROP] = "ip6-drop", \
|
||||
[IP_LOOKUP_NEXT_PUNT] = "ip6-punt", \
|
||||
[IP_LOOKUP_NEXT_LOCAL] = "ip6-local", \
|
||||
[IP_LOOKUP_NEXT_ARP] = "ip6-discover-neighbor", \
|
||||
[IP_LOOKUP_NEXT_REWRITE] = "ip6-rewrite", \
|
||||
[IP_LOOKUP_NEXT_CLASSIFY] = "ip6-classify", \
|
||||
[IP_LOOKUP_NEXT_MAP] = "ip6-map", \
|
||||
[IP_LOOKUP_NEXT_MAP_T] = "ip6-map-t", \
|
||||
[IP_LOOKUP_NEXT_SIXRD] = "ip6-sixrd", \
|
||||
[IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop", \
|
||||
[IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop", \
|
||||
[IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop", \
|
||||
}
|
||||
|
||||
/* Flow hash configuration */
|
||||
#define IP_FLOW_HASH_SRC_ADDR (1<<0)
|
||||
#define IP_FLOW_HASH_DST_ADDR (1<<1)
|
||||
|
Reference in New Issue
Block a user