tcp: in place tcp header for buffer resets 76/34376/2
authorFlorin Coras <fcoras@cisco.com>
Sat, 6 Nov 2021 03:21:42 +0000 (20:21 -0700)
committerFlorin Coras <florin.coras@gmail.com>
Sat, 6 Nov 2021 03:20:43 +0000 (03:20 +0000)
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2a5de36175bca1181ffd4a1865d41f0a1f6bc035

src/vnet/tcp/tcp_output.c

index cfdd1da..db42029 100644 (file)
@@ -613,11 +613,11 @@ tcp_buffer_make_reset (vlib_main_t *vm, vlib_buffer_t *b, u8 is_ip4)
 
   /* Zero all flags but free list index and trace flag */
   b->flags &= VLIB_BUFFER_NEXT_PRESENT - 1;
-  b->current_data = 0;
+  /* Make sure new tcp header comes after current ip */
+  b->current_data = ((u8 *) th - b->data) + sizeof (tcp_header_t);
   b->current_length = 0;
   b->total_length_not_including_first_buffer = 0;
   vnet_buffer (b)->tcp.flags = 0;
-  vlib_buffer_make_headroom (b, TRANSPORT_MAX_HDRS_LEN);
 
   /*
    * Add TCP and IP headers