| From: |
| menglong8.dong-AT-gmail.com |
| To: |
| dsahern-AT-kernel.org |
| Subject: |
| [PATCH net-next v2 0/3] net: use kfree_skb_reason() for ip/neighbour |
| Date: |
| Fri, 25 Feb 2022 15:17:36 +0800 |
| Message-ID: |
| <20220225071739.1956657-1-imagedong@tencent.com> |
| Cc: |
| rostedt-AT-goodmis.org, mingo-AT-redhat.com, davem-AT-davemloft.net, kuba-AT-kernel.org, yoshfuji-AT-linux-ipv6.org, imagedong-AT-tencent.com, edumazet-AT-google.com, alobakin-AT-pm.me, cong.wang-AT-bytedance.com, paulb-AT-nvidia.com, talalahmad-AT-google.com, keescook-AT-chromium.org, ilias.apalodimas-AT-linaro.org, memxor-AT-gmail.com, flyingpeng-AT-tencent.com, mengensun-AT-tencent.com, daniel-AT-iogearbox.net, yajun.deng-AT-linux.dev, roopa-AT-nvidia.com, linux-kernel-AT-vger.kernel.org, netdev-AT-vger.kernel.org |
| Archive-link: |
| Article |
From: Menglong Dong <imagedong@tencent.com>
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-im...
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
SKB_DROP_REASON_NEIGH_CREATEFAIL
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
SKB_DROP_REASON_NEIGH_DEAD
Changes since v1:
- introduce SKB_DROP_REASON_NEIGH_CREATEFAIL for some path in the 1th
patch
- introduce SKB_DROP_REASON_NEIGH_DEAD in the 2th patch
- simplify the document for the new drop reasons, as David Ahern
suggested
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 | 14 ++++++++++++++
include/trace/events/skb.h | 7 +++++++
net/core/neighbour.c | 6 +++---
net/ipv4/arp.c | 2 +-
net/ipv4/ip_output.c | 8 ++++----
net/ipv6/ip6_output.c | 6 +++---
6 files changed, 32 insertions(+), 11 deletions(-)
--
2.35.1