[PATCH v4 net-next 0/7] net: use kfree_skb_reason() for ip/udp packet receive

From: menglong8 . dong
Date: Sat Feb 05 2022 - 02:48:02 EST


From: Menglong Dong <imagedong@xxxxxxxxxxx>

In this series patches, kfree_skb() is replaced with kfree_skb_reason()
during ipv4 and udp4 packet receiving path, and following drop reasons
are introduced:

SKB_DROP_REASON_SOCKET_FILTER
SKB_DROP_REASON_NETFILTER_DROP
SKB_DROP_REASON_OTHERHOST
SKB_DROP_REASON_IP_CSUM
SKB_DROP_REASON_IP_INHDR
SKB_DROP_REASON_IP_RPFILTER
SKB_DROP_REASON_UNICAST_IN_L2_MULTICAST
SKB_DROP_REASON_XFRM_POLICY
SKB_DROP_REASON_IP_NOPROTO
SKB_DROP_REASON_SOCKET_RCVBUFF
SKB_DROP_REASON_PROTO_MEM

TCP is more complex, so I left it in the next series.

I just figure out how __print_symbolic() works. It doesn't base on the
array index, but searching for symbols by loop. So I'm a little afraid
it's performance.

Changes since v3:
- fix some small problems in the third patch (net: ipv4: use
kfree_skb_reason() in ip_rcv_core()), as David Ahern said

Changes since v2:
- use SKB_DROP_REASON_PKT_TOO_SMALL for a path in ip_rcv_core()

Changes since v1:
- add document for all drop reasons, as David advised
- remove unreleated cleanup
- remove EARLY_DEMUX and IP_ROUTE_INPUT drop reason
- replace {UDP, TCP}_FILTER with SOCKET_FILTER


Alex Elder (6):
net: ipa: allocate transaction in replenish loop
net: ipa: don't use replenish_backlog
net: ipa: introduce gsi_channel_trans_idle()
net: ipa: kill replenish_backlog
net: ipa: replenish after delivering payload
net: ipa: determine replenish doorbell differently

Menglong Dong (1):
net: drop_monitor: support drop reason

--
2.27.0