Commit c66afe4
vxlan: use remote next-hop gateway for pod CIDR tunnel routes
Commit 47563a4 changed VXLAN pod-CIDR routes from `Gw: nodeIP` to `Gw: nil`
to avoid local-IP adj-sourced side effects and UNRESOLVED encap DPO issues.
`Gw: nil` is valid for IPIP (P2P tunnel semantics), but VXLAN is non-P2P.
VXLAN tunnels in VPP lack `VNET_HW_INTERFACE_CLASS_FLAG_P2P` (unlike IPIP).
With `Gw:nil` on a non-P2P interface, VPP creates an attached/glean FIB
entry (`FIB_PATH_TYPE_ATTACHED`) and attempts NDP for each destination
directly on the VXLAN tunnel which triggers unresolved neighbor resolution
behavior on the tunnel path.
Fixed the code to use `cn.NextHop` (remote node IP / tunnel destination)
as the gateway. This creates `FIB_PATH_TYPE_ATTACHED_NEXT_HOP`, which
resolves via NDP on the uplink (tunnel is unnumbered) and does not
conflict with the encap DPO since the remote IP has no local receive route.
Signed-off-by: Aritra Basu <aritrbas@cisco.com>1 parent f6d842a commit c66afe4
1 file changed
+4
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
214 | | - | |
| 214 | + | |
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| |||
261 | 261 | | |
262 | 262 | | |
263 | 263 | | |
264 | | - | |
| 264 | + | |
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | | - | |
| 289 | + | |
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
299 | | - | |
| 299 | + | |
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
| |||
0 commit comments