Hi, I've a question regarding bytes_received and bytes_sent. https://elixir.bootlin.com/linux/latest/source/net/ipv4/tcp_output.c#L1385 In net/ipv4/tcp_output.c if (skb->len != tcp_header_size) { tcp_event_data_sent(tp, sk); tp->data_segs_out += tcp_skb_pcount(skb); tp->bytes_sent += skb->len - tcp_header_size; } https://elixir.bootlin.com/linux/latest/source/net/ipv4/tcp_fastopen.c#L220 In net/ipv4/tcp_fastopen.c /* u64_stats_update_begin(&tp->syncp) not needed here, * as we certainly are not changing upper 32bit value (0) */ tp->bytes_received = skb->len; Above we miss tcp_header_size. 1. Shouldn't bytes_received be skb->len - tcp_header_size for consistency ? I'm not sure if skb->len - tcp_header_size is correct . 2. Should it not be skb->len - tcp_header_size - ip_header_size - skb->mac_len ? Can you please clarify on these ? Regards, Navin _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies