linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/9] net: add skb drop reasons to TCP packet receive
@ 2022-02-16  3:54 menglong8.dong
  2022-02-16  3:54 ` [PATCH net-next 1/9] net: tcp: introduce tcp_drop_reason() menglong8.dong
                   ` (9 more replies)
  0 siblings, 10 replies; 18+ messages in thread
From: menglong8.dong @ 2022-02-16  3:54 UTC (permalink / raw)
  To: dsahern, kuba
  Cc: edumazet, davem, rostedt, mingo, yoshfuji, ast, daniel, hawk,
	john.fastabend, imagedong, talalahmad, keescook,
	ilias.apalodimas, alobakin, memxor, atenart, bigeasy, pabeni,
	linyunsheng, arnd, yajun.deng, roopa, willemb, vvs, cong.wang,
	luiz.von.dentz, linux-kernel, netdev, bpf, flyingpeng

From: Menglong Dong <imagedong@tencent.com>

In this series patches, reasons for skb drops are added to TCP layer, and
both TCPv4 and TCPv6 are considered.

in this series patches, the process of packet ingress in TCP layer is
considered, as skb drops hardly happens in the egress path.

However, it's a little complex for TCP state processing, as I find that
it's hard to report skb drop reasons to where it is freed. For example,
when skb is dropped in tcp_rcv_state_process(), the reason can be caused
by the call of tcp_v4_conn_request(), and it's hard to return a drop
reason from tcp_v4_conn_request(). So I just skip such case for this
moment.


Menglong Dong (9):
  net: tcp: introduce tcp_drop_reason()
  net: tcp: add skb drop reasons to tcp_v4_rcv()
  net: tcp: use kfree_skb_reason() for tcp_v6_rcv()
  net: tcp: add skb drop reasons to tcp_v{4,6}_inbound_md5_hash()
  net: tcp: add skb drop reasons to tcp_add_backlog()
  net: tcp: use kfree_skb_reason() for tcp_v{4,6}_do_rcv()
  net: tcp: use tcp_drop_reason() for tcp_rcv_established()
  net: tcp: use tcp_drop_reason() for tcp_data_queue()
  net: tcp: use tcp_drop_reason() for tcp_data_queue_ofo()

 include/linux/skbuff.h     | 28 +++++++++++++++++++++++++
 include/net/tcp.h          |  3 ++-
 include/trace/events/skb.h | 10 +++++++++
 net/ipv4/tcp_input.c       | 42 +++++++++++++++++++++++++++++---------
 net/ipv4/tcp_ipv4.c        | 36 ++++++++++++++++++++++++--------
 net/ipv6/tcp_ipv6.c        | 42 +++++++++++++++++++++++++++++---------
 6 files changed, 131 insertions(+), 30 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2022-02-18  2:47 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-16  3:54 [PATCH net-next 0/9] net: add skb drop reasons to TCP packet receive menglong8.dong
2022-02-16  3:54 ` [PATCH net-next 1/9] net: tcp: introduce tcp_drop_reason() menglong8.dong
2022-02-16 15:58   ` Jakub Kicinski
2022-02-16 16:50     ` Steven Rostedt
2022-02-18  2:28       ` Menglong Dong
2022-02-16  3:54 ` [PATCH net-next 2/9] net: tcp: add skb drop reasons to tcp_v4_rcv() menglong8.dong
2022-02-17  4:06   ` David Ahern
2022-02-16  3:54 ` [PATCH net-next 3/9] net: tcp: use kfree_skb_reason() for tcp_v6_rcv() menglong8.dong
2022-02-17  4:07   ` David Ahern
2022-02-16  3:54 ` [PATCH net-next 4/9] net: tcp: add skb drop reasons to tcp_v{4,6}_inbound_md5_hash() menglong8.dong
2022-02-16  3:54 ` [PATCH net-next 5/9] net: tcp: add skb drop reasons to tcp_add_backlog() menglong8.dong
2022-02-16  3:54 ` [PATCH net-next 6/9] net: tcp: use kfree_skb_reason() for tcp_v{4,6}_do_rcv() menglong8.dong
2022-02-16 15:55   ` Jakub Kicinski
2022-02-16  3:54 ` [PATCH net-next 7/9] net: tcp: use tcp_drop_reason() for tcp_rcv_established() menglong8.dong
2022-02-16  3:54 ` [PATCH net-next 8/9] net: tcp: use tcp_drop_reason() for tcp_data_queue() menglong8.dong
2022-02-16  3:54 ` [PATCH net-next 9/9] net: tcp: use tcp_drop_reason() for tcp_data_queue_ofo() menglong8.dong
2022-02-16 17:04 ` [PATCH net-next 0/9] net: add skb drop reasons to TCP packet receive Eric Dumazet
2022-02-18  2:42   ` Menglong Dong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).