Server 2012, 2016: BGP does not resolve routes over teamed interfaces
Ran into this one while investigating BGP deployment for multi-homed servers to solve the static route mess.
- BGP configured between Windows and [whatever: router, switch, etc]
- Windows host receives routes with different next hops: some have the peer as next hop, some are via other subnets that the host lives in, so directly connected.
- Everything works fine, routes get resolved and installed, get-netroute and ger-bgprouteinformation have them.
Problems start when either the peering interface or another interface involved in the next hops, is a teamed interface or a VLAN subinterface of a teamed interface:
- If BGP receives a route with next-hop via a teamed interface, route does not get installed
- If the peering is over a teamed interface, the peering itself will be up, but no routes via the peer will be installed
- If I set -DefaultGatewayRouting for BGP, the routes do get installed, obviously with the default GW as next hop, but this means that without this option, these routes are unresolved.
- Teamed interfaces also cannot be added to BGP to announce their prefixes. "Add-BgpCustomRoute -Interface [team name]" always comes back with "interface [team name] not found".
It basically seems as if teamed interfaces are "incompatible" with Windows' BGP - and teaming is the only way I know to enable VLAN tagging, and therefore there is no way to run BGP if teaming is involved.
Can someone in the know answer if this is a bug / missing feature or if there is some exotic property that needs to be enabled on teamed interfaces to play nicely with BGP? Does Server 2019 change this?
Just to pre-empt: I don't think there is any need to post details of my configuration, topology or vendors used. Reproducing this is trivial. Any BGP peering, any routes. Next hop via team = unresolved.