Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions calico-vpp-agent/cni/podinterface/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,22 @@ func (i *PodInterfaceDriverData) DoPodInterfaceConfiguration(podSpec *model.Loca
return errors.Wrapf(err, "error setting new pod if up")
}

/*
* VPP patch "ip-neighbor: do not use sas to determine NS source address"
* makes NS always use the interface’s link‑local address. CalicoVPP pod
* interfaces are unnumbered and never had IPv6 explicitly enabled, so no
* link‑local address existed on the pod interface. This breaks IPv6
* neighbor resolution and traffic. Enable IPv6 on L2 pod interfaces for
* ND to work; L3 pod interfaces do not have an Ethernet link to resolve.
*/
_, hasv6 := podSpec.Hasv46()
if hasv6 && !*ifSpec.IsL3 {
err = i.vpp.EnableInterfaceIP6(swIfIndex)
if err != nil {
return errors.Wrapf(err, "error enabling ipv6 on pod interface")
}
}

err = i.vpp.SetInterfaceRxMode(swIfIndex, types.AllQueues, ifSpec.GetRxModeWithDefault(types.AdaptativeRxMode))
if err != nil {
return errors.Wrapf(err, "error SetInterfaceRxMode on pod if interface")
Expand Down
3 changes: 0 additions & 3 deletions vpplink/generated/vpp_clone_current.sh
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,6 @@ git_clone_cd_and_reset "$VPP_DIR" ${BASE}
git_cherry_pick refs/changes/26/34726/3 # 34726: interface: add buffer stats api | https://gerrit.fd.io/r/c/vpp/+/34726
git_cherry_pick refs/changes/43/42343/2 # 42343: vcl: LDP default to regular option | https://gerrit.fd.io/r/c/vpp/+/42343

# This is the commit which broke IPv6 from v3.28.0 onwards.
git_revert refs/changes/75/39675/5 # ip-neighbor: do not use sas to determine NS source address

# testing new cnat stuff
git_cherry_pick refs/changes/89/41089/31 # https://gerrit.fd.io/r/c/vpp/+/41089 cnat: combine multiple changes
git_cherry_pick refs/changes/69/43369/16 # https://gerrit.fd.io/r/c/vpp/+/43369 cnat: converge new cnat implementation to support encaps (calico)
Expand Down
Loading