@@ -109,6 +109,25 @@ If you are upgrading kube-router from a pre v2.0.0 release to a v2.0.0 release,
109
109
your upgrade of kube-router with a rolling reboot of your Kubernetes fleet to clean up any tunnels that were left from
110
110
previous versions of kube-router.
111
111
112
+ ### Differences in --override-nexthop
113
+
114
+ While v2.X and above versions of kube-router are IPv6 compatible and advertise both IPv4 and IPv6 addresses, it still
115
+ does this over a single BGP peering. This peering is made from what kube-router considers the node's primary IP address.
116
+ Which is typically the first internal IP address listed in the node's Kubernetes metadata (e.g. ` kubectl get node ` )
117
+ unless it is overriden by a [ local-address annotation] ( bgp.md#bgp-peer-local-ip-configuration ) configuration.
118
+
119
+ This address with be either an IPv4 or IPv6 address and kube-router will use this to make the peering. Without
120
+ ` --override-nexthop ` kube-router does the work to ensure that an IP or subnet is advertised by the matching IP family
121
+ for the IP or subnet. However, with ` --override-nexthop ` enabled kube-router doesn't have control over what the next-hop
122
+ for the advertised route will be. Instead the next-hop will be overridden by the IP that is being used to peer with
123
+ kube-router.
124
+
125
+ This can cause trouble for many configurations and so it is not recommended to use ` --override-nexthop ` in dual-stack
126
+ kube-router configurations. Where this really shows though is when kube-router is syncing pod IP subnets across BGP
127
+ between other kube-router peers that are not in the same subnet or in full mesh scenarios. Because of this, starting
128
+ with v2.0 versions of kube-router, even when ` --override-nexthop ` is specified we do not enable it for kube-router peers
129
+ for the pod IP subnets. See [ 1523] ( https://github.com/cloudnativelabs/kube-router/pull/1523 ) for more information.
130
+
112
131
### kube-router.io/node.bgp.customimportreject Can Only Contain IPs of a Single Family
113
132
114
133
Due to implementation restrictions with GoBGP, the annotation ` kube-router.io/node.bgp.customimportreject ` , which allows
0 commit comments