MAP: Add API support for setting parameters.
[vpp.git] / src / plugins / gtpu / gtpu_decap.c
index fc74e7c..b2ac553 100644 (file)
@@ -87,7 +87,7 @@ gtpu_input (vlib_main_t * vm,
   if (is_ip4)
     last_key4.as_u64 = ~0;
   else
-    memset (&last_key6, 0xff, sizeof (last_key6));
+    clib_memset (&last_key6, 0xff, sizeof (last_key6));
 
   from = vlib_frame_vector_args (from_frame);
   n_left_from = from_frame->n_vectors;
@@ -213,7 +213,7 @@ gtpu_input (vlib_main_t * vm,
               tunnel_index0 = last_tunnel_index;
            t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
 
-           /* Validate GTPU tunnel encap-fib index agaist packet */
+           /* Validate GTPU tunnel encap-fib index against packet */
            if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
              {
                error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
@@ -256,14 +256,14 @@ gtpu_input (vlib_main_t * vm,
                     next0 = GTPU_INPUT_NEXT_DROP;
                     goto trace0;
                   }
-                clib_memcpy (&last_key6, &key6_0, sizeof(key6_0));
+                clib_memcpy_fast (&last_key6, &key6_0, sizeof(key6_0));
                 tunnel_index0 = last_tunnel_index = p0[0];
               }
             else
               tunnel_index0 = last_tunnel_index;
            t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
 
-           /* Validate GTPU tunnel encap-fib index agaist packet */
+           /* Validate GTPU tunnel encap-fib index against packet */
            if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
              {
                error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
@@ -387,7 +387,7 @@ gtpu_input (vlib_main_t * vm,
               tunnel_index1 = last_tunnel_index;
            t1 = pool_elt_at_index (gtm->tunnels, tunnel_index1);
 
-           /* Validate GTPU tunnel encap-fib index agaist packet */
+           /* Validate GTPU tunnel encap-fib index against packet */
            if (PREDICT_FALSE (validate_gtpu_fib (b1, t1, is_ip4) == 0))
              {
                error1 = GTPU_ERROR_NO_SUCH_TUNNEL;
@@ -432,14 +432,14 @@ gtpu_input (vlib_main_t * vm,
                     goto trace1;
                   }
 
-                clib_memcpy (&last_key6, &key6_1, sizeof(key6_1));
+                clib_memcpy_fast (&last_key6, &key6_1, sizeof(key6_1));
                 tunnel_index1 = last_tunnel_index = p1[0];
               }
             else
               tunnel_index1 = last_tunnel_index;
            t1 = pool_elt_at_index (gtm->tunnels, tunnel_index1);
 
-           /* Validate GTPU tunnel encap-fib index agaist packet */
+           /* Validate GTPU tunnel encap-fib index against packet */
            if (PREDICT_FALSE (validate_gtpu_fib (b1, t1, is_ip4) == 0))
              {
                error1 = GTPU_ERROR_NO_SUCH_TUNNEL;
@@ -616,7 +616,7 @@ gtpu_input (vlib_main_t * vm,
               tunnel_index0 = last_tunnel_index;
            t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
 
-           /* Validate GTPU tunnel encap-fib index agaist packet */
+           /* Validate GTPU tunnel encap-fib index against packet */
            if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
              {
                error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
@@ -659,14 +659,14 @@ gtpu_input (vlib_main_t * vm,
                     next0 = GTPU_INPUT_NEXT_DROP;
                     goto trace00;
                   }
-                clib_memcpy (&last_key6, &key6_0, sizeof(key6_0));
+                clib_memcpy_fast (&last_key6, &key6_0, sizeof(key6_0));
                 tunnel_index0 = last_tunnel_index = p0[0];
               }
             else
               tunnel_index0 = last_tunnel_index;
            t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
 
-           /* Validate GTPU tunnel encap-fib index agaist packet */
+           /* Validate GTPU tunnel encap-fib index against packet */
            if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
              {
                error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
@@ -933,8 +933,8 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
            }
 
          /* Setup packet for next IP feature */
-         vnet_feature_next(vnet_buffer(b0)->sw_if_index[VLIB_RX], &next0, b0);
-         vnet_feature_next(vnet_buffer(b1)->sw_if_index[VLIB_RX], &next1, b1);
+         vnet_feature_next(&next0, b0);
+         vnet_feature_next(&next1, b1);
 
          if (is_ip4)
            {
@@ -982,7 +982,7 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
            }
 
          flags0 = b0->flags;
-         good_udp0 = (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+         good_udp0 = (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 
          /* Don't verify UDP checksum for packets with explicit zero checksum. */
          good_udp0 |= udp0->checksum == 0;
@@ -998,14 +998,14 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
          /* Verify UDP checksum */
          if (PREDICT_FALSE (!good_udp0))
            {
-             if ((flags0 & IP_BUFFER_L4_CHECKSUM_COMPUTED) == 0)
+             if ((flags0 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0)
                {
                  if (is_ip4)
                    flags0 = ip4_tcp_udp_validate_checksum (vm, b0);
                  else
                    flags0 = ip6_tcp_udp_icmp_validate_checksum (vm, b0);
                  good_udp0 =
-                   (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+                   (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
                }
            }
 
@@ -1064,7 +1064,7 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
            }
 
          flags1 = b1->flags;
-         good_udp1 = (flags1 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+         good_udp1 = (flags1 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 
          /* Don't verify UDP checksum for packets with explicit zero checksum. */
          good_udp1 |= udp1->checksum == 0;
@@ -1080,14 +1080,14 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
          /* Verify UDP checksum */
          if (PREDICT_FALSE (!good_udp1))
            {
-             if ((flags1 & IP_BUFFER_L4_CHECKSUM_COMPUTED) == 0)
+             if ((flags1 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0)
                {
                  if (is_ip4)
                    flags1 = ip4_tcp_udp_validate_checksum (vm, b1);
                  else
                    flags1 = ip6_tcp_udp_icmp_validate_checksum (vm, b1);
                  good_udp1 =
-                   (flags1 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+                   (flags1 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
                }
            }
 
@@ -1141,7 +1141,7 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
            ip60 = vlib_buffer_get_current (b0);
 
          /* Setup packet for next IP feature */
-         vnet_feature_next(vnet_buffer(b0)->sw_if_index[VLIB_RX], &next0, b0);
+         vnet_feature_next(&next0, b0);
 
          if (is_ip4)
            /* Treat IP4 frag packets as "experimental" protocol for now
@@ -1182,7 +1182,7 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
            }
 
          flags0 = b0->flags;
-         good_udp0 = (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+         good_udp0 = (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 
          /* Don't verify UDP checksum for packets with explicit zero checksum. */
          good_udp0 |= udp0->checksum == 0;
@@ -1198,14 +1198,14 @@ ip_gtpu_bypass_inline (vlib_main_t * vm,
          /* Verify UDP checksum */
          if (PREDICT_FALSE (!good_udp0))
            {
-             if ((flags0 & IP_BUFFER_L4_CHECKSUM_COMPUTED) == 0)
+             if ((flags0 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0)
                {
                  if (is_ip4)
                    flags0 = ip4_tcp_udp_validate_checksum (vm, b0);
                  else
                    flags0 = ip6_tcp_udp_icmp_validate_checksum (vm, b0);
                  good_udp0 =
-                   (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+                   (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
                }
            }