Good day.
Anyone have minimal example of ROSv7 BGP connection between two routers over ethernet/vxlan with both ipv4 and ipv6?
From my trials I’m not able to control properly ipv6 address of nexthop if bgp connection is established over ipv4 and afi=ip,ipv6.
There are likely a number of moving pieces to that so more config context might help.
Out of curiosity, do you have both a v4 and v6 stack configured on the routers and BGP is carrying both address families (over a v4 peering)?
If the routers don’t have a v6 stack configured, the only BGP mechanism I know for providing BGP signaled v6 over an encapsulation would be 6PE (delivers v6 to v4 PEs via MPLS) or EVPN (delivers v6 to v4 VTEP/PE via VXLAN/MPLS).
Conversely if you only have a v6 stack configured, you’d need RFC5549 support to deliver v4 over v6, again assuming MPLS.
To my knowledge, none of that is actually supported by Mikrotik at the moment, although at least 5549 support is on the radar [1].
I think the safest answer right now is dual stack.
If you do have dual stack configured and it’s still not generating the correct next-hops for each address family, then there might be something odd going on.
More context about which of those you’re trying to do would be helpful. (Also how is VXLAN involved in this situation?)
[1] https://help.mikrotik.com/docs/display/ROS/Routing+Protocol+Overview
I have interface, let’s say ve1. This interface has both ipv4 and ipv6 addresses (10.81.81.0/24 and fd66:107::/64). bgp session is done on ipv4 addresses
The best what I’ve come up with is something like below. It works, but I don’t like this manual setup of nexthop. If I don’t do it, it announces for v6 routes next hop as :ffff:10.81.81.3 which of course not really a valid gw addr on that interface.
/routing bgp template add address-families=ip,ipv6 as=65131 name=r1 output.network=bgp_networks router-id=10.81.81.3
/routing bgp connection add connect=yes listen=yes local.role=ebgp-peer name=r2 nexthop-choice=propagate output.filter-chain=bgp-out remote.address=10.81.81.2 .as=65141 templates=r1
/routing bgp connection add connect=yes listen=yes local.role=ebgp-peer name=r4 nexthop-choice=propagate output.filter-chain=bgp-out remote.address=10.81.81.4 .as=65133 templates=r1
/routing filter rule add chain=bgp-out rule="if (dst in 10.0.0.0/8 && dst-len in 8-24) { accept; }"
/routing filter rule add chain=bgp-out rule="if (afi ipv6) { set gw fd66:107::3; accept ; }"