ikev2: add support for custom ipsec-over-udp port
[vpp.git] / src / vnet / srv6 / sr_steering.c
index a888fea..566ba1f 100755 (executable)
@@ -69,7 +69,7 @@ sr_steering_policy (int is_del, ip6_address_t * bsid, u32 sr_policy_index,
   ip6_sr_policy_t *sr_policy = 0;
   uword *p = 0;
 
-  memset (&key, 0, sizeof (sr_steering_key_t));
+  clib_memset (&key, 0, sizeof (sr_steering_key_t));
 
   /* Compute the steer policy key */
   if (traffic_type == SR_STEER_IPV4 || traffic_type == SR_STEER_IPV6)
@@ -135,9 +135,13 @@ sr_steering_policy (int is_del, ip6_address_t * bsid, u32 sr_policy_index,
          else if (steer_pl->classify.traffic_type == SR_STEER_L2)
            {
              /* Remove HW redirection */
-             vnet_feature_enable_disable ("device-input",
-                                          "sr-policy-rewrite-encaps-l2",
-                                          sw_if_index, 0, 0, 0);
+             int ret = vnet_feature_enable_disable ("device-input",
+                                                    "sr-pl-rewrite-encaps-l2",
+                                                    sw_if_index, 0, 0, 0);
+
+             if (ret != 0)
+               return -1;
+
              sm->sw_iface_sr_policies[sw_if_index] = ~(u32) 0;
 
              /* Remove promiscous mode from interface */
@@ -245,12 +249,12 @@ sr_steering_policy (int is_del, ip6_address_t * bsid, u32 sr_policy_index,
 
   /* Create a new steering policy */
   pool_get (sm->steer_policies, steer_pl);
-  memset (steer_pl, 0, sizeof (*steer_pl));
+  clib_memset (steer_pl, 0, sizeof (*steer_pl));
 
   if (traffic_type == SR_STEER_IPV4 || traffic_type == SR_STEER_IPV6)
     {
-      clib_memcpy (&steer_pl->classify.l3.prefix, prefix,
-                  sizeof (ip46_address_t));
+      clib_memcpy_fast (&steer_pl->classify.l3.prefix, prefix,
+                       sizeof (ip46_address_t));
       steer_pl->classify.l3.mask_width = mask_width;
       steer_pl->classify.l3.fib_table =
        (table_id != (u32) ~ 0 ? table_id : 0);
@@ -379,7 +383,7 @@ sr_steer_policy_command_fn (vlib_main_t * vm, unformat_input_t * input,
 
   u8 sr_policy_set = 0;
 
-  memset (&prefix, 0, sizeof (ip46_address_t));
+  clib_memset (&prefix, 0, sizeof (ip46_address_t));
 
   int rv;
   while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)