VPP-243 - Coding style changes - updated emacs LISP styleify
[vpp.git] / vnet / vnet / ip / ip6.h
index 312e398..3d6c9f4 100644 (file)
@@ -148,6 +148,7 @@ typedef struct ip6_main_t {
 
   /* 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;
@@ -157,6 +158,9 @@ typedef struct ip6_main_t {
   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;
 
@@ -289,13 +293,16 @@ ip6_unaligned_destination_matches_route (ip6_main_t * im,
   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
@@ -383,6 +390,14 @@ void ip6_add_del_route_next_hop (ip6_main_t * im,
                                 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,
@@ -462,7 +477,7 @@ int vnet_set_ip6_flow_hash (u32 table_id, u32 flow_hash_config);
 
 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,