Running CRS354-48G-4S+2Q+ with RouterOS 7.18beta2
I’m trying to advertise a prefix of 192.168.10.0/24 to a BGP neighbor, but my configuration appears to be missing something as the prefix isn’t being advertised even though the BGP peering is up. Any help is appreciated.
/interface vxlan
add name=vxlan1 port=4789 vni=10 local-address=192.168.10.10
/interface bridge port
add bridge=bridge interface=vxlan1
/ip address
add address=192.168.10.10/32 interface=vxlan1 network=192.168.10.10
/ip firewall address-list
add address=192.168.10.10 list=vxlan
/routing bgp connection
add as=65006 disabled=no local.role=ebgp name=test output.network=vxlan remote.address=10.254.0.0 .as=65004
ip route output
DST-ADDRESS GATEWAY DISTANCE
DAc 192.168.10.10/32 bridge 0
DAc 10.254.0.0/31 ether2 0
/routing filter rule add chain=test-chain-out disabled=no rule="if (dst in vxlan) {accept}"
/routing bgp connection set output.filter-chain=test-chain-out test
I’m afraid that didn’t work, but thank you.
it work for everyone except of you…
Very weird and confusing, right?
I looked through configuration many times, I don’t think I’m missing anything at this point. Could this be a firmware bug?
/interface vxlan
add bridge=*FFFFFFFF bridge-pvid=1 local-address=192.168.10.10 mac-address=32:D4:32:A9:B3:93 name=vxlan1 port=4789 vni=221 vrf=main \
vteps-ip-version=ipv4
/interface bridge port
add bridge=bridge interface=vxlan1
/ip address
add address=192.168.10.10 interface=vxlan1 network=192.168.10.10
/ip firewall address-list
add address=192.168.10.10 list=vxlan
/routing bgp connection
add as=65006 disabled=no local.role=ebgp name=test output.filter-chain=test-chain-out remote.address=10.254.0.0 .as=65004
/routing filter rule
add chain=test-chain-out disabled=no rule="if (dst in vxlan) {accept}"
/routing/bgp/session> print
Flags: E - established
0 E name="test-1"
remote.address=10.254.0.0 .as=65004 .id=10.254.254.0 .capabilities=mp,rr,gr,as4 .afi=ip .messages=2 .bytes=38 .eor=""
local.address=10.254.0.1 .as=65006 .id=192.168.10.10 .cluster-id=192.168.10.10 .capabilities=mp,rr,gr,as4 .afi=ip .messages=2
.bytes=38 .eor=""
output.procid=20 .filter-chain=test-chain-out
input.procid=20 ebgp
hold-time=3m keepalive-time=1m uptime=1m50s40ms last-started=2025-01-21 08:20:46 prefix-count=0
/routing/bgp/session>
hold-time=3m keepalive-time=1m uptime=1m50s40ms last-started=2025-01-21 08:20:46 prefix-count=0
prefix-count=0 here means that you are receiving zero prefixes, but the question is about adversing prefixes, right?
can you run this and post the output?
/routing/bgp/advertisements/print where peer=test
hold-time=3m keepalive-time=1m uptime=1m50s40ms last-started=2025-01-21 08:20:46 prefix-count=0
prefix-count=0 here means that you are receiving zero prefixes, but the question is about adversing prefixes, right?
can you run this and post the output?
/routing/bgp/advertisements/print where peer=test
That is good to know about prefix-count=0 representing the receiving prefixes, not advertised.
Running the command below produces no output. (tried with both peer=test and peer=test-1 as I’m not sure if the entire name needs to match)
/routing/bgp/advertisements/print where peer=test
mixig
February 1, 2025, 1:17pm
8
Your configuration has few issues, this will not work at all, you can paste it in chatgpt and follow it and try to fix
Could you please explain what was wrong and what you did to solve it? I’m also having issues where the BGP session is established but nothing is advertised.
Thank you!
I’m having the same issue. Can someone please show how to fix?
I’ve learned that MikroTik will not advertise routes that are not in your routing table. For example I have a 2001:db8: 1234::/48 prefix but on one of my VLANS I had 2001:db8: 1234:10::/64. I thought that’d be good enough but due to the /64 being in the routing table and not the /48 it didn’t satisfy the requirement.
To get around this I had to put a black hole route for the 2001:db8: 1234::/48 prefix as an anchor for BGP. Once doing that, the route is now being advertised properly.