X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Flookup.h;h=93e1e029b4194aed37cf8e65d82198c001378274;hb=3048b63de968ef616baf14e1abbb6502bd4fdcbc;hp=a89546f5d92ed9687a648e859f47763d90750af1;hpb=595992c5c3b5abbdb7e90e61acbee212f25ad59f;p=vpp.git diff --git a/src/vnet/ip/lookup.h b/src/vnet/ip/lookup.h index a89546f5d92..93e1e029b41 100644 --- a/src/vnet/ip/lookup.h +++ b/src/vnet/ip/lookup.h @@ -111,6 +111,7 @@ typedef enum IP_LOCAL_NEXT_PUNT, IP_LOCAL_NEXT_UDP_LOOKUP, IP_LOCAL_NEXT_ICMP, + IP_LOCAL_NEXT_REASSEMBLY, IP_LOCAL_N_NEXT, } ip_local_next_t; @@ -211,6 +212,20 @@ do { \ } while (0) /* *INDENT-ON* */ +always_inline void +ip_lookup_set_buffer_fib_index (u32 * fib_index_by_sw_if_index, + vlib_buffer_t * b) +{ + /* *INDENT-OFF* */ + vnet_buffer (b)->ip.fib_index = + vec_elt (fib_index_by_sw_if_index, vnet_buffer (b)->sw_if_index[VLIB_RX]); + vnet_buffer (b)->ip.fib_index = + ((vnet_buffer (b)->sw_if_index[VLIB_TX] == (u32) ~ 0) ? + vnet_buffer (b)->ip.fib_index : + vnet_buffer (b)->sw_if_index[VLIB_TX]); + /* *INDENT-ON* */ +} + typedef struct _vnet_ip_container_proxy_args { fib_prefix_t prefix; @@ -224,7 +239,6 @@ clib_error_t *vnet_ip_container_proxy_add_del (vnet_ip_container_proxy_args_t void ip_lookup_init (ip_lookup_main_t * lm, u32 ip_lookup_node_index); #endif /* included_ip_lookup_h */ - /* * fd.io coding-style-patch-verification: ON *