netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v7 00/12] net: vxlan: add skb drop reasons support
@ 2024-10-09  2:28 Menglong Dong
  2024-10-09  2:28 ` [PATCH net-next v7 01/12] net: skb: add pskb_network_may_pull_reason() helper Menglong Dong
                   ` (12 more replies)
  0 siblings, 13 replies; 30+ messages in thread
From: Menglong Dong @ 2024-10-09  2:28 UTC (permalink / raw)
  To: idosch, kuba, aleksander.lobakin, horms
  Cc: davem, edumazet, pabeni, dsahern, dongml2, amcohen, gnault,
	bpoirier, b.galvani, razor, petrm, linux-kernel, netdev

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()

And we also make the following functions return skb drop reasons:

  skb_vlan_inet_prepare()
  vxlan_remcsum()
  vxlan_snoop()
  vxlan_set_mac()

Changes since v6:
- fix some typos in the document for SKB_DROP_REASON_TUNNEL_TXINFO

Changes since v5:
- fix some typos in the document for SKB_DROP_REASON_TUNNEL_TXINFO

Changes since v4:
- make skb_vlan_inet_prepare() return drop reasons, instead of introduce
  a wrapper for it in the 3rd patch.
- modify the document for SKB_DROP_REASON_LOCAL_MAC and
  SKB_DROP_REASON_TUNNEL_TXINFO.

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: make skb_vlan_inet_prepare() return drop reasons
  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/bareudp.c          |   4 +-
 drivers/net/geneve.c           |   4 +-
 drivers/net/vxlan/vxlan_core.c | 111 +++++++++++++++++++++------------
 drivers/net/vxlan/vxlan_mdb.c  |   2 +-
 include/linux/skbuff.h         |   8 ++-
 include/net/dropreason-core.h  |  40 ++++++++++++
 include/net/ip_tunnels.h       |  23 ++++---
 7 files changed, 139 insertions(+), 53 deletions(-)

-- 
2.39.5


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2024-10-15  1:58 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09  2:28 [PATCH net-next v7 00/12] net: vxlan: add skb drop reasons support Menglong Dong
2024-10-09  2:28 ` [PATCH net-next v7 01/12] net: skb: add pskb_network_may_pull_reason() helper Menglong Dong
2024-10-09  2:28 ` [PATCH net-next v7 02/12] net: tunnel: add pskb_inet_may_pull_reason() helper Menglong Dong
2024-10-09  2:28 ` [PATCH net-next v7 03/12] net: tunnel: make skb_vlan_inet_prepare() return drop reasons Menglong Dong
2024-10-09 13:37   ` Simon Horman
2024-10-09  2:28 ` [PATCH net-next v7 04/12] net: vxlan: add skb drop reasons to vxlan_rcv() Menglong Dong
2024-10-13 11:05   ` Ido Schimmel
2024-10-09  2:28 ` [PATCH net-next v7 05/12] net: vxlan: make vxlan_remcsum() return drop reasons Menglong Dong
2024-10-13 11:11   ` Ido Schimmel
2024-10-09  2:28 ` [PATCH net-next v7 06/12] net: vxlan: make vxlan_snoop() " Menglong Dong
2024-10-13 11:40   ` Ido Schimmel
2024-10-14 12:44     ` Menglong Dong
2024-10-09  2:28 ` [PATCH net-next v7 07/12] net: vxlan: make vxlan_set_mac() " Menglong Dong
2024-10-13 12:04   ` Ido Schimmel
2024-10-09  2:28 ` [PATCH net-next v7 08/12] net: vxlan: use kfree_skb_reason() in vxlan_xmit() Menglong Dong
2024-10-13 12:43   ` Ido Schimmel
2024-10-14 12:35     ` Menglong Dong
2024-10-14 15:47       ` Ido Schimmel
2024-10-15  1:55         ` Menglong Dong
2024-10-09  2:28 ` [PATCH net-next v7 09/12] net: vxlan: add drop reasons support to vxlan_xmit_one() Menglong Dong
2024-10-13 13:17   ` Ido Schimmel
2024-10-09  2:28 ` [PATCH net-next v7 10/12] net: vxlan: use kfree_skb_reason() in vxlan_mdb_xmit() Menglong Dong
2024-10-13 13:18   ` Ido Schimmel
2024-10-09  2:28 ` [PATCH net-next v7 11/12] net: vxlan: use kfree_skb_reason() in vxlan_encap_bypass() Menglong Dong
2024-10-13 13:19   ` Ido Schimmel
2024-10-09  2:28 ` [PATCH net-next v7 12/12] net: vxlan: use kfree_skb_reason() in encap_bypass_if_local() Menglong Dong
2024-10-13 13:24   ` Ido Schimmel
2024-10-14 12:30     ` Menglong Dong
2024-10-15  0:21 ` [PATCH net-next v7 00/12] net: vxlan: add skb drop reasons support Jakub Kicinski
2024-10-15  1:58   ` Menglong Dong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).