Remove unused argument to vlib_feature_next 64/13564/2
authorDamjan Marion <damarion@cisco.com>
Thu, 19 Jul 2018 18:42:08 +0000 (20:42 +0200)
committerDamjan Marion <dmarion@me.com>
Thu, 19 Jul 2018 22:31:11 +0000 (22:31 +0000)
Change-Id: Ieb8b53977fc8484c19780941e232ee072b667de3
Signed-off-by: Damjan Marion <damarion@cisco.com>
27 files changed:
src/plugins/abf/abf_itf_attach.c
src/plugins/acl/dataplane_node.c
src/plugins/flowprobe/node.c
src/plugins/gbp/gbp_policy_dpo.c
src/plugins/gtpu/gtpu_decap.c
src/plugins/ila/ila.c
src/plugins/nat/out2in.c
src/plugins/stn/stn.c
src/vnet/bonding/node.c
src/vnet/dhcp/dhcp_client_detect.c
src/vnet/dpo/dvr_dpo.c
src/vnet/ethernet/p2p_ethernet_input.c
src/vnet/feature/feature.h
src/vnet/geneve/decap.c
src/vnet/interface_stats.c
src/vnet/ip/ip4_reassembly.c
src/vnet/ip/ip4_source_and_port_range_check.c
src/vnet/ip/ip4_source_check.c
src/vnet/ip/ip6_reassembly.c
src/vnet/ipsec/ipsec.h
src/vnet/ipsec/ipsec_input.c
src/vnet/l2tp/decap.c
src/vnet/qos/qos_mark.c
src/vnet/qos/qos_record.c
src/vnet/span/node.c
src/vnet/vxlan-gpe/decap.c
src/vnet/vxlan/decap.c

index 5373fc0..67aa5b1 100644 (file)
@@ -588,7 +588,7 @@ abf_input_inline (vlib_main_t * vm,
               * miss:
               *  move on down the feature arc
               */
-             vnet_feature_next (sw_if_index0, &next0, b0);
+             vnet_feature_next (&next0, b0);
            }
 
          if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
index 499ad16..3ca1be7 100644 (file)
@@ -275,7 +275,7 @@ acl_fa_node_fn (vlib_main_t * vm,
          if (is_l2_path)
            next0 = vnet_l2_feature_next (b[0], l2_feat_next_node_index, 0);
          else
-           vnet_feature_next (sw_if_index0, &next0, b[0]);
+           vnet_feature_next (&next0, b[0]);
        }
 #ifdef FA_NODE_VERBOSE_DEBUG
       clib_warning
index 9ac74cf..34f50aa 100644 (file)
@@ -774,10 +774,8 @@ flowprobe_node_fn (vlib_main_t * vm,
          b0 = vlib_get_buffer (vm, bi0);
          b1 = vlib_get_buffer (vm, bi1);
 
-         vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_TX],
-                            &next0, b0);
-         vnet_feature_next (vnet_buffer (b1)->sw_if_index[VLIB_TX],
-                            &next1, b1);
+         vnet_feature_next (&next0, b0);
+         vnet_feature_next (&next1, b1);
 
          len0 = vlib_buffer_length_in_chain (vm, b0);
          ethernet_header_t *eh0 = vlib_buffer_get_current (b0);
@@ -822,8 +820,7 @@ flowprobe_node_fn (vlib_main_t * vm,
 
          b0 = vlib_get_buffer (vm, bi0);
 
-         vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_TX],
-                            &next0, b0);
+         vnet_feature_next (&next0, b0);
 
          len0 = vlib_buffer_length_in_chain (vm, b0);
          ethernet_header_t *eh0 = vlib_buffer_get_current (b0);
index e2af1e6..4b8cd5b 100644 (file)
@@ -455,8 +455,7 @@ gbp_lpm_classify_inline (vlib_main_t * vm,
            {
              gpd0 = gbp_policy_dpo_get_i (dpo0->dpoi_index);
              src_epg0 = gpd0->gpd_epg;
-             vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_RX],
-                                &next0, b0);
+             vnet_feature_next (&next0, b0);
            }
          else
            {
index de23588..1aac8b5 100644 (file)
@@ -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)
            {
@@ -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
index fd56043..9313872 100644 (file)
@@ -517,8 +517,8 @@ ila_sir2ila (vlib_main_t * vm,
          ip61->dst_address.as_u64[0] = ila_address1->as_u64[0];
          ip61->dst_address.as_u64[1] = ila_address1->as_u64[1];
 
-         vnet_feature_next (vnet_buffer (p0)->sw_if_index[VLIB_RX], &next0, p0);
-         vnet_feature_next (vnet_buffer (p1)->sw_if_index[VLIB_RX], &next1, p1);
+         vnet_feature_next (&next0, p0);
+         vnet_feature_next (&next1, p1);
 
          vlib_validate_buffer_enqueue_x2 (vm, node, next_index, to_next,
                                           n_left_to_next, pi0, pi1, next0,
@@ -569,7 +569,7 @@ ila_sir2ila (vlib_main_t * vm,
          ip60->dst_address.as_u64[0] = ila_address0->as_u64[0];
          ip60->dst_address.as_u64[1] = ila_address0->as_u64[1];
 
-         vnet_feature_next (vnet_buffer (p0)->sw_if_index[VLIB_RX], &next0, p0);
+         vnet_feature_next (&next0, p0);
 
          vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next,
                                           n_left_to_next, pi0, next0);
index ecfabc9..26fc234 100755 (executable)
@@ -786,8 +786,7 @@ snat_out2in_node_fn (vlib_main_t * vm,
                      && (udp0->dst_port ==
                          clib_host_to_net_u16(UDP_DST_PORT_dhcp_to_client))))
                    {
-                     vnet_feature_next
-                       (vnet_buffer (b0)->sw_if_index[VLIB_RX], &next0, b0);
+                     vnet_feature_next (&next0, b0);
                      goto trace0;
                    }
 
@@ -938,8 +937,7 @@ snat_out2in_node_fn (vlib_main_t * vm,
                      && (udp1->dst_port ==
                          clib_host_to_net_u16(UDP_DST_PORT_dhcp_to_client))))
                    {
-                     vnet_feature_next
-                       (vnet_buffer (b1)->sw_if_index[VLIB_RX], &next1, b1);
+                     vnet_feature_next (&next1, b1);
                      goto trace1;
                    }
 
@@ -1126,8 +1124,7 @@ snat_out2in_node_fn (vlib_main_t * vm,
                      && (udp0->dst_port ==
                          clib_host_to_net_u16(UDP_DST_PORT_dhcp_to_client))))
                    {
-                     vnet_feature_next
-                       (vnet_buffer (b0)->sw_if_index[VLIB_RX], &next0, b0);
+                     vnet_feature_next (&next0, b0);
                      goto trace00;
                    }
 
@@ -1352,9 +1349,7 @@ nat44_out2in_reass_node_fn (vlib_main_t * vm,
                           && (udp0->dst_port
                               == clib_host_to_net_u16(UDP_DST_PORT_dhcp_to_client))))
                        {
-                          vnet_feature_next
-                            (vnet_buffer (b0)->sw_if_index[VLIB_RX],
-                             &next0, b0);
+                          vnet_feature_next (&next0, b0);
                           goto trace0;
                         }
 
@@ -2182,8 +2177,7 @@ nat44_ed_out2in_node_fn_inline (vlib_main_t * vm,
                           && (udp0->dst_port ==
                           clib_host_to_net_u16(UDP_DST_PORT_dhcp_to_client))))
                         {
-                          vnet_feature_next
-                            (vnet_buffer (b0)->sw_if_index[VLIB_RX], &next0, b0);
+                          vnet_feature_next (&next0, b0);
                           goto trace00;
                         }
 
@@ -2386,8 +2380,7 @@ nat44_ed_out2in_node_fn_inline (vlib_main_t * vm,
                           && (udp1->dst_port ==
                           clib_host_to_net_u16(UDP_DST_PORT_dhcp_to_client))))
                         {
-                          vnet_feature_next
-                            (vnet_buffer (b1)->sw_if_index[VLIB_RX], &next1, b1);
+                          vnet_feature_next (&next1, b1);
                           goto trace01;
                         }
 
@@ -2622,8 +2615,7 @@ nat44_ed_out2in_node_fn_inline (vlib_main_t * vm,
                           && (udp0->dst_port ==
                           clib_host_to_net_u16(UDP_DST_PORT_dhcp_to_client))))
                         {
-                          vnet_feature_next
-                            (vnet_buffer (b0)->sw_if_index[VLIB_RX], &next0, b0);
+                          vnet_feature_next (&next0, b0);
                           goto trace0;
                         }
 
@@ -3700,7 +3692,7 @@ snat_out2in_fast_node_fn (vlib_main_t * vm,
           sw_if_index0 = vnet_buffer(b0)->sw_if_index[VLIB_RX];
          rx_fib_index0 = ip4_fib_table_get_index_for_sw_if_index(sw_if_index0);
 
-         vnet_feature_next (sw_if_index0, &next0, b0);
+         vnet_feature_next (&next0, b0);
 
           if (PREDICT_FALSE(ip0->ttl == 1))
             {
index 9368e1c..e3f56d3 100644 (file)
@@ -147,7 +147,7 @@ stn_ip46_punt_fn (vlib_main_t * vm,
            }
           else
           {
-              vnet_feature_next (0, &next0, p0);
+              vnet_feature_next (&next0, p0);
           }
 
          if (PREDICT_FALSE (p0->flags & VLIB_BUFFER_IS_TRACED))
index 7abd7b0..ba3e8e3 100644 (file)
@@ -169,7 +169,7 @@ bond_update_next (vlib_main_t * vm, vlib_node_runtime_t * node,
 
   *bond_sw_if_index = bif->sw_if_index;
   *error = 0;
-  vnet_feature_next ( /* not used */ 0, next_index, b);
+  vnet_feature_next (next_index, b);
 }
 
 VLIB_NODE_FN (bond_input_node) (vlib_main_t * vm,
index f9ba4fe..de2702d 100644 (file)
@@ -131,14 +131,10 @@ dhcp_client_detect_node_fn (vlib_main_t * vm,
          ip2 = vlib_buffer_get_current (b2);
          ip3 = vlib_buffer_get_current (b2);
 
-         vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_TX],
-                            &next0, b0);
-         vnet_feature_next (vnet_buffer (b1)->sw_if_index[VLIB_TX],
-                            &next1, b1);
-         vnet_feature_next (vnet_buffer (b2)->sw_if_index[VLIB_TX],
-                            &next2, b2);
-         vnet_feature_next (vnet_buffer (b3)->sw_if_index[VLIB_TX],
-                            &next3, b3);
+         vnet_feature_next (&next0, b0);
+         vnet_feature_next (&next1, b1);
+         vnet_feature_next (&next2, b2);
+         vnet_feature_next (&next3, b3);
 
          if (ip0->protocol == IP_PROTOCOL_UDP)
            {
@@ -237,8 +233,7 @@ dhcp_client_detect_node_fn (vlib_main_t * vm,
           * assigned) we are looking for the preverbial needle in the haystack
           * so assume the packet is not the one we are looking for.
           */
-         vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_TX],
-                            &next0, b0);
+         vnet_feature_next (&next0, b0);
 
          /*
           * all we are looking for here is DHCP/BOOTP packet-to-client
index 39a8a63..4b440f8 100644 (file)
@@ -473,14 +473,12 @@ dvr_reinject_inline (vlib_main_t * vm,
             if (b0->flags & VNET_BUFFER_F_IS_DVR)
                 next0 = DVR_REINJECT_OUTPUT;
             else
-                vnet_feature_next(vnet_buffer(b0)->sw_if_index[VLIB_TX],
-                                  &next0, b0);
+                vnet_feature_next( &next0, b0);
 
             if (b1->flags & VNET_BUFFER_F_IS_DVR)
                 next1 = DVR_REINJECT_OUTPUT;
             else
-                vnet_feature_next(vnet_buffer(b1)->sw_if_index[VLIB_TX],
-                                  &next1, b1);
+                vnet_feature_next( &next1, b1);
 
             if (PREDICT_FALSE(b0->flags & VLIB_BUFFER_IS_TRACED))
             {
@@ -520,8 +518,7 @@ dvr_reinject_inline (vlib_main_t * vm,
             if (b0->flags & VNET_BUFFER_F_IS_DVR)
                 next0 = DVR_REINJECT_OUTPUT;
             else
-                vnet_feature_next(vnet_buffer(b0)->sw_if_index[VLIB_TX],
-                                  &next0, b0);
+                vnet_feature_next( &next0, b0);
 
             if (PREDICT_FALSE(b0->flags & VLIB_BUFFER_IS_TRACED))
             {
index 74e3bb8..2cae97d 100644 (file)
@@ -107,8 +107,8 @@ p2p_ethernet_input_node_fn (vlib_main_t * vm,
          en1 = vlib_buffer_get_current (b1);
          sw_if_index1 = vnet_buffer (b1)->sw_if_index[VLIB_RX];
 
-         vnet_feature_next (sw_if_index0, &next0, b0);
-         vnet_feature_next (sw_if_index1, &next1, b1);
+         vnet_feature_next (&next0, b0);
+         vnet_feature_next (&next1, b1);
 
          rx0 = p2p_ethernet_lookup (sw_if_index0, en0->src_address);
          rx1 = p2p_ethernet_lookup (sw_if_index1, en1->src_address);
@@ -186,7 +186,7 @@ p2p_ethernet_input_node_fn (vlib_main_t * vm,
          en0 = vlib_buffer_get_current (b0);
          sw_if_index0 = vnet_buffer (b0)->sw_if_index[VLIB_RX];
 
-         vnet_feature_next (sw_if_index0, &next0, b0);
+         vnet_feature_next (&next0, b0);
 
          rx0 = p2p_ethernet_lookup (sw_if_index0, en0->src_address);
          if (rx0 != ~0)
index 66ee97c..88a919f 100644 (file)
@@ -221,8 +221,8 @@ vnet_feature_arc_start (u8 arc, u32 sw_if_index, u32 * next0,
 }
 
 static_always_inline void *
-vnet_feature_next_with_data (u32 sw_if_index, u32 * next0,
-                            vlib_buffer_t * b0, u32 n_data_bytes)
+vnet_feature_next_with_data (u32 * next0, vlib_buffer_t * b0,
+                            u32 n_data_bytes)
 {
   vnet_feature_main_t *fm = &feature_main;
   u8 arc = vnet_buffer (b0)->feature_arc_index;
@@ -234,9 +234,9 @@ vnet_feature_next_with_data (u32 sw_if_index, u32 * next0,
 }
 
 static_always_inline void
-vnet_feature_next (u32 sw_if_index, u32 * next0, vlib_buffer_t * b0)
+vnet_feature_next (u32 * next0, vlib_buffer_t * b0)
 {
-  vnet_feature_next_with_data (sw_if_index, next0, b0, 0);
+  vnet_feature_next_with_data (next0, b0, 0);
 }
 
 static_always_inline int
index b17c6da..f525fa3 100644 (file)
@@ -943,10 +943,8 @@ ip_geneve_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)
            {
@@ -1161,8 +1159,7 @@ ip_geneve_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
index 1b07552..969f893 100644 (file)
@@ -121,7 +121,7 @@ stats_collect_inline (vlib_main_t * vm,
          stats_n_bytes[b0_ctype] += vlib_buffer_length_in_chain (vm, b0);
          stats_n_packets[b0_ctype] += 1;
 
-         vnet_feature_next (sw_if_index, &next0, b0);
+         vnet_feature_next (&next0, b0);
 
          vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next,
                                           n_left_to_next, bi0, next0);
index 2c9aabd..a88ee2f 100644 (file)
@@ -961,8 +961,7 @@ ip4_reassembly_inline (vlib_main_t * vm,
              n_left_to_next -= 1;
              if (is_feature && IP4_ERROR_NONE == error0)
                {
-                 vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_RX],
-                                    &next0, b0);
+                 vnet_feature_next (&next0, b0);
                }
              vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next,
                                               n_left_to_next, bi0, next0);
index 2889a89..1f9a32e 100644 (file)
@@ -449,8 +449,7 @@ ip4_source_and_port_range_check_inline (vlib_main_t * vm,
 
          ip0 = vlib_buffer_get_current (b0);
 
-         c0 = vnet_feature_next_with_data (sw_if_index0, &next0,
-                                           b0, sizeof (c0[0]));
+         c0 = vnet_feature_next_with_data (&next0, b0, sizeof (c0[0]));
 
          /* we can't use the default VRF here... */
          for (i = 0; i < IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS; i++)
index 25c5127..2e4226f 100644 (file)
@@ -150,14 +150,8 @@ ip4_source_check_inline (vlib_main_t * vm,
          ip0 = vlib_buffer_get_current (p0);
          ip1 = vlib_buffer_get_current (p1);
 
-         c0 =
-           vnet_feature_next_with_data (vnet_buffer (p0)->sw_if_index
-                                        [VLIB_RX], &next0, p0,
-                                        sizeof (c0[0]));
-         c1 =
-           vnet_feature_next_with_data (vnet_buffer (p1)->sw_if_index
-                                        [VLIB_RX], &next1, p1,
-                                        sizeof (c1[0]));
+         c0 = vnet_feature_next_with_data (&next0, p0, sizeof (c0[0]));
+         c1 = vnet_feature_next_with_data (&next1, p1, sizeof (c1[0]));
 
          mtrie0 = &ip4_fib_get (c0->fib_index)->mtrie;
          mtrie1 = &ip4_fib_get (c1->fib_index)->mtrie;
@@ -234,10 +228,7 @@ ip4_source_check_inline (vlib_main_t * vm,
          p0 = vlib_get_buffer (vm, pi0);
          ip0 = vlib_buffer_get_current (p0);
 
-         c0 =
-           vnet_feature_next_with_data (vnet_buffer (p0)->sw_if_index
-                                        [VLIB_RX], &next0, p0,
-                                        sizeof (c0[0]));
+         c0 = vnet_feature_next_with_data (&next0, p0, sizeof (c0[0]));
 
          mtrie0 = &ip4_fib_get (c0->fib_index)->mtrie;
 
index e84daf6..72df29c 100644 (file)
@@ -990,8 +990,7 @@ ip6_reassembly_inline (vlib_main_t * vm,
              n_left_to_next -= 1;
              if (is_feature && IP6_ERROR_NONE == error0)
                {
-                 vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_RX],
-                                    &next0, b0);
+                 vnet_feature_next (&next0, b0);
                }
              vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next,
                                               n_left_to_next, bi0, next0);
index d1aedb1..4d066c3 100644 (file)
@@ -378,11 +378,10 @@ get_next_output_feature_node_index (vlib_buffer_t * b,
                                    vlib_node_runtime_t * nr)
 {
   u32 next;
-  u32 sw_if_index = vnet_buffer (b)->sw_if_index[VLIB_TX];
   vlib_main_t *vm = vlib_get_main ();
   vlib_node_t *node = vlib_get_node (vm, nr->node_index);
 
-  vnet_feature_next (sw_if_index, &next, b);
+  vnet_feature_next (&next, b);
   return node->next_nodes[next];
 }
 
index d617555..b7bb07b 100644 (file)
@@ -209,10 +209,7 @@ ipsec_input_ip4_node_fn (vlib_main_t * vm,
          b0 = vlib_get_buffer (vm, bi0);
          b0->flags |= VNET_BUFFER_F_IS_IP4;
          b0->flags &= ~VNET_BUFFER_F_IS_IP6;
-         c0 =
-           vnet_feature_next_with_data (vnet_buffer (b0)->sw_if_index
-                                        [VLIB_RX], &next0, b0,
-                                        sizeof (c0[0]));
+         c0 = vnet_feature_next_with_data (&next0, b0, sizeof (c0[0]));
 
          spd0 = pool_elt_at_index (im->spds, c0->spd_index);
 
@@ -393,10 +390,7 @@ VLIB_NODE_FUNCTION_MULTIARCH (ipsec_input_ip4_node, ipsec_input_ip4_node_fn)
          b0 = vlib_get_buffer (vm, bi0);
          b0->flags |= VNET_BUFFER_F_IS_IP6;
          b0->flags &= ~VNET_BUFFER_F_IS_IP4;
-         c0 =
-           vnet_feature_next_with_data (vnet_buffer (b0)->sw_if_index
-                                        [VLIB_RX], &next0, b0,
-                                        sizeof (c0[0]));
+         c0 = vnet_feature_next_with_data (&next0, b0, sizeof (c0[0]));
 
          spd0 = pool_elt_at_index (im->spds, c0->spd_index);
 
index 4610412..304862b 100644 (file)
@@ -219,7 +219,7 @@ done:
        {
          /* Go to next node on the ip6 configuration chain */
          if (PREDICT_TRUE (session != 0))
-           vnet_feature_next (session->sw_if_index, &next_index, b);
+           vnet_feature_next (&next_index, b);
        }
     }
 
index 5dc87e8..38c66cb 100644 (file)
@@ -180,7 +180,7 @@ qos_mark_inline (vlib_main_t * vm,
                  ethernet_vlan_header_set_priority_net_order (vlan0, qos0);
                }
            }
-         vnet_feature_next (sw_if_index0, &next0, b0);
+         vnet_feature_next (&next0, b0);
 
          if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
            {
index b05cfe6..fb235e0 100644 (file)
@@ -138,7 +138,7 @@ qos_record_inline (vlib_main_t * vm,
          ip4_header_t *ip4_0;
          ip6_header_t *ip6_0;
          vlib_buffer_t *b0;
-         u32 sw_if_index0, next0, bi0;
+         u32 next0, bi0;
          qos_bits_t qos0;
          u8 l2_len;
 
@@ -184,7 +184,6 @@ qos_record_inline (vlib_main_t * vm,
          vnet_buffer2 (b0)->qos.bits = qos0;
          vnet_buffer2 (b0)->qos.source = QOS_SOURCE_IP;
          b0->flags |= VNET_BUFFER_F_QOS_DATA_VALID;
-         sw_if_index0 = vnet_buffer (b0)->sw_if_index[VLIB_RX];
 
          if (PREDICT_FALSE ((node->flags & VLIB_NODE_FLAG_TRACE) &&
                             (b0->flags & VLIB_BUFFER_IS_TRACED)))
@@ -203,7 +202,7 @@ qos_record_inline (vlib_main_t * vm,
                                            L2INPUT_FEAT_L2_IP_QOS_RECORD);
            }
          else
-           vnet_feature_next (sw_if_index0, &next0, b0);
+           vnet_feature_next (&next0, b0);
 
          /* verify speculative enqueue, maybe switch current next frame */
          vlib_validate_buffer_enqueue_x1 (vm, node, next_index,
index 13e92ab..4ac3a1d 100644 (file)
@@ -201,8 +201,8 @@ span_node_inline_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
              break;
            case SPAN_FEAT_DEVICE:
            default:
-             vnet_feature_next (sw_if_index0, &next0, b0);
-             vnet_feature_next (sw_if_index1, &next1, b1);
+             vnet_feature_next (&next0, b0);
+             vnet_feature_next (&next1, b1);
              break;
            }
 
@@ -242,7 +242,7 @@ span_node_inline_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
              break;
            case SPAN_FEAT_DEVICE:
            default:
-             vnet_feature_next (sw_if_index0, &next0, b0);
+             vnet_feature_next (&next0, b0);
              break;
            }
 
index 29a043f..975323d 100644 (file)
@@ -857,10 +857,8 @@ ip_vxlan_gpe_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)
            {
@@ -1073,8 +1071,7 @@ ip_vxlan_gpe_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)
            proto0 = ip40->protocol;
index f911801..20df5e2 100644 (file)
@@ -578,8 +578,8 @@ ip_vxlan_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)
            {
@@ -786,7 +786,7 @@ ip_vxlan_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