net: ip: add skb drop reasons for ip egress path
authorMenglong Dong <imagedong@tencent.com>
Sat, 26 Feb 2022 04:18:29 +0000 (12:18 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Feb 2022 12:53:58 +0000 (12:53 +0000)
commit5e187189ec324f78035d33a4bc123a9c4ca6f3e3
tree84c0ae691f34f42b4879b5e807e57f2ca13f3aac
parent0cc70c6eecf14c37cb6d8eb3f625ab359e6be323
net: ip: add skb drop reasons for ip egress path

Replace kfree_skb() which is used in the packet egress path of IP layer
with kfree_skb_reason(). Functions that are involved include:

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

Following new drop reasons are introduced:

SKB_DROP_REASON_IP_OUTNOROUTES
SKB_DROP_REASON_BPF_CGROUP_EGRESS
SKB_DROP_REASON_IPV6DISABLED
SKB_DROP_REASON_NEIGH_CREATEFAIL

Reviewed-by: Mengen Sun <mengensun@tencent.com>
Reviewed-by: Hao Peng <flyingpeng@tencent.com>
Signed-off-by: Menglong Dong <imagedong@tencent.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
include/trace/events/skb.h
net/ipv4/ip_output.c
net/ipv6/ip6_output.c