ip: leverage existing vlib_buffer_advance 69/22169/2
authorZhiyong Yang <[email protected]>
Wed, 26 Jun 2019 02:41:55 +0000 (22:41 -0400)
committerAndrew Yourtchenko <[email protected]>
Sat, 21 Sep 2019 08:27:10 +0000 (08:27 +0000)
The function ip4_rewrite_inline_with_gso can leverage
the existing vlib_buffer_advance to simplify code.

Type: fix

Change-Id: I25d943dc78aba2f67654385cf3f693eb01e0210e
Signed-off-by: Zhiyong Yang <[email protected]>
(cherry picked from commit a6659214aa7be7fe9fa04fbdc744affaaa8324ec)

src/vnet/ip/ip4_forward.c

index 21fe8c0..ecb3595 100644 (file)
@@ -2517,8 +2517,7 @@ ip4_rewrite_inline_with_gso (vlib_main_t * vm,
       if (PREDICT_TRUE (error0 == IP4_ERROR_NONE))
        {
          u32 next_index = adj0[0].rewrite_header.next_index;
-         b[0]->current_data -= rw_len0;
-         b[0]->current_length += rw_len0;
+         vlib_buffer_advance (b[0], -(word) rw_len0);
          tx_sw_if_index0 = adj0[0].rewrite_header.sw_if_index;
          vnet_buffer (b[0])->sw_if_index[VLIB_TX] = tx_sw_if_index0;
 
@@ -2535,8 +2534,7 @@ ip4_rewrite_inline_with_gso (vlib_main_t * vm,
       if (PREDICT_TRUE (error1 == IP4_ERROR_NONE))
        {
          u32 next_index = adj1[0].rewrite_header.next_index;
-         b[1]->current_data -= rw_len1;
-         b[1]->current_length += rw_len1;
+         vlib_buffer_advance (b[1], -(word) rw_len1);
 
          tx_sw_if_index1 = adj1[0].rewrite_header.sw_if_index;
          vnet_buffer (b[1])->sw_if_index[VLIB_TX] = tx_sw_if_index1;
@@ -2653,8 +2651,7 @@ ip4_rewrite_inline_with_gso (vlib_main_t * vm,
       if (PREDICT_TRUE (error0 == IP4_ERROR_NONE))
        {
          u32 next_index = adj0[0].rewrite_header.next_index;
-         b[0]->current_data -= rw_len0;
-         b[0]->current_length += rw_len0;
+         vlib_buffer_advance (b[0], -(word) rw_len0);
          tx_sw_if_index0 = adj0[0].rewrite_header.sw_if_index;
          vnet_buffer (b[0])->sw_if_index[VLIB_TX] = tx_sw_if_index0;