Search code examples
azure-virtual-networkexpress-routerbgp

Propagate route for spoke subnet peered with Hub-A vnet to express route connected to Hub-B vnet


I am not sure if what I am trying to achieve is even possible.

Spoke1<---Peer-->HubNorth<---peer--->HubEast[Express route]--->[On-Prem]

no matter what I tryi I can't seem to get spoke1's subnet to propagate in the BGP routing table of the express route.

I can ever only see HubNorth's routes propagating to express route/on Prem and not it's Spoke1

This setup is similare to the following MS article but it does not have any info on express route like I am using:

https://learn.microsoft.com/en-us/azure/firewall/firewall-multi-hub-spoke

I have tried the "Enable HubNorth vnet to sue HubEasts vnet's remote gateway or route server" option.

"allow HubNorth to access HubEast" "allow HubNorth to receive forwarded traffic from "hubEast"

Virtual gateway is enables on HubEast and is working fine for propagating routes to other azure resources.

I was simply expecting the spoke1 subnet to propagate via HubNorth to the express route BGP table connected to HubEast

What IS working is traffic from the spoke1 to the HubEast in both directions. The issue is that Spoke1's subnet is not propagating or being advertised to the express route/on Prem side


Solution

  • In your scenario, you are attempting to propagate the route for Spoke1’s subnet through HubNorth to HubEast (which is connected to the ExpressRoute).

    To simplify- ExpressRoute only propagates the routes of virtual networks that are directly connected to its ExpressRoute gateway. This means routes from Spoke1, which is indirectly connected to HubEast via HubNorth, won’t be advertised by default to on-premises through ExpressRoute. You have to directly peer Spoke 1 to HubEast[Express route]--->[On-Prem]

    Also the MS document which you mentioned nowhere talks about BGP. The example they are using in the MS doc is

    enter image description here

    Check this out-

    enter image description here