Skip to content

sync: merge openconfig/kne upstream main (May 2026)#23

Merged
msupinodn merged 6 commits into
mainfrom
sync/upstream-2026-05
May 26, 2026
Merged

sync: merge openconfig/kne upstream main (May 2026)#23
msupinodn merged 6 commits into
mainfrom
sync/upstream-2026-05

Conversation

@msupinodn

Copy link
Copy Markdown
Collaborator

Summary

Sync from openconfig/kne upstream main into the drivenets fork. Merge is clean (no manual conflict resolution required); all drivenets-specific changes preserved.

Upstream commits brought in

Drivenets bits preserved

  • manifests/meshnet/{grpc,vxlan}/manifest.yaml still point at public.ecr.aws/drivenets/meshnet-cni:v0.5.0-dn (hardened fork)
  • manifests/controllers/cdnos/manifest.yaml still points users at drivenets/cdnos-controller raw URL
  • topo/node/drivenets/drivenets.go keeps Azure LB annotations, CDNOS/MCDNOS model support, service-cleanup waiter, node-selector flag

Validation

  • go mod tidy clean
  • go build ./... clean
  • go vet ./... clean
  • go test -short ./... passes for all packages except cisco, juniper, cloudbuild/vendors — these three also fail on stock upstream/main (require external scrapli devices / ondatra testbed), so not regressions.

Notes / follow-ups

GitHub now reports 10 dependabot alerts (1 critical, 6 high, 3 moderate) on default branch — same set surfaced by govulncheck in the earlier code review (mostly golang.org/x/net@v0.47.0, golang.org/x/crypto@v0.45.0, grpc@v1.65.0, docker/docker@v28.1.1). Separate PR recommended to bump these.

Made with Cursor

jasdeep-hundal and others added 6 commits March 18, 2026 08:55
* Upgrade k8s to 1.35

* cloud-provider-gcp no longer uses Bazel build

* Set go path for auth-provider-gcp build
* configure containerd mirror for registry.k8s.io

* update path for internal

* fix config path

* enable authentication for kubelet containerd mirrors

* use kne-external for infra containers

---------

Co-authored-by: Neha Manjunath <nehamanjunath@google.com>
* update srlinux controller manifest

* bump srl-controller
* Add support for IN_CLUSTER_PROXY node type
- Update proto/topo.proto with `IN_CLUSTER_PROXY` in Vendor and `Node.Type` enums.
- Create `topo/node/inclusterproxy` package implementing `Node` interface.
- Set default image to `nicolaka/netshoot:latest` and enforce at least 1 `Service`.
- Enforce link constraints to allow exactly one interface (`eth1`).
- Add warning if `socat` is missing from `Command` or `Args`.
- Update `topo/topo.go` to register the new node type.
- Add unit tests in `topo/node/inclusterproxy/inclusterproxy_test.go`.

* Add support for IN_CLUSTER_PROXY node type
- Update proto/topo.proto with `IN_CLUSTER_PROXY` in Vendor and `Node.Type` enums.
- Create `topo/node/inclusterproxy` package implementing `Node` interface.
- Set default image to `nicolaka/netshoot:latest` and enforce at least 1 `Service`.
- Enforce link constraints to allow exactly one interface (`eth1`).
- Enforce that `proxy-pool-for` label is present in static configuration.
- Add static validation assuring `eth1` is connected directly to the node given in `proxy-pool-for`.
- Add automatic `socat` command generation using `peer-ip` and `target-port` labels:
    - Supports IPv4 address allocation arithmetic using `/31` masks.
    - Adds IPv6 support using `/127` arithmetic and handles `TCP6-LISTEN` argument switches.
- Update `topo/topo.go` to register the new node type.
- Update `topo/topo.go` to register the new node type.
- Add unit tests in `topo/node/inclusterproxy/inclusterproxy_test.go`.

* Fix config labels for peer ip

* Rename calculateStaticIP to deriveAdjacentIP

* Fix typos

* Fix failing valid_pb_with_automatic_generation_ipv

* Fix lint errors
)

* Relax IN_CLUSTER_PROXY link validation to support
early addDefaults() passes

When loading KNE topologies via the Ondatra testbed framework (knegcebind),
an early `addDefaults()` pass instantiates nodes via `node.New()` to
calculate default values. Since this pass occurs before the KNE topology
manager has fully resolved cross-node links, `eth1.PeerName` is empty
during initialization.

* Relax IN_CLUSTER_PROXY link validation to support
early addDefaults() passes

When loading KNE topologies via the Ondatra testbed framework (knegcebind),
an early `addDefaults()` pass instantiates nodes via `node.New()` to
calculate default values. Since this pass occurs before the KNE topology
manager has fully resolved cross-node links, `eth1.PeerName` is empty
during initialization.
@msupinodn msupinodn merged commit eee2421 into main May 26, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants