From: Florin Coras Date: Sat, 3 May 2025 23:36:55 +0000 (-0400) Subject: udp: fix byte counts to not include headers X-Git-Tag: v25.10-rc0~40 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=02bf5817b4f352d640d4259a9c38c6b826bd361e;p=vpp.git udp: fix byte counts to not include headers Type: fix Change-Id: Ia3a8bbafedf2ee99a1a78c8fcc08e2b9420f938a Signed-off-by: Florin Coras --- diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c index 5cee206bbf0..0848936367d 100644 --- a/src/vnet/udp/udp.c +++ b/src/vnet/udp/udp.c @@ -266,6 +266,9 @@ udp_push_one_header (vlib_main_t *vm, udp_connection_t *uc, vlib_buffer_t *b, /* reuse tcp medatada for now */ vnet_buffer (b)->tcp.connection_index = uc->c_c_index; + uc->bytes_out += vlib_buffer_length_in_chain (vm, b); + uc->dgrams_out += 1; + if (!is_cless) { uh = vlib_buffer_push_udp (b, uc->c_lcl_port, uc->c_rmt_port); @@ -303,8 +306,6 @@ udp_push_one_header (vlib_main_t *vm, udp_connection_t *uc, vlib_buffer_t *b, vnet_buffer (b)->tcp.flags |= UDP_CONN_F_LISTEN; } - uc->bytes_out += vlib_buffer_length_in_chain (vm, b); - uc->dgrams_out += 1; uh->checksum = udp_compute_checksum (vm, b, udp_csum_offload (uc), uc->c_is_ip4); diff --git a/src/vnet/udp/udp_input.c b/src/vnet/udp/udp_input.c index e4aaa0c7218..ea53db5baf9 100644 --- a/src/vnet/udp/udp_input.c +++ b/src/vnet/udp/udp_input.c @@ -153,7 +153,7 @@ udp_connection_enqueue (udp_connection_t *uc0, session_t *s0, } else { - uc0->bytes_in += wrote0; + uc0->bytes_in += wrote0 - sizeof (session_dgram_hdr_t); uc0->dgrams_in += 1; } @@ -191,7 +191,7 @@ udp_connection_enqueue (udp_connection_t *uc0, session_t *s0, } else { - uc0->bytes_in += wrote0; + uc0->bytes_in += wrote0 - sizeof (session_dgram_hdr_t); uc0->dgrams_in += 1; } }