-/** @brief Common (IP4/IP6) next index stored in adjacency. */
-typedef enum
-{
- /** Adjacency to drop this packet. */
- IP_LOOKUP_NEXT_DROP,
- /** Adjacency to punt this packet. */
- IP_LOOKUP_NEXT_PUNT,
-
- /** This packet is for one of our own IP addresses. */
- IP_LOOKUP_NEXT_LOCAL,
-
- /** This packet matches an "incomplete adjacency" and packets
- need to be passed to ARP to find rewrite string for
- this destination. */
- IP_LOOKUP_NEXT_ARP,
-
- /** This packet matches an "interface route" and packets
- need to be passed to ARP to find rewrite string for
- this destination. */
- IP_LOOKUP_NEXT_GLEAN,
-
- /** This packet is to be rewritten and forwarded to the next
- processing node. This is typically the output interface but
- might be another node for further output processing. */
- IP_LOOKUP_NEXT_REWRITE,
-
- /** This packets follow a load-balance */
- IP_LOOKUP_NEXT_LOAD_BALANCE,
-
- /** This packets follow a mid-chain adjacency */
- IP_LOOKUP_NEXT_MIDCHAIN,
-
- /** This packets needs to go to ICMP error */
- IP_LOOKUP_NEXT_ICMP_ERROR,
-
- /** Multicast Adjacency. */
- IP_LOOKUP_NEXT_MCAST,
-
- IP_LOOKUP_N_NEXT,
-} ip_lookup_next_t;
-
-typedef enum
-{
- IP4_LOOKUP_N_NEXT = IP_LOOKUP_N_NEXT,
-} ip4_lookup_next_t;
-
-typedef enum
-{
- /* Hop-by-hop header handling */
- IP6_LOOKUP_NEXT_HOP_BY_HOP = IP_LOOKUP_N_NEXT,
- IP6_LOOKUP_NEXT_ADD_HOP_BY_HOP,
- IP6_LOOKUP_NEXT_POP_HOP_BY_HOP,
- IP6_LOOKUP_N_NEXT,
-} ip6_lookup_next_t;
-
-#define IP4_LOOKUP_NEXT_NODES { \
- [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_GLEAN] = "ip4-glean", \
- [IP_LOOKUP_NEXT_REWRITE] = "ip4-rewrite", \
- [IP_LOOKUP_NEXT_MCAST] = "ip4-rewrite-mcast", \
- [IP_LOOKUP_NEXT_MIDCHAIN] = "ip4-midchain", \
- [IP_LOOKUP_NEXT_LOAD_BALANCE] = "ip4-load-balance", \
- [IP_LOOKUP_NEXT_ICMP_ERROR] = "ip4-icmp-error", \
-}
-
-#define IP6_LOOKUP_NEXT_NODES { \
- [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_GLEAN] = "ip6-glean", \
- [IP_LOOKUP_NEXT_REWRITE] = "ip6-rewrite", \
- [IP_LOOKUP_NEXT_MCAST] = "ip6-rewrite-mcast", \
- [IP_LOOKUP_NEXT_MIDCHAIN] = "ip6-midchain", \
- [IP_LOOKUP_NEXT_LOAD_BALANCE] = "ip6-load-balance", \
- [IP_LOOKUP_NEXT_ICMP_ERROR] = "ip6-icmp-error", \
- [IP6_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop", \
- [IP6_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop", \
- [IP6_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop", \
-}
-