Bug 218047 - linux network bridge kernel set group_fwd_mask 65535
Summary: linux network bridge kernel set group_fwd_mask 65535
Status: NEW
Alias: None
Product: Networking
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P3 normal
Assignee: Stephen Hemminger
URL:
Keywords: opw
Depends on:
Blocks:
 
Reported: 2023-10-26 05:16 UTC by Alexey Boldyrev
Modified: 2023-10-26 23:51 UTC (History)
0 users

See Also:
Kernel Version: 6.7.8
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Alexey Boldyrev 2023-10-26 05:16:24 UTC
If trying set the parameter from network bridge? going error:

[root@arch user]# ip link set bridge0  type bridge group_fwd_mask 65535
RTNETLINK answers: Invalid argument

setting this parameter is desirable if the switching is routed to a separate virtual machine on the hypervisor, and on the host it looks like this:

ip link add dev ns-switch.0 up mtu 16384 master bridge0 type veth peer name host0 address $SWMAC  netns switch mtu 16384
ip link add dev ns-host1.0 up mtu 16384 master bridge0 type veth peer name host0 netns host1 mtu 16384
ip link add dev ns-host2.0 up mtu 16384 master bridge0 type veth peer name host0 netns host2 mtu 16384
ip link add dev ns-host3.0 up mtu 16384 master bridge0 type veth peer name host0 netns host3 mtu 16384
ip link add dev ns-host4.0 up mtu 16384 master bridge0 type veth peer name host0 netns host4 mtu 16384

tc qdisc add dev ns-switch.0 handle ffff: ingress
tc qdisc add dev ns-host1.0 handle ffff: ingress
tc qdisc add dev ns-host2.0 handle ffff: ingress
tc qdisc add dev ns-host3.0 handle ffff: ingress
tc qdisc add dev ns-host4.0 handle ffff: ingress

tc qdisc add dev gt-ll0 handle ffff: ingress
tc qdisc add dev gt-ll0 handle 1: root htb default 10

tc qdisc add dev ns-switch.0 handle 1: root htb default 10
tc qdisc add dev ns-host1.0 handle 1: root htb default 10
tc qdisc add dev ns-host2.0 handle 1: root htb default 10
tc qdisc add dev ns-host3.0 handle 1: root htb default 10
tc qdisc add dev ns-host4.0 handle 1: root htb default 10


tc filter add dev ns-host1.0 parent ffff: prio 9 protocol all flower dst_mac 01:00:00:00:00:00/8 action vlan push id 10 action mirred egress redirect dev gt-ll0
tc filter add dev ns-host2.0 parent ffff: prio 9 protocol all flower dst_mac 01:00:00:00:00:00/8 action vlan push id 11 action mirred egress redirect dev gt-ll0
tc filter add dev ns-host3.0 parent ffff: prio 9 protocol all flower dst_mac 01:00:00:00:00:00/8 action vlan push id 12 action mirred egress redirect dev gt-ll0
tc filter add dev ns-host4.0 parent ffff: prio 9 protocol all flower dst_mac 01:00:00:00:00:00/8 action vlan push id 13 action mirred egress redirect dev gt-ll0

tc filter add dev ns-host1.0 parent ffff: prio 10 protocol all matchall action vlan push id 10 
tc filter add dev ns-host2.0 parent ffff: prio 10 protocol all matchall action vlan push id 11
tc filter add dev ns-host3.0 parent ffff: prio 10 protocol all matchall action vlan push id 12
tc filter add dev ns-host4.0 parent ffff: prio 10 protocol all matchall action vlan push id 13

tc filter add dev ns-host1.0 parent 1: prio 65535 protocol all matchall action drop
tc filter add dev ns-host1.0 parent 1: prio 1 protocol 802.1Q flower vlan_id 10 action vlan pop

tc filter add dev ns-host2.0 parent 1: prio 65535 protocol all matchall action drop
tc filter add dev ns-host2.0 parent 1: prio 1 protocol 802.1Q flower vlan_id 11 action vlan pop

tc filter add dev ns-host3.0 parent 1: prio 65535 protocol all matchall action drop
tc filter add dev ns-host3.0 parent 1: prio 1 protocol 802.1Q flower vlan_id 12 action vlan pop

tc filter add dev ns-host4.0 parent 1: prio 65535 protocol all matchall action drop
tc filter add dev ns-host4.0 parent 1: prio 1 protocol 802.1Q flower vlan_id 13 action vlan pop 

the config example from be network lab.

Note You need to log in before you can comment on or make changes to this bug.