Ether: bridge port receiving packet with its own MAC address

Hi,

I have a mikrotik CRS112 switch and there are multiple redundant paths leading to a single destination and for that we have configured RSTP but I see the below error message in my logs very frequently. I tried searching on the forum and tried several things like checking MAC duplication and RSTP config in my network but everything seems to be fine. I would be immensely grateful If anyone from the experts could kindly help me resolve this issue.

Note: I have all of my ports under one bridge and I have attached a picture of the config as well. Kindly see the attachment.

ether1: bridge port received packet with own address as source address (cc:2d:e0:xx:1c:xx), probably loop
etherbridge.png

Can you add both the logging and the config?

/export file=anynameyoulike

Remove serial and any other private info, post in between code tags by using the </> button.

Thank you for a quick response.

# aug/28/2024 11:47:57 by RouterOS 6.48.1
# software id = LQ7H-557D
#
# model = CRS112-8P-4S
# serial number = xxxxx
/interface bridge
add name=bridge1
/interface ethernet
set [ find default-name=ether1 ] comment=abc
set [ find default-name=ether2 ] comment=abc poe-out=forced-on
set [ find default-name=ether3 ] comment=abc poe-out=forced-on
set [ find default-name=ether4 ] comment=abc poe-out=forced-on
set [ find default-name=ether5 ] comment=abc poe-out=forced-on
set [ find default-name=ether6 ] comment=abc poe-out=forced-on
set [ find default-name=ether7 ] comment=abc
/interface vlan
add interface=bridge1 name=br_vlan2251 vlan-id=2251
/interface list
add name=bridge
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/snmp community
set [ find default=yes ] name=ghprivateccr
/interface bridge port
add bridge=bridge1 interface=ether1 internal-path-cost=30 path-cost=30
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4
add bridge=bridge1 interface=ether5
add bridge=bridge1 interface=ether6 path-cost=50
add bridge=bridge1 interface=ether7 internal-path-cost=12 path-cost=12
add bridge=bridge1 interface=ether8
add bridge=bridge1 interface=sfp9
add bridge=bridge1 interface=sfp10
add bridge=bridge1 interface=sfp11
add bridge=bridge1 interface=sfp12
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface ethernet switch egress-vlan-tag
add tagged-ports="switch1-cpu,ether1,ether2,ether3,ether4,ether5,ether6,ether7\
    ,ether8,sfp10,sfp9,sfp12,sfp11" vlan-id=2251
add tagged-ports="switch1-cpu,ether1,ether2,ether3,ether4,ether5,ether6,ether7\
    ,ether8,sfp10,sfp9,sfp12,sfp11" vlan-id=1013
/interface ethernet switch vlan
add ports="switch1-cpu,ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8\
    ,sfp10,sfp9,sfp12,sfp11" vlan-id=2251
add ports="ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8,sfp10,sfp9,\
    sfp12,sfp11" vlan-id=1013
add ports="switch1-cpu,ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8\
    ,sfp10,sfp9,sfp12,sfp11" vlan-id=2260
/interface list member
add interface=bridge1 list=bridge
/ip dhcp-client
add disabled=no interface=br_vlan2251
/snmp
set enabled=yes
/system clock
set time-zone-name=abc/abc
/system identity
set name="abc(MKT)"
/system logging
add topics=stp
add topics=bridge
/system routerboard settings
set auto-upgrade=yes

logs.png

I would be grateful if anyone out there could help me resolve this issue.

I guess that what erlinden asked for as “logging” was meant as:

/log print

and copy and paste a few related lines of the log around the “probably loop” error you posted.

aug/25 16:59:23 bridge,stp ether1 learning 
aug/25 16:59:23 bridge,stp ether1 forwarding 
aug/25 16:59:57 bridge,stp ether1 discarding 
aug/25 17:06:47 bridge,stp ether1 learning 
aug/25 17:06:47 bridge,stp ether1 forwarding 
aug/25 17:07:23 bridge,stp ether1 discarding 
aug/25 17:15:25 bridge,stp ether1 learning 
aug/25 17:15:25 bridge,stp ether1 forwarding 
aug/25 17:16:04 bridge,stp ether1 discarding 
aug/25 17:19:43 bridge,stp ether1 learning 
aug/25 17:19:43 bridge,stp ether1 forwarding 
aug/25 17:20:14 bridge,stp ether1 discarding 
aug/25 17:24:27 bridge,stp ether1 learning 
aug/25 17:24:27 bridge,stp ether1 forwarding 
aug/25 17:25:00 bridge,stp ether1 discarding 
aug/25 17:25:25 bridge,stp ether1 learning 
aug/25 17:25:25 bridge,stp ether1 forwarding 
aug/25 17:25:58 bridge,stp ether1 discarding 
aug/25 17:30:53 bridge,stp ether1 learning 
aug/25 17:30:53 bridge,stp ether1 forwarding 
aug/25 17:31:32 bridge,stp ether1 discarding 
aug/25 17:34:55 bridge,stp ether1 learning 
aug/25 17:34:55 bridge,stp ether1 forwarding 
aug/25 17:35:26 bridge,stp ether1 discarding 
aug/25 17:42:53 bridge,stp ether1 learning 
aug/25 17:42:53 bridge,stp ether1 forwarding 
aug/25 17:43:24 bridge,stp ether1 discarding 
aug/25 17:46:05 bridge,stp ether1 learning 
aug/25 17:46:05 bridge,stp ether1 forwarding 
aug/25 17:46:44 bridge,stp ether1 discarding 
aug/25 17:48:13 bridge,stp ether1 learning 
aug/25 17:48:13 bridge,stp ether1 forwarding 
aug/25 17:48:50 bridge,stp ether1 discarding 
aug/25 17:48:51 interface,warning ether1: bridge port received packet with own add
ress as source address (cc:2d:e0:xx:xx:8d), probably loop 
aug/25 17:50:40 bridge,stp ether1 learning 
aug/25 17:50:40 bridge,stp ether1 forwarding 
aug/25 17:51:14 bridge,stp ether1 discarding 
aug/25 17:55:37 bridge,stp ether1 learning 
aug/25 17:55:37 bridge,stp ether1 forwarding 
aug/25 17:56:08 bridge,stp ether1 discarding 
aug/25 17:59:45 bridge,stp ether1 learning 
aug/25 17:59:45 bridge,stp ether1 forwarding 
aug/25 18:00:10 bridge,stp ether1 discarding 
aug/25 18:04:37 bridge,stp ether1 learning 
aug/25 18:04:37 bridge,stp ether1 forwarding 
aug/25 18:05:08 bridge,stp ether1 discarding 
aug/25 18:20:33 bridge,stp ether1 learning 
aug/25 18:20:33 bridge,stp ether1 forwarding 
aug/25 18:21:14 bridge,stp ether1 discarding 
aug/25 18:25:01 bridge,stp ether1 learning 
aug/25 18:25:01 bridge,stp ether1 forwarding 
aug/25 18:25:34 bridge,stp ether1 discarding 
aug/25 18:28:27 bridge,stp ether1 learning 
aug/25 18:28:27 bridge,stp ether1 forwarding 
aug/25 18:28:58 bridge,stp ether1 discarding 
aug/25 18:45:19 bridge,stp ether1 learning 
aug/25 18:45:19 bridge,stp ether1 forwarding 
aug/25 18:45:58 bridge,stp ether1 discarding 
aug/25 18:52:05 bridge,stp ether1 learning 
aug/25 18:52:05 bridge,stp ether1 forwarding 
aug/25 18:52:38 bridge,stp ether1 discarding 
aug/25 18:53:15 bridge,stp ether1 learning 
aug/25 18:53:15 bridge,stp ether1 forwarding 
aug/25 18:53:48 bridge,stp ether1 discarding 
aug/25 18:56:58 bridge,stp ether1 learning 
aug/25 18:56:58 bridge,stp ether1 forwarding 
aug/25 18:57:30 bridge,stp ether1 discarding 
aug/25 19:00:29 bridge,stp ether1 learning 
aug/25 19:00:29 bridge,stp ether1 forwarding 
aug/25 19:01:08 bridge,stp ether1 discarding 
aug/25 19:06:25 bridge,stp ether1 learning 
aug/25 19:06:25 bridge,stp ether1 forwarding 
aug/25 19:06:58 bridge,stp ether1 discarding 
aug/25 19:12:29 bridge,stp ether1 learning 
aug/25 19:12:29 bridge,stp ether1 forwarding 
aug/25 19:13:02 bridge,stp ether1 discarding 
aug/25 19:34:03 bridge,stp ether1 learning 
aug/25 19:34:03 bridge,stp ether1 forwarding 
aug/25 19:34:42 bridge,stp ether1 discarding 
aug/25 19:43:49 bridge,stp ether1 learning 
aug/25 19:43:49 bridge,stp ether1 forwarding 
aug/25 19:44:20 bridge,stp ether1 discarding 
aug/25 20:01:51 bridge,stp ether1 learning 
aug/25 20:01:51 bridge,stp ether1 forwarding 
aug/25 20:02:30 bridge,stp ether1 discarding 
aug/25 20:04:23 bridge,stp ether1 learning 
aug/25 20:04:23 bridge,stp ether1 forwarding 
aug/25 20:04:44 bridge,stp ether1 discarding 
aug/25 21:44:59 bridge,stp ether1 learning 
aug/25 21:44:59 bridge,stp ether1 forwarding 
aug/25 21:44:59 bridge,stp ether1 discarding 
aug/25 21:45:08 bridge,stp ether1 learning 
aug/25 21:45:08 bridge,stp ether1 forwarding 
aug/25 21:45:39 bridge,stp ether1 discarding 
aug/25 22:17:41 bridge,stp ether1 learning 
aug/25 22:17:41 bridge,stp ether1 forwarding 
aug/25 22:18:29 bridge,stp ether1 discarding 
aug/25 22:22:42 bridge,stp ether1 learning 
aug/25 22:22:42 bridge,stp ether1 forwarding 
aug/25 22:23:13 bridge,stp ether1 discarding 
aug/25 22:24:00 bridge,stp ether1 learning 
aug/25 22:24:00 bridge,stp ether1 forwarding 
aug/25 22:24:37 bridge,stp ether1 discarding 
aug/25 22:26:12 bridge,stp ether1 learning 
aug/25 22:26:12 bridge,stp ether1 forwarding 
aug/25 22:26:45 bridge,stp ether1 discarding 
aug/25 22:30:03 bridge,stp ether1 learning 
aug/25 22:30:03 bridge,stp ether1 forwarding 
aug/25 22:30:35 bridge,stp ether1 discarding 
aug/25 22:36:24 bridge,stp ether1 learning 
aug/25 22:36:24 bridge,stp ether1 forwarding 
aug/25 22:37:01 bridge,stp ether1 discarding 
aug/25 22:59:03 bridge,stp ether1 learning 
aug/25 22:59:03 bridge,stp ether1 forwarding 
aug/25 22:59:49 bridge,stp ether1 discarding 
aug/25 23:34:31 bridge,stp ether1 learning 
aug/25 23:34:31 bridge,stp ether1 forwarding 
aug/25 23:35:23 bridge,stp ether1 discarding 
aug/25 23:36:10 bridge,stp ether1 learning 
aug/25 23:36:10 bridge,stp ether1 forwarding 
aug/25 23:36:43 bridge,stp ether1 discarding 
aug/25 23:56:05 bridge,stp ether1 learning 
aug/25 23:56:05 bridge,stp ether1 forwarding 
aug/25 23:56:45 bridge,stp ether1 discarding 
aug/26 00:06:38 bridge,stp ether1 learning 
aug/26 00:06:38 bridge,stp ether1 forwarding 
aug/26 00:07:09 bridge,stp ether1 discarding 
aug/26 00:12:01 bridge,stp ether1 learning 
aug/26 00:12:01 bridge,stp ether1 forwarding 
aug/26 00:12:23 bridge,stp ether1 discarding 
aug/26 00:12:37 bridge,stp ether1 learning 
aug/26 00:12:37 bridge,stp ether1 forwarding 
aug/26 00:12:38 bridge,stp ether1 discarding 
aug/26 00:53:00 bridge,stp ether1 learning 
aug/26 00:53:00 bridge,stp ether1 forwarding 
aug/26 00:53:01 bridge,stp ether1 discarding 
aug/26 00:53:09 bridge,stp ether1 learning 
aug/26 00:53:09 bridge,stp ether1 forwarding 
aug/26 00:53:39 bridge,stp ether1 discarding 
aug/26 02:18:35 bridge,stp ether1 learning 
aug/26 02:18:35 bridge,stp ether1 forwarding 
aug/26 02:18:41 bridge,stp ether1 discarding 
aug/26 03:29:16 bridge,stp ether1 learning 
aug/26 03:29:16 bridge,stp ether1 forwarding 
aug/26 03:29:53 bridge,stp ether1 discarding 
aug/26 03:30:27 bridge,stp ether1 learning 
aug/26 03:30:27 bridge,stp ether1 forwarding 
aug/26 03:31:01 bridge,stp ether1 discarding 
aug/26 03:31:09 bridge,stp ether1 learning 
aug/26 03:31:09 bridge,stp ether1 forwarding 
aug/26 03:31:11 bridge,stp ether1 discarding 
aug/26 03:55:24 bridge,stp ether1 learning 
aug/26 03:55:24 bridge,stp ether1 forwarding 
aug/26 03:55:57 bridge,stp ether1 discarding 
aug/26 05:19:37 bridge,stp ether1 learning 
aug/26 05:19:37 bridge,stp ether1 forwarding 
aug/26 05:20:25 bridge,stp ether1 discarding 
aug/26 05:30:40 bridge,stp ether1 learning 
aug/26 11:02:11 bridge,stp ether1 learning 
aug/26 11:02:11 bridge,stp ether1 forwarding 
aug/26 11:02:27 bridge,stp ether1 discarding 
aug/26 11:42:47 bridge,stp ether1 learning 
aug/26 11:42:47 bridge,stp ether1 forwarding 
aug/26 11:43:27 bridge,stp ether1 discarding 
aug/26 13:51:35 bridge,stp ether1 learning 
aug/26 13:51:35 bridge,stp ether1 forwarding 
aug/26 13:51:36 bridge,stp ether1 discarding 
aug/26 13:51:44 bridge,stp ether1 learning 
aug/26 13:51:44 bridge,stp ether1 forwarding 
aug/26 13:51:53 interface,warning ether1: bridge port received packet with own add
ress as source address (cc:2d:e0:xx:xx:8d), probably loop 
aug/26 13:52:16 bridge,stp ether1 discarding 
aug/26 14:01:06 bridge,stp ether1 learning 
aug/26 14:01:06 bridge,stp ether1 forwarding 
aug/26 14:01:38 bridge,stp ether1 discarding 
aug/26 14:22:54 bridge,stp ether1 learning 
aug/26 14:22:54 bridge,stp ether1 forwarding 
aug/26 14:23:34 bridge,stp ether1 discarding 
aug/26 15:09:58 bridge,stp ether1 learning 
aug/26 15:09:58 bridge,stp ether1 forwarding 
aug/26 15:10:38 bridge,stp ether1 discarding 
aug/26 15:29:22 bridge,stp ether1 learning 
aug/26 15:29:22 bridge,stp ether1 forwarding 
aug/26 15:30:00 bridge,stp ether1 discarding 
aug/26 18:00:58 bridge,stp ether1 learning 
aug/26 18:00:58 bridge,stp ether1 forwarding 
aug/26 18:01:51 bridge,stp ether1 discarding 
aug/26 18:01:52 interface,warning ether1: bridge port received packet with own add
ress as source address (cc:2d:e0:xx:xx:8d), probably loop 
aug/26 18:02:00 bridge,stp ether1 learning 
aug/26 18:02:00 bridge,stp ether1 forwarding 
aug/26 18:02:21 bridge,stp ether1 discarding 
aug/26 18:50:56 bridge,stp ether1 learning 
aug/26 18:50:56 bridge,stp ether1 forwarding 
aug/26 18:51:29 bridge,stp ether1 discarding 
aug/26 20:33:38 bridge,stp ether1 learning 
aug/26 20:33:38 bridge,stp ether1 forwarding 
aug/26 20:34:17 bridge,stp ether1 discarding 
aug/26 21:00:34 bridge,stp ether1 learning

Thank you for the guidance.

Anyone from the experts ?

I have also updated the firmware from version 6.48 to 6.49. My bridge is in the RSTP mode and ether1 is an alternate port but I keep noticing in the logs that this port goes into the learning, forwarding and discarding state although it’s an alternate port and according to my understanding it should remain in the discarding state.

Bridge has MAC of this ether1 about which I am talking about.

I have posted the config and logs in my previous posts. I think I’m quite near to resolving this error but need an opinion from the experts since it’s my production environment.

Try to set MAC of bridge manually … to MAC different than any of bridge ports. For ideas about proper MAC address “invention”, have a look at Universal vs. local (U/L bit) section of MAC address wikipedia article (use MAC address of one of bridge ports as a basis and apply the L bit to it).

how about if you play with:
port-cost-mode=short

I have port cost enabled on different ports since there’s redundancy and RSTP enabled but currently I have disabled this ether1.

My bridge has MAC from ether1 which I disabled and the management vlan on bridge also has same MAC but upon disabling the ether1 port, bridge didn’t change its MAC and neither I loose the access to my device. So, is there any chance that the bridge changes its MAC in the future and better to take precautions to avoid any access issues ?

The reason why i disabled the ether1 port is because I occasionally loose access to my all devices on management vlan 2251 for about few second and sometimes about 10-15 seconds and I suspect this occurs whenever the ether1 port changes its STP states frequently on the mikrotik switch under discussion


Since firmware upgradation I haven’t received any loop packets message in this device but my DHCP router for all network management vlans is also a mikrotik and I see loop broadcast message for this management vlan repeatedly at different intervals.

Error:
vlan2251: bridge RX looped packet - MAC e4:8d:8c:3a:x:x -> ff:ff:ff:ff:ff:ff ETHERTYPE 0x0806

I think the advise was to make your MAC static and different from any other one you have on that machine, see this:
http://forum.mikrotik.com/t/bridge-auto-mac-issue/162131/1
There are reports that the mechanism the RoS uses to auto-assign MAC can, in certain situations, change the MAC, creating havoc in certain setups and having it fixed is usually recommended, the discussion/debate is more whether the static, manually assigned MAC should (or should not) be the same as that of one of the interfaces belonging to the bridge.
This is what RoS normally does (the bridge “inherits” the MAC of the first interface of the bridge, but irn some cases the order of interfaces or whatever makes the MAC change.
If you want to invent your own, there are a couple rules on how the MAC should be generated, a “random” one will probably create issues, see:
http://forum.mikrotik.com/t/routeros-bridges-have-same-mac-address/151063/1

As mentioned earlier we’re WISP company and in the attached file I have tried to brief little about our structure.

In the Ubuiqiti SW I have MSTP enabled whereas on Mikrotik Main SW and Mikrotik SW (Switch under discussion on this ticket) have RSTP enabled.

Currently I don’t see any loop messages on the Mikrotik SW but still face these broadcast messages on the Mikrotik Main switch on ether3 port which is connected to the Ubiquiti SW and on the DHCP RTR which I shared in my previous response.

The Mikrotik SW has redundant paths leading to Mikrotik Main SW and ether1(alternate port) which I disabled on this Mikrotik SW is the link connected to the Ubiquiti SW.

The problem is that I loose access to all my devices in the network which are managed under vlan 2251 for a few seconds(like consecutive 10-20 packet losses ).

I have checked logs of all the devices(some 25-30 devices) managed under vlan 2251 and the topology picture I shared of the devices I suspect the issue is anywhere among them because of the reasons I cited above.

I hope this helps in knowing more about the issue and offering any help that could help me resolve the issue.
network.png

Mixing MSTP and RSTP is at least part (if not the whole) if your problem. RSTP is not VLAN aware and blocks physical link if it detects a loop (the error message, mentioned in this thread’s title, does indicate this condition), while with MSTP it’s possible to distribute VLANs over multiple physical links (for better throughput) and they will all move to single link if other redundant links fail.

So either configure your MT to use MSTP (not possibke with all devices) or reconfigure the rest of infrastructure to use RSTP … or consider using MLAG for links that require redundancy if that’s feasible in your use case.

We’re using a lot of mikrotik devices and in those we have RSTP enabled and two-three ubiquiti devices are configured with MSTP. I am reffering to devices managed under vlan 2251 for the management access.
I will configure the Ubiquiti SWs to use RSTP but the little I know about these spanning trees protocols is that both RSTP and MSTP are compatible with each other so should it be the problem or part of it ?

On the error message, My RSTP config is correct on this Mikrotik SW as you can see in the first post where I have pasted a picture of the bridge section as well, but to be precise why I am receiving this loop error ? is it only because of MSTP and RSTP ?

Various STP protocols may be compatible in a sense that message, created by one of those, can be processed by the others. However the way these protocols work out the hierarchy of links is incompatible between them, so it’s almost required to operate whole infrstructure using one of them … obviously the one supported by all infrastructure devices.

You seem not to take my words for granted. Which is absolutely fine. But in this case the one thing you should get from my posts is that you’ll have to learn about differencies between the various xSTP protocols yourself and then decide the way you want to go.

Alright, thank you. Let me configure RSTP in my ubiquiti SWs as well and come back to you. Also I am going through the MAC invention link which you shared eariler to create a MAC and use it for the bridge in the Mikrotik SW.

In my earlier posts I had shared logs of ether1 where it was seen that the port was changing it’s state continuously although it was an alternative port. As soon as I disabled this port (as I had redundancies so everything still worked fine) I stopped encountering these loop packet messages and the packet losses issue in the whole network.

I have reconfigured my UBNT switches as well with RSTP protocol as my mikrotik devices are running RSTP. Thank you for your assistance.