Revert "Adj: VFTs for adjacency sub-blocks"
[vpp.git] / src / vnet / adj / adj_internal.h
index 3066862..3b7ddb2 100644 (file)
@@ -17,6 +17,7 @@
 #define __ADJ_INTERNAL_H__
 
 #include <vnet/adj/adj.h>
+#include <vnet/adj/adj_mcast.h>
 #include <vnet/ip/ip.h>
 #include <vnet/mpls/mpls.h>
 #include <vnet/adj/adj_l2.h>
@@ -77,6 +78,21 @@ adj_fib_proto_2_nd (fib_protocol_t fp)
     return (0);
 }
 
+static inline ip46_type_t
+adj_proto_to_46 (fib_protocol_t proto)
+{
+    switch (proto)
+    {
+    case FIB_PROTOCOL_IP4:
+       return (IP46_TYPE_IP4);
+    case FIB_PROTOCOL_IP6:
+       return (IP46_TYPE_IP6);
+    default:
+       return (IP46_TYPE_IP4);
+    }
+    return (IP46_TYPE_IP4);
+}
+
 /**
  * @brief
  * Get a pointer to an adjacency object from its index
@@ -87,11 +103,15 @@ adj_get_index (ip_adjacency_t *adj)
     return (adj - adj_pool);
 }
 
-extern void adj_nbr_update_rewrite_internal (ip_adjacency_t *adj,
-                                            ip_lookup_next_t adj_next_index,
-                                            u32 complete_next_index,
-                                            u32 next_index,
-                                            u8 *rewrite);
+extern void adj_nbr_update_rewrite_internal(ip_adjacency_t *adj,
+                                            ip_lookup_next_t adj_next_index,
+                                            u32 complete_next_index,
+                                            u32 next_index,
+                                            u8 *rewrite);
+extern void adj_midchain_setup(adj_index_t adj_index,
+                               adj_midchain_fixup_t fixup,
+                               const void *data,
+                               adj_flags_t flags);
 
 extern ip_adjacency_t * adj_alloc(fib_protocol_t proto);
 
@@ -105,4 +125,6 @@ extern void adj_glean_remove(fib_protocol_t proto,
 extern void adj_mcast_remove(fib_protocol_t proto,
                             u32 sw_if_index);
 
+extern u32 adj_dpo_get_urpf(const dpo_id_t *dpo);
+
 #endif