[PATCH net-next v2 00/12] net: vxlan: add skb drop reasons support

From: Menglong Dong
Date: Thu Aug 29 2024 - 22:02:26 EST


In this series, we add skb drop reasons to the vxlan module. After the
commit 071c0fc6fb91 ("net: extend drop reasons for multiple subsystems"),
we can add the skb drop reasons as a subsystem.

So, we now add a new skb drop reason subsystem for vxlan, and following
new skb drop reasons are introduced to vxlan:

VXLAN_DROP_INVALID_SMAC
VXLAN_DROP_ENTRY_EXISTS
VXLAN_DROP_INVALID_HDR
VXLAN_DROP_VNI_NOT_FOUND
VXLAN_DROP_NO_REMOTE

And we add the following drop reasons to enum skb_drop_reason:

IP_TUNNEL_ECN
TUNNEL_TXINFO

Changes since v1:
- document all the drop reaons that we introduce
- rename the drop reasons to make them more descriptive, as Ido advised
- remove the 2nd patch, which introduce the SKB_DR_RESET
- add the 4th patch, which adds skb_vlan_inet_prepare_reason() helper
- introduce the 6th patch, which make vxlan_set_mac return drop reasons
- introduce the 10th patch, which uses VXLAN_DROP_NO_REMOTE as the drop
reasons, as Ido advised

Menglong Dong (12):
net: vxlan: add vxlan to the drop reason subsystem
net: skb: add pskb_network_may_pull_reason() helper
net: tunnel: add pskb_inet_may_pull_reason() helper
net: tunnel: add skb_vlan_inet_prepare_reason() helper
net: vxlan: make vxlan_remcsum() return drop reasons
net: vxlan: make vxlan_set_mac() return drop reasons
net: vxlan: add skb drop reasons to vxlan_rcv()
net: vxlan: use vxlan_kfree_skb() in vxlan_xmit()
net: vxlan: add drop reasons support to vxlan_xmit_one()
net: vxlan: use kfree_skb_reason in vxlan_mdb_xmit
net: vxlan: use kfree_skb_reason in vxlan_encap_bypass
net: vxlan: use vxlan_kfree_skb in encap_bypass_if_local

drivers/net/vxlan/drop.h | 47 ++++++++++++++
drivers/net/vxlan/vxlan_core.c | 104 +++++++++++++++++++++---------
drivers/net/vxlan/vxlan_mdb.c | 2 +-
drivers/net/vxlan/vxlan_private.h | 1 +
include/linux/skbuff.h | 8 ++-
include/net/dropreason-core.h | 9 +++
include/net/dropreason.h | 6 ++
include/net/ip_tunnels.h | 31 ++++++---
8 files changed, 168 insertions(+), 40 deletions(-)
create mode 100644 drivers/net/vxlan/drop.h

--
2.39.2