Add ILA plugin
[vpp.git] / vnet / vnet / ip / lookup.h
index a7aef9f..78a2641 100644 (file)
@@ -76,9 +76,6 @@ typedef enum {
   /* This packet needs to go to MAP with Translation - RFC7599 */
   IP_LOOKUP_NEXT_MAP_T,
 
-  /* This packets needs to go to 6RD (RFC5969) */
-  IP_LOOKUP_NEXT_SIXRD,
-
   /* This packets needs to go to indirect next hop */
   IP_LOOKUP_NEXT_INDIRECT,
 
@@ -109,7 +106,6 @@ typedef enum {
     [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_INDIRECT] = "ip4-indirect",                        \
     [IP_LOOKUP_NEXT_ICMP_ERROR] = "ip4-icmp-error",            \
 }
@@ -124,7 +120,6 @@ typedef enum {
     [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_INDIRECT] = "ip6-indirect",                        \
     [IP_LOOKUP_NEXT_ICMP_ERROR] = "ip6-icmp-error",            \
     [IP6_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop",           \
@@ -151,6 +146,7 @@ _(dport, IP_FLOW_HASH_DST_PORT)                 \
 _(proto, IP_FLOW_HASH_PROTO)                   \
 _(reverse, IP_FLOW_HASH_REVERSE_SRC_DST)
 
+#define IP_ADJACENCY_OPAQUE_SZ 16
 /* IP unicast adjacency. */
 typedef struct {
   CLIB_CACHE_LINE_ALIGN_MARK(cacheline0);
@@ -192,6 +188,7 @@ typedef struct {
     struct {
         ip46_address_t next_hop;
     } indirect;
+    u8 opaque[IP_ADJACENCY_OPAQUE_SZ];
   };
 
   STRUCT_MARK(signature_end);
@@ -536,7 +533,7 @@ ip_interface_address_for_packet (ip_lookup_main_t * lm, vlib_buffer_t * b, u32 s
                      vec_elt (lm->if_address_pool_index_by_sw_if_index, sw_if_index)
                      : if_address_index);
 
-  return pool_elt_at_index (lm->if_address_pool, if_address_index);
+  return (if_address_index != ~0)?pool_elt_at_index (lm->if_address_pool, if_address_index):NULL;
 }
 
 #define foreach_ip_interface_address(lm,a,sw_if_index,loop,body)        \