BGP - multihop vs disable-connected-check

When implementing BGP between routers of different ASes, an eBGP peering is created. By default, the eBGP peers must be directly connected for the peering to take place. In order to override this behavior, it is possible to use either multihop or the disable-connected-check.

Multihop allows you to specify how many hops away the eBGP neighbor you want to peer to is. This is done using the TTL value in the header of the IP packet.

eBGP routers will by default check to see if the BGP peer to which they want to connect is in the same subnet as one of their interfaces. The disable-connected-check is used to disable this check. This is useful when you want to create BGP peering redundancy using loopbacks.

However, when ebgp-multihop is set to a TTL of 2 or more, the disable-connected-check feature is implicitly enabled. That is, the check does not take place.

Links:

https://forum.networklessons.com/t/ebgp-multihop/1228/158?u=lagapides

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/command/irg-cr-book/bgp-m1.html#wp2556182590