flow-hash: Add symmetric flag for flow hashing
[vpp.git] / src / vnet / srv6 / sr.h
index 2014a23..2353b28 100755 (executable)
 
 #define SR_BEHAVIOR_END 1
 #define SR_BEHAVIOR_X 2
-#define SR_BEHAVIOR_D_FIRST 3  /* Unused. Separator in between regular and D */
-#define SR_BEHAVIOR_DX2 4
-#define SR_BEHAVIOR_DX6 5
-#define SR_BEHAVIOR_DX4 6
-#define SR_BEHAVIOR_DT6 7
-#define SR_BEHAVIOR_DT4 8
-#define SR_BEHAVIOR_LAST 9     /* Must always be the last one */
+#define SR_BEHAVIOR_T 3
+#define SR_BEHAVIOR_D_FIRST 4  /* Unused. Separator in between regular and D */
+#define SR_BEHAVIOR_DX2 5
+#define SR_BEHAVIOR_DX6 6
+#define SR_BEHAVIOR_DX4 7
+#define SR_BEHAVIOR_DT6 8
+#define SR_BEHAVIOR_DT4 9
+#define SR_BEHAVIOR_LAST 10    /* Must always be the last one */
 
 #define SR_STEER_L2 2
 #define SR_STEER_IPV4 4
@@ -275,6 +276,8 @@ sr_steering_policy (int is_del, ip6_address_t * bsid, u32 sr_policy_index,
                    u32 table_id, ip46_address_t * prefix, u32 mask_width,
                    u32 sw_if_index, u8 traffic_type);
 
+extern void sr_set_source (ip6_address_t * address);
+
 /**
  * @brief SR rewrite string computation for SRH insertion (inline)
  *
@@ -307,7 +310,8 @@ ip6_sr_compute_rewrite_string_insert (ip6_address_t * sl)
   addrp = srh->segments + vec_len (sl);
   vec_foreach (this_address, sl)
   {
-    clib_memcpy (addrp->as_u8, this_address->as_u8, sizeof (ip6_address_t));
+    clib_memcpy_fast (addrp->as_u8, this_address->as_u8,
+                     sizeof (ip6_address_t));
     addrp--;
   }
   return rs;