Messages in this thread |  | | From | menglong8.dong@gmail ... | | Subject | [PATCH net-next v3 0/3] net: use kfree_skb_reason() for ip/neighbour | | Date | Sat, 26 Feb 2022 12:18:28 +0800 |
| |
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-imagedong@tencent.com/
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_IPV6DISABLED 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 v2: - fix typo in the 1th patch of 'SKB_DROP_REASON_IPV6DSIABLED' reported by Roman
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
|  |