Normally, when a CDP packet is received by a direct neighbor, it is read and dropped (not repeated to other device on same VLAN but not directly connected).
On a cisco interface, you can configure it so that the CDP packet is forwarded with the command “l2protocol tunnel cdp”.
On a mikrtoik, I have a bridge setup with ether2 and eoip-tunnel0 in the bridge. I would like to repeat CDP messages received from ether2 through eoip-tunnel0. However, a packet capture shows that CDP messages are received on ether2 but never sent on eoip-tunnel0. Is there any way to change this behavior?
With CDP being a proprietary Cisco protocol Mikrotik do not treat the multicast address it uses as special, so it should propagate throughout the broadcast domain of the layer 2 network. I’ve not checked EoIP interfaces specifically but certainly all the propagates through any layer 2 networks I’ve seen. Non-default bridge settings such as enabling IGMP snooping may well block it.
Thanks for the comments. That’s what I thought as well. I ended up downgrading to version 6.48.6 and the issue went away. I did see some stuff in the changelogs on Mikrotik versions about CDP so maybe they started giving it special treatment.
Indeed, since 6.4x.something, you can specify which of the neighbor discovery protocols (namely, MNDP, LLDP, and CDP) will be used in the neighbor discovery process. Which implies that Mikrotik can now treat CDP as a “link-local” protocol like LLDP, i.e. not L2-forward the CDP frames.
So you can try ip neighbor discovery-settings set protocol=lldp,mndp - doing so might make the Tik treat CDP like any uknown L2 traffic again.