[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241001073225.807419-1-dongml2@chinatelecom.cn>
Date: Tue, 1 Oct 2024 15:32:13 +0800
From: Menglong Dong <menglong8.dong@...il.com>
To: idosch@...dia.com,
kuba@...nel.org,
aleksander.lobakin@...el.com,
horms@...nel.org
Cc: davem@...emloft.net,
edumazet@...gle.com,
pabeni@...hat.com,
dsahern@...nel.org,
dongml2@...natelecom.cn,
amcohen@...dia.com,
gnault@...hat.com,
bpoirier@...dia.com,
b.galvani@...il.com,
razor@...ckwall.org,
petrm@...dia.com,
linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
Subject: [PATCH net-next v4 00/12] net: vxlan: add skb drop reasons support
In this series, we add skb drop reasons support to VXLAN, and following
new skb drop reasons are introduced:
SKB_DROP_REASON_VXLAN_INVALID_HDR
SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND
SKB_DROP_REASON_VXLAN_ENTRY_EXISTS
SKB_DROP_REASON_VXLAN_NO_REMOTE
SKB_DROP_REASON_MAC_INVALID_SOURCE
SKB_DROP_REASON_IP_TUNNEL_ECN
SKB_DROP_REASON_TUNNEL_TXINFO
SKB_DROP_REASON_LOCAL_MAC
We add some helper functions in this series, who will capture the drop
reasons from pskb_may_pull_reason and return them:
pskb_network_may_pull_reason()
pskb_inet_may_pull_reason()
skb_vlan_inet_prepare_reason()
And we also make the following functions return skb drop reasons:
vxlan_remcsum()
vxlan_snoop()
vxlan_set_mac()
Changes since v3:
- rename SKB_DROP_REASON_VXLAN_INVALID_SMAC to
SKB_DROP_REASON_MAC_INVALID_SOURCE in the 6th patch
Changes since v2:
- move all the drop reasons of VXLAN to the "core", instead of introducing
the VXLAN drop reason subsystem
- add the 6th patch, which capture the drop reasons from vxlan_snoop()
- move the commits for vxlan_remcsum() and vxlan_set_mac() after
vxlan_rcv() to update the call of them accordingly
- fix some format problems
Changes since v1:
- document all the drop reasons 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: 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: add skb drop reasons to vxlan_rcv()
net: vxlan: make vxlan_remcsum() return drop reasons
net: vxlan: make vxlan_snoop() return drop reasons
net: vxlan: make vxlan_set_mac() return drop reasons
net: vxlan: use kfree_skb_reason() 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 kfree_skb_reason() in encap_bypass_if_local()
drivers/net/vxlan/vxlan_core.c | 111 +++++++++++++++++++++------------
drivers/net/vxlan/vxlan_mdb.c | 2 +-
include/linux/skbuff.h | 8 ++-
include/net/dropreason-core.h | 37 +++++++++++
include/net/ip_tunnels.h | 32 +++++++---
5 files changed, 140 insertions(+), 50 deletions(-)
--
2.39.5
Powered by blists - more mailing lists