All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Menglong Dong <menglong8.dong@gmail.com>
Cc: idosch@nvidia.com, davem@davemloft.net, edumazet@google.com,
	pabeni@redhat.com, dsahern@kernel.org, dongml2@chinatelecom.cn,
	amcohen@nvidia.com, gnault@redhat.com, bpoirier@nvidia.com,
	b.galvani@gmail.com, razor@blackwall.org, petrm@nvidia.com,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH net-next v2 06/12] net: vxlan: make vxlan_set_mac() return drop reasons
Date: Fri, 30 Aug 2024 16:26:27 -0700	[thread overview]
Message-ID: <20240830162627.4ba37aa3@kernel.org> (raw)
In-Reply-To: <20240830020001.79377-7-dongml2@chinatelecom.cn>

On Fri, 30 Aug 2024 09:59:55 +0800 Menglong Dong wrote:
> -static bool vxlan_set_mac(struct vxlan_dev *vxlan,
> -			  struct vxlan_sock *vs,
> -			  struct sk_buff *skb, __be32 vni)
> +static enum skb_drop_reason vxlan_set_mac(struct vxlan_dev *vxlan,
> +					  struct vxlan_sock *vs,
> +					  struct sk_buff *skb, __be32 vni)
>  {
>  	union vxlan_addr saddr;
>  	u32 ifindex = skb->dev->ifindex;
> @@ -1620,7 +1620,7 @@ static bool vxlan_set_mac(struct vxlan_dev *vxlan,
>  
>  	/* Ignore packet loops (and multicast echo) */
>  	if (ether_addr_equal(eth_hdr(skb)->h_source, vxlan->dev->dev_addr))
> -		return false;
> +		return (u32)VXLAN_DROP_INVALID_SMAC;

It's the MAC address of the local interface, not just invalid...

>  	/* Get address from the outer IP header */
>  	if (vxlan_get_sk_family(vs) == AF_INET) {
> @@ -1635,9 +1635,9 @@ static bool vxlan_set_mac(struct vxlan_dev *vxlan,
>  
>  	if ((vxlan->cfg.flags & VXLAN_F_LEARN) &&
>  	    vxlan_snoop(skb->dev, &saddr, eth_hdr(skb)->h_source, ifindex, vni))
> -		return false;
> +		return (u32)VXLAN_DROP_ENTRY_EXISTS;

... because it's vxlan_snoop() that checks:

        if (!is_valid_ether_addr(src_mac))
-- 
pw-bot: cr

  parent reply	other threads:[~2024-08-30 23:26 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-30  1:59 [PATCH net-next v2 00/12] net: vxlan: add skb drop reasons support Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 01/12] net: vxlan: add vxlan to the drop reason subsystem Menglong Dong
2024-08-30 14:42   ` Alexander Lobakin
2024-09-01  3:30     ` Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 02/12] net: skb: add pskb_network_may_pull_reason() helper Menglong Dong
2024-08-30 14:45   ` Alexander Lobakin
2024-09-01 12:34     ` Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 03/12] net: tunnel: add pskb_inet_may_pull_reason() helper Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 04/12] net: tunnel: add skb_vlan_inet_prepare_reason() helper Menglong Dong
2024-08-30 14:47   ` Alexander Lobakin
2024-09-01 12:36     ` Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 05/12] net: vxlan: make vxlan_remcsum() return drop reasons Menglong Dong
2024-08-30 14:49   ` Alexander Lobakin
2024-08-30  1:59 ` [PATCH net-next v2 06/12] net: vxlan: make vxlan_set_mac() " Menglong Dong
2024-08-30 14:57   ` Alexander Lobakin
2024-09-01 12:56     ` Menglong Dong
2024-08-30 15:31   ` Simon Horman
2024-09-01 12:37     ` Menglong Dong
2024-08-30 23:26   ` Jakub Kicinski [this message]
2024-09-01 12:47     ` Menglong Dong
2024-09-03  1:12       ` Jakub Kicinski
2024-09-04  1:59         ` Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 07/12] net: vxlan: add skb drop reasons to vxlan_rcv() Menglong Dong
2024-08-30 15:04   ` Alexander Lobakin
2024-09-01 13:02     ` Menglong Dong
2024-09-03 12:32       ` Alexander Lobakin
2024-08-30 15:36   ` Simon Horman
2024-09-01 12:48     ` Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 08/12] net: vxlan: use vxlan_kfree_skb() in vxlan_xmit() Menglong Dong
2024-08-30 15:34   ` Simon Horman
2024-09-01 13:02     ` Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 09/12] net: vxlan: add drop reasons support to vxlan_xmit_one() Menglong Dong
2024-08-30  1:59 ` [PATCH net-next v2 10/12] net: vxlan: use kfree_skb_reason in vxlan_mdb_xmit Menglong Dong
2024-08-30  2:00 ` [PATCH net-next v2 11/12] net: vxlan: use kfree_skb_reason in vxlan_encap_bypass Menglong Dong
2024-08-30  2:00 ` [PATCH net-next v2 12/12] net: vxlan: use vxlan_kfree_skb in encap_bypass_if_local Menglong Dong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240830162627.4ba37aa3@kernel.org \
    --to=kuba@kernel.org \
    --cc=amcohen@nvidia.com \
    --cc=b.galvani@gmail.com \
    --cc=bpoirier@nvidia.com \
    --cc=davem@davemloft.net \
    --cc=dongml2@chinatelecom.cn \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=gnault@redhat.com \
    --cc=idosch@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=menglong8.dong@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=petrm@nvidia.com \
    --cc=razor@blackwall.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.