[PATCH net-next 0/3] net: use kfree_skb_reason() for ip/neighbour

From: menglong8 . dong
Date: Sun Feb 20 2022 - 10:58:51 EST


From: Menglong Dong <imagedong@xxxxxxxxxxx>

In the series "net: use kfree_skb_reason() for ip/udp packet receive",
reasons for skb drops are added to the packet receive process of IP
layer. Link:

https://lore.kernel.org/netdev/20220205074739.543606-1-imagedong@xxxxxxxxxxx/

And in the first patch of this series, skb drop reasons are added to
the packet egress path of IP layer. As kfree_skb() is not used frequent,
I commit these changes at once and didn't create a patch for every
functions that involed. Following functions are handled:

__ip_queue_xmit()
ip_finish_output()
ip_mc_finish_output()
ip6_output()
ip6_finish_output()
ip6_finish_output2()

Following new drop reasons are introduced (what they mean can be seen
in the document of them):

SKB_DROP_REASON_IP_OUTNOROUTES
SKB_DROP_REASON_BPF_CGROUP_EGRESS
SKB_DROP_REASON_IPV6DSIABLED

In the 2th and 3th patches, kfree_skb_reason() is used in neighbour
subsystem instead of kfree_skb(). __neigh_event_send() and
arp_error_report() are involed, and following new drop reasons are
introduced:

SKB_DROP_REASON_NEIGH_FAILED
SKB_DROP_REASON_NEIGH_QUEUEFULL


Menglong Dong (3):
net: ip: add skb drop reasons for ip egress path
net: neigh: use kfree_skb_reason() for __neigh_event_send()
net: neigh: add skb drop reasons to arp_error_report()

include/linux/skbuff.h | 22 ++++++++++++++++++++++
include/trace/events/skb.h | 6 ++++++
net/core/neighbour.c | 4 ++--
net/ipv4/arp.c | 2 +-
net/ipv4/ip_output.c | 6 +++---
net/ipv6/ip6_output.c | 6 +++---
6 files changed, 37 insertions(+), 9 deletions(-)

--
2.35.1