/* Built-in unicast feature path indices, see ip_feature_init_cast(...) */
u32 ip6_unicast_rx_feature_check_access;
+ u32 ip6_unicast_rx_feature_policer_classify;
u32 ip6_unicast_rx_feature_ipsec;
u32 ip6_unicast_rx_feature_l2tp_decap;
u32 ip6_unicast_rx_feature_vpath;
u32 ip6_multicast_rx_feature_vpath;
u32 ip6_multicast_rx_feature_lookup;
+ /* Save results for show command */
+ char ** feature_nodes[VNET_N_CAST];
+
/* Seed for Jenkins hash used to compute ip6 flow hash. */
u32 flow_hash_seed;
return 1;
}
-always_inline void
+always_inline int
ip6_src_address_for_packet (ip6_main_t * im, vlib_buffer_t * p, ip6_address_t * src, u32 sw_if_index)
{
ip_lookup_main_t * lm = &im->lookup_main;
ip_interface_address_t * ia = ip_interface_address_for_packet (lm, p, sw_if_index);
+ if (ia == NULL)
+ return -1;
ip6_address_t * a = ip_interface_address_get_address (lm, ia);
*src = a[0];
+ return 0;
}
always_inline u32
u32 next_hop_sw_if_index,
u32 next_hop_weight, u32 adj_index,
u32 explicit_fib_index);
+
+u32
+ip6_route_get_next_hop_adj (ip6_main_t * im,
+ u32 fib_index,
+ ip6_address_t *next_hop,
+ u32 next_hop_sw_if_index,
+ u32 explicit_fib_index);
+
u32
ip6_get_route (ip6_main_t * im,
u32 fib_index_or_table_id,
int
ip6_neighbor_ra_config(vlib_main_t * vm, u32 sw_if_index,
- u8 surpress, u8 managed, u8 other,
+ u8 suppress, u8 managed, u8 other,
u8 ll_option, u8 send_unicast, u8 cease,
u8 use_lifetime, u32 lifetime,
u32 initial_count, u32 initial_interval,