Cisco – Inbound BGP load-balancing from same ISP router

bgpciscorouting

I have two BGP routers for DIA with an issue with one provider in that the two links to this provider land on the same SP router. My ethernet handoffs via two separate MetroE links from another provider on behalf on my main provider as the one provider already had fiber to the bldg. If someone could also clear up the ISP terminology when one provider transports services for another, I'd appreciate it. The two circuits terminate L3 with the same SP router, so my two routers each peer with the same provider router. I'm assigned PA space from this SP.

I have no issues with outbound load-balancing (or load-sharing as I guess would be more technically accurate). Outbound, I do ECLB at the firewall which picks one of the two edge routers based on a srcip/dstip hash.

This particular carrier — forget about the carrier just providing transport — is not load-balancing inbound traffic from their one router across the two links to my two routers, and this is the direction where we could use the combined 5x50Mb BW that we have contracted. The SP sees equal paths to us for the same advertised network and essentially just the first path they learn is what becomes the bestpath.

I've listed what I'm considering as my options below to get traffic over both circuits, and would like to know what the experts here think is best particularly if you're familiar with typical SP SOPs. Since I have a contract, changing the contract at this time is not an option to have this rebuilt some other way.

Allowing maximum-paths 2 in the SP network fixes this, but this applies to all their BGP customers on the same router that I don't think they will allow. At least one option that will work involves static routes, but that’s not what I would prefer.

Below are the options I have considered in my order of preference.

  1. Allow BGP maximum-paths 2 on SP router (affects all BGP customers homed there) so /24 is used when advertised on both circuits

  2. Split my /24 in half and advertise separate /25s over each link along with the /24. The SP has recently stated that a non-documented community could be used for them to accept > /24 prefixes. This requires manipulating NAT on my firewall to use global addresses in both /25’s as most traffic now is destined back to us on just a few addresses in the lower /25.

  3. SP static routes to /24 to force load-balancing w/BGP /24 (floating route).

  4. SP static routes to /25s to force ECLB w/BGP /24 prefix (in RIB, but not used unless failure of /25s).

I think advertising the /25s in BGP is the best option which I only found out recently is possible with the SP undocumented community, but are there other options I haven't considered or concerns about out-of-order packets with some of these choices?

This is sort of the reverse load-balancing problem most people ask with BGP.

Best Answer

I would ask for 'maximum-paths' (it's usually called ECMP in standards and documents, not ECLB). And if ECMP is non-starter, then fallback to your /25 plan.

Other acronyms that I couldn't immediately figure out were DIA (dedicated internet access?) and SOP (standard operating procedure?). I'm not sure if these are really so universal acronyms that they should be used in stackexchange without at least hovertext to resolve them.