Graham Johnston wrote on 27/03/2019 21:36:
What am I doing that isn’t best practices that would have prevented this?
you're setting the next-hop of the prefixes learned at the IXP to be your own IP address from the IXP subnet (i.e. 208.115.136.0/23). When your routers learn this address from an external source, that is preferred to your internal OSPF route. Ergo your IX traffic is sent out via transit. There are two things you should do: 1. change the bgp distance for ebgp to be higher than all your IGPs. On a cisco router, you would use something like: router bgp xxx address-family ipv4 distance bgp 200 200 200 address-family ipv6 distance bgp 200 200 200 2. use next-hop-self on internal ibgp sessions to ensure that when you redistribute the eBGP routes learned from your IX towards the internals of your network, the next-hop address is set to be the loopback address of your peering router. I.e. you remove the requirement for your internal network to know anything about the IXP address range. Nick