flow-hash: Add symmetric flag for flow hashing
[vpp.git] / src / vnet / ip / ip6_hop_by_hop.c
index 14fbb39..38cdbff 100644 (file)
@@ -46,7 +46,7 @@ ip6_hop_by_hop_ioam_main_t ip6_hop_by_hop_ioam_main;
 #define foreach_ip6_hbyh_ioam_input_next       \
   _(IP6_REWRITE, "ip6-rewrite")                        \
   _(IP6_LOOKUP, "ip6-lookup")                  \
-  _(DROP, "error-drop")
+  _(DROP, "ip6-drop")
 
 typedef enum
 {
@@ -103,7 +103,7 @@ ip6_hbh_add_register_option (u8 option,
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->add_options));
+  ASSERT ((u32) option < ARRAY_LEN (hm->add_options));
 
   /* Already registered */
   if (hm->add_options[option])
@@ -120,7 +120,7 @@ ip6_hbh_add_unregister_option (u8 option)
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->add_options));
+  ASSERT ((u32) option < ARRAY_LEN (hm->add_options));
 
   /* Not registered */
   if (!hm->add_options[option])
@@ -138,7 +138,7 @@ ip6_hbh_config_handler_register (u8 option,
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->config_handler));
+  ASSERT ((u32) option < ARRAY_LEN (hm->config_handler));
 
   /* Already registered  */
   if (hm->config_handler[option])
@@ -154,7 +154,7 @@ ip6_hbh_config_handler_unregister (u8 option)
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->config_handler));
+  ASSERT ((u32) option < ARRAY_LEN (hm->config_handler));
 
   /* Not registered */
   if (!hm->config_handler[option])
@@ -171,7 +171,7 @@ ip6_hbh_flow_handler_register (u8 option,
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->flow_handler));
+  ASSERT ((u32) option < ARRAY_LEN (hm->flow_handler));
 
   /* Already registered */
   if (hm->flow_handler[option])
@@ -187,7 +187,7 @@ ip6_hbh_flow_handler_unregister (u8 option)
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->flow_handler));
+  ASSERT ((u32) option < ARRAY_LEN (hm->flow_handler));
 
   /* Not registered */
   if (!hm->flow_handler[option])
@@ -321,8 +321,8 @@ ip6_add_hop_by_hop_node_fn (vlib_main_t * vm,
          hbh0 = (ip6_hop_by_hop_header_t *) (ip0 + 1);
          hbh1 = (ip6_hop_by_hop_header_t *) (ip1 + 1);
          /* $$$ tune, rewrite_length is a multiple of 8 */
-         clib_memcpy (hbh0, rewrite, rewrite_length);
-         clib_memcpy (hbh1, rewrite, rewrite_length);
+         clib_memcpy_fast (hbh0, rewrite, rewrite_length);
+         clib_memcpy_fast (hbh1, rewrite, rewrite_length);
          /* Patch the protocol chain, insert the h-b-h (type 0) header */
          hbh0->protocol = ip0->protocol;
          hbh1->protocol = ip1->protocol;
@@ -399,7 +399,7 @@ ip6_add_hop_by_hop_node_fn (vlib_main_t * vm,
 
          hbh0 = (ip6_hop_by_hop_header_t *) (ip0 + 1);
          /* $$$ tune, rewrite_length is a multiple of 8 */
-         clib_memcpy (hbh0, rewrite, rewrite_length);
+         clib_memcpy_fast (hbh0, rewrite, rewrite_length);
          /* Patch the protocol chain, insert the h-b-h (type 0) header */
          hbh0->protocol = ip0->protocol;
          ip0->protocol = 0;
@@ -484,7 +484,7 @@ ip6_hbh_pop_register_option (u8 option,
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->pop_options));
+  ASSERT ((u32) option < ARRAY_LEN (hm->pop_options));
 
   /* Already registered */
   if (hm->pop_options[option])
@@ -500,7 +500,7 @@ ip6_hbh_pop_unregister_option (u8 option)
 {
   ip6_hop_by_hop_ioam_main_t *hm = &ip6_hop_by_hop_ioam_main;
 
-  ASSERT (option < ARRAY_LEN (hm->pop_options));
+  ASSERT ((u32) option < ARRAY_LEN (hm->pop_options));
 
   /* Not registered */
   if (!hm->pop_options[option])
@@ -809,9 +809,9 @@ ip6_hop_by_hop_ioam_init (vlib_main_t * vm)
   hm->unix_time_0 = (u32) time (0);    /* Store starting time */
   hm->vlib_time_0 = vlib_time_now (vm);
   hm->ioam_flag = IOAM_HBYH_MOD;
-  memset (hm->add_options, 0, sizeof (hm->add_options));
-  memset (hm->pop_options, 0, sizeof (hm->pop_options));
-  memset (hm->options_size, 0, sizeof (hm->options_size));
+  clib_memset (hm->add_options, 0, sizeof (hm->add_options));
+  clib_memset (hm->pop_options, 0, sizeof (hm->pop_options));
+  clib_memset (hm->options_size, 0, sizeof (hm->options_size));
 
   vnet_classify_register_unformat_opaque_index_fn (unformat_opaque_ioam);