[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220314113225.151959-1-imagedong@tencent.com>
Date: Mon, 14 Mar 2022 19:32:22 +0800
From: menglong8.dong@...il.com
To: dsahern@...nel.org, kuba@...nel.org
Cc: davem@...emloft.net, rostedt@...dmis.org, mingo@...hat.com,
yoshfuji@...ux-ipv6.org, imagedong@...cent.com,
edumazet@...gle.com, kafai@...com, talalahmad@...gle.com,
keescook@...omium.org, alobakin@...me, dongli.zhang@...cle.com,
pabeni@...hat.com, maze@...gle.com, aahringo@...hat.com,
weiwan@...gle.com, yangbo.lu@....com, fw@...len.de,
tglx@...utronix.de, rpalethorpe@...e.com,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: [PATCH net-next 0/3] net: icmp: add skb drop reasons to icmp
From: Menglong Dong <imagedong@...cent.com>
In the commit c504e5c2f964 ("net: skb: introduce kfree_skb_reason()"),
we added the support of reporting the reasons of skb drops to kfree_skb
tracepoint. And in this series patches, reasons for skb drops are added
to ICMP protocol.
In order to report the reasons of skb drops in 'sock_queue_rcv_skb()',
the function 'sock_queue_rcv_skb_reason()' is introduced in the 1th
patch, which is used in the 2th patch.
In the 2th patch, we add skb drop reasons to ping_queue_rcv_skb().
In the 3th patch, we make ICMP message handler functions return drop
reasons, which means we change the return type of 'handler()' in
'struct icmp_control' from 'bool' to 'enum skb_drop_reason'. This
changed its original intention, as 'false' means failure, but
'SKB_NOT_DROPPED_YET', which is 0, means success now. Therefore, we
have to change all usages of these handler. Following "handler" functions
are involved:
icmp_unreach()
icmp_redirect()
icmp_echo()
icmp_timestamp()
icmp_discard()
And following drop reasons are added(what they mean can be see
in the document for them):
SKB_DROP_REASON_ICMP_CSUM
SKB_DROP_REASON_ICMP_TYPE
SKB_DROP_REASON_ICMP_BROADCAST
Menglong Dong (3):
net: sock: introduce sock_queue_rcv_skb_reason()
net: icmp: add skb drop reasons to ping_queue_rcv_skb()
net: icmp: add reasons of the skb drops to icmp protocol
include/linux/skbuff.h | 5 +++
include/net/ping.h | 2 +-
include/net/sock.h | 9 ++++-
include/trace/events/skb.h | 3 ++
net/core/sock.c | 30 ++++++++++++---
net/ipv4/icmp.c | 75 ++++++++++++++++++++++----------------
net/ipv4/ping.c | 21 ++++++-----
net/ipv6/icmp.c | 24 +++++++-----
8 files changed, 112 insertions(+), 57 deletions(-)
--
2.35.1
Powered by blists - more mailing lists