All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@idosch.org>
To: SIMON BABY <simonkbaby@gmail.com>
Cc: netdev@vger.kernel.org
Subject: Re: query on EAPOL multicast packet with linux bridge interface
Date: Wed, 23 Apr 2025 14:42:03 +0300	[thread overview]
Message-ID: <aAjSCwwuRpI8GdB7@shredder> (raw)
In-Reply-To: <CAEFUPH1Erfh9YUctVDHxL8TWsiVfs+Fr8aJLtrjiKECbiGTxHQ@mail.gmail.com>

On Tue, Apr 22, 2025 at 06:42:58PM -0700, SIMON BABY wrote:
> Hello,
> 
> I have a difficulty with making EAPOL packet forwarding with the Linux
> bridge interface.
> 
>  I have configured the group_fwd_mask parameter with the below value.
> 
>  echo 8 > /sys/class/net/br0/bridge/group_fwd_mask
> 
> I still could not see the EAPOL packets being forwarded  from the
> linux bridge interface . However I can see the EAPOL packets are
> forwarded if I use it as a regular interface.
> 
> Do we have any more settings?

What do you mean by "linux bridge interface"? The bridge device itself
or a bridge port? Also, what is "regular interface"?

The following script [1] seems to work fine for me:

EAPOL packets on h2 without group_fwd_mask: 0
EAPOL packets on h2 with group_fwd_mask: 1

Can you adjust it to show the problem you are referring to?

Thanks

[1]
#!/bin/bash

# Setup
#
for ns in h1 h2 br; do
	ip netns add $ns
	ip -n $ns link set dev lo up
done

ip -n h1 link add name veth0 type veth peer name veth1 netns br
ip -n h2 link add name veth2 type veth peer name veth3 netns br

ip -n h1 link set dev veth0 up
ip -n h2 link set dev veth2 up

ip -n br link add name br0 up type bridge
ip -n br link set dev veth1 up master br0
ip -n br link set dev veth3 up master br0

tc -n h2 qdisc add dev veth2 clsact
tc -n h2 filter add dev veth2 ingress pref 1 proto all \
	flower dst_mac 01:80:c2:00:00:03 action pass

# Without group_fwd_mask
#
ip netns exec h1 mausezahn veth0 -a own -b 01:80:c2:00:00:03 -c 1 -q
sleep 1
pkt=$(tc -n h2 -s -j -p filter show dev veth2 ingress | \
	jq ".[] | select(.options.handle == 1) | .options.actions[0].stats.packets")

echo "EAPOL packets on h2 without group_fwd_mask: $pkt"

# With group_fwd_mask
#
ip -n br link set dev br0 type bridge group_fwd_mask 0x0008
ip netns exec h1 mausezahn veth0 -a own -b 01:80:c2:00:00:03 -c 1 -q
sleep 1
pkt=$(tc -n h2 -s -j -p filter show dev veth2 ingress | \
	jq ".[] | select(.options.handle == 1) | .options.actions[0].stats.packets")
echo "EAPOL packets on h2 with group_fwd_mask: $pkt"

# Cleanup
#
for ns in h1 h2 br; do
	ip netns del $ns
done

  reply	other threads:[~2025-04-23 11:42 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-23  1:42 query on EAPOL multicast packet with linux bridge interface SIMON BABY
2025-04-23 11:42 ` Ido Schimmel [this message]
2025-04-23 13:26   ` SIMON BABY
2025-04-23 15:51     ` Ido Schimmel
2025-04-24  5:59       ` SIMON BABY
2025-04-24  8:46         ` Ido Schimmel
2025-04-24 10:22     ` Vladimir Oltean
2025-04-28  6:55       ` SIMON BABY
2025-05-09  5:08         ` SIMON BABY

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=aAjSCwwuRpI8GdB7@shredder \
    --to=idosch@idosch.org \
    --cc=netdev@vger.kernel.org \
    --cc=simonkbaby@gmail.com \
    /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.