Skip to content

Commit d6a4045

Browse files
committed
doc(ipv6): add differences in --override-nexthop
1 parent 85bcde8 commit d6a4045

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

docs/ipv6.md

+19
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,25 @@ If you are upgrading kube-router from a pre v2.0.0 release to a v2.0.0 release,
109109
your upgrade of kube-router with a rolling reboot of your Kubernetes fleet to clean up any tunnels that were left from
110110
previous versions of kube-router.
111111

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+
112131
### kube-router.io/node.bgp.customimportreject Can Only Contain IPs of a Single Family
113132

114133
Due to implementation restrictions with GoBGP, the annotation `kube-router.io/node.bgp.customimportreject`, which allows

0 commit comments

Comments
 (0)