So the problem is that bridge IGMP snooping is affecting ports that are NOT bridged when using HW=yes.
Unless I am missing something, this shouldn’t be happening.
e.g. if sfp-sfpplus1 is a port on bridg1, but sfp-sfpplus2, sfp-sfpplus3 and sfp-sfpplus4 are not bridge ports in any way. It doesn’t matter; they will still be snooped with sfp-sfpplus1.
I have 2 CCR2116 routers in front of me. R1 and R2, respectively.
They are both running RouterOS 7.15.3, and the firmware has been upgraded.
They are directly attached R1.sfp-sfpplus3 <> R2.sfp-sfpplus1.
R1.sfp-sfpplus3 and R2.sfp-sfpplus1 are NOT bridge ports.
If we turn off igmp-snooping, then no problem.
if we set hw=no on the SFP port in the bridge, then no problem.
R1
/system/identity
set name=R1
/interface
set [find name="sfp-sfpplus1"] comment="to-Edge-1 - NOT BRIDGED"
set [find name="sfp-sfpplus2"] comment="to-Switch - bridge1"
set [find name="sfp-sfpplus3"] comment="OSPF-to-R2 - NOT BRIDGED"
/interface/bridge
add name=lo-4 protocol-mode=none arp=disabled
add name=lo-6 protocol-mode=none arp=disabled
add name=bridge1 igmp-snooping=yes
# hw=no so sfp ports 1,3,4 are unaffected by igmp-snooping=yes
port add bridge=bridge1 interface=sfp-sfpplus2 hw=no
/ip/address
add address=100.127.1.1/32 interface=lo-4
add address=100.64.1.1/30 interface=sfp-sfpplus3 comment="to-R2"
/ipv6/address
add address=2001:db8:127::a/128 interface=lo-6 advertise=no
add address=2001:db8:64::a/127 interface=sfp-sfpplus3 advertise=no comment="to-R2"
/routing ospf instance
add name=ospf_ipv4 version=2 router-id=100.127.1.1
add name=ospf_ipv6 version=3 router-id=100.127.1.1
/routing ospf area
add name=backbone_ipv4 area-id=0.0.0.0 instance=ospf_ipv4
add name=backbone_ipv6 area-id=0.0.0.0 instance=ospf_ipv6
/routing ospf interface-template
add interfaces=lo-4 area=backbone_ipv4 type=ptp passive
add interfaces=lo-6 area=backbone_ipv6 type=ptp passive
add interfaces=sfp-sfpplus3 area=backbone_ipv4 type=ptp
add interfaces=sfp-sfpplus3 area=backbone_ipv6 type=ptp
R2
/system/identity
set name=R2
/interface
set [find name="sfp-sfpplus1"] comment="OSPF-to-R1 - NOT BRIDGED"
set [find name="sfp-sfpplus3"] comment="to-Switch - bridge1"
/interface/bridge
add name=lo-4 protocol-mode=none arp=disabled
add name=lo-6 protocol-mode=none arp=disabled
add name=bridge1 igmp-snooping=yes
# hw=yes so sfp ports 1,2,4 are affected by igmp-snooping=yes
port add bridge=bridge1 interface=sfp-sfpplus3 hw=yes
/ip/address
add address=100.127.1.2/32 interface=lo-4
add address=100.64.1.2/30 interface=sfp-sfpplus1 comment="to-R1"
/ipv6/address
add address=2001:db8:127::b/128 interface=lo-6 advertise=no
add address=2001:db8:64::b/127 interface=sfp-sfpplus1 advertise=no comment="to-R1"
/routing ospf instance
add name=ospf_ipv4 version=2 router-id=100.127.1.2
add name=ospf_ipv6 version=3 router-id=100.127.1.2
/routing ospf area
add name=backbone_ipv4 area-id=0.0.0.0 instance=ospf_ipv4
add name=backbone_ipv6 area-id=0.0.0.0 instance=ospf_ipv6
/routing ospf interface-template
add interfaces=lo-4 area=backbone_ipv4 type=ptp passive
add interfaces=lo-6 area=backbone_ipv6 type=ptp passive
add interfaces=sfp-sfpplus1 area=backbone_ipv4 type=ptp
add interfaces=sfp-sfpplus1 area=backbone_ipv6 type=ptp