All of lore.kernel.org
 help / color / mirror / Atom feed
* Mismatch between tcp_output.c and tcp_fastopen.c in net/ipv4
@ 2021-03-23 13:26 Navin P
  0 siblings, 0 replies; 2+ messages in thread
From: Navin P @ 2021-03-23 13:26 UTC (permalink / raw)
  To: kernelnewbies

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@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Mismatch between tcp_output.c and tcp_fastopen.c in net/ipv4
@ 2021-03-30  8:59 Navin P
  0 siblings, 0 replies; 2+ messages in thread
From: Navin P @ 2021-03-30  8:59 UTC (permalink / raw)
  To: netdev

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  ?


Regards,
Navin

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-30  9:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-23 13:26 Mismatch between tcp_output.c and tcp_fastopen.c in net/ipv4 Navin P
2021-03-30  8:59 Navin P

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.