Skip to content

Conversation

@edipascale
Copy link
Contributor

regardless of fabric or mesh links. this allows us to e.g. connect gateways to leaves in spine-leaf topologies, whereas right now the VTEP of the gateway would not be advertised by the leaf attached to it. The only
downside of this is that we are advertising some routes which will be rejected by our peers, but the configuration is simpler, and the alternative (adding the gateway VTEP to the prefix list of advertised routes) is quite convoluted, since that VTEP is only present on the gateway object, not on the connection.

Fix #1237

@github-actions
Copy link

🚀 Temp artifacts published: v0-852cc9eaa 🚀

regardless of fabric or mesh links. this allows us to
e.g. connect gateways to leaves in spine-leaf topologies,
whereas right now the VTEP of the gateway would not be
advertised by the leaf attached to it. The only
downside of this is that we are advertising some routes
which will be rejected by our peers, but the configuration
is simpler, and the alternative (adding the gateway VTEP
to the prefix list of advertised routes) is quite convoluted,
since that VTEP is only present on the gateway object, not
on the connection.

Signed-off-by: Emanuele Di Pascale <emanuele@githedgehog.com>
@edipascale edipascale force-pushed the ema/gw-on-leaf-non-mesh branch from 852cc9e to 0f9efce Compare January 5, 2026 08:57
@github-actions
Copy link

github-actions bot commented Jan 5, 2026

🚀 Temp artifacts published: v0-0f9efce44 🚀

@edipascale
Copy link
Contributor Author

all good on vlab, i.e. with:

core@control-1 ~ $ k get conn leaf-05--gateway--gateway-1 -o yaml
apiVersion: wiring.githedgehog.com/v1beta1
kind: Connection
metadata:
  creationTimestamp: "2026-01-05T09:27:53Z"
  generation: 1
  labels:
    fabric.githedgehog.com/connection-type: gateway
    switch.fabric.githedgehog.com/leaf-05: "true"
  name: leaf-05--gateway--gateway-1
  namespace: default
  resourceVersion: "3632"
  uid: 05e22763-b7b5-4972-bfa4-c1e989e75bdb
spec:
  gateway:
    links:
    - gateway:
        ip: 172.30.128.1/31
        port: gateway-1/enp2s1
      switch:
        ip: 172.30.128.0/31
        port: leaf-05/E1/8

release tests pass:

11:18:45 INF *** Recap of the test results ***
11:18:45 INF Test suite results suite="No VPCs Suite"
11:18:45 WRN SKIP test="Breakout ports" reason="There are virtual switches"
11:18:45 WRN SKIP test="Loki Observability" reason="Loki is not configured or available"
11:18:45 WRN SKIP test="Prometheus Observability" reason="Prometheus is not configured or available"
11:18:45 INF Test suite summary tests=3 passed=0 skipped=3 failed=0 duration=0s
11:18:45 INF Test suite results suite="Single VPC Suite"
11:18:45 INF PASS test="No restrictions"
11:18:45 WRN SKIP test="Single VPC with restrictions" reason="There are virtual switches"
11:18:45 INF PASS test="DNS/NTP/MTU/DHCP lease"
11:18:45 INF PASS test="DHCP renewal"
11:18:45 WRN SKIP test="MCLAG Failover" reason="There are virtual switches"
11:18:45 WRN SKIP test="ESLAG Failover" reason="There are virtual switches"
11:18:45 WRN SKIP test="Bundled Failover" reason="There are virtual switches"
11:18:45 WRN SKIP test="Spine Failover" reason="There are virtual switches"
11:18:45 WRN SKIP test="Mesh Failover" reason="There are virtual switches"
11:18:45 WRN SKIP test="RoCE flag and basic traffic marking" reason="There are no switches that support RoCE"
11:18:45 INF Test suite summary tests=10 passed=3 skipped=7 failed=0 duration=13m14s
11:18:45 INF Test suite results suite="Multi-Subnets VPC Suite"
11:18:45 INF PASS test="Multi-Subnets no restrictions"
11:18:45 WRN SKIP test="Multi-Subnets isolation" reason="There are virtual switches"
11:18:45 WRN SKIP test="Multi-Subnets with filtering" reason="There are virtual switches"
11:18:45 WRN SKIP test=StaticExternal reason="There are virtual switches"
11:18:45 INF Test suite summary tests=4 passed=1 skipped=3 failed=0 duration=4m9s
11:18:45 INF Test suite results suite="Basic VPC Peering Suite"
11:18:45 WRN SKIP test="Starter Test" reason="There are no externals"
11:18:45 WRN SKIP test="Only Externals" reason="There are no externals"
11:18:45 INF PASS test="Full Mesh All Externals"
11:18:45 INF PASS test="Full Loop All Externals"
11:18:45 WRN SKIP test="Sergei's Special Test" reason="There are no externals"
11:18:45 INF PASS test="Gateway Peering"
11:18:45 INF PASS test="Gateway Peering Loop"
11:18:45 INF PASS test="Mixed VPC and Gateway Peering Loop"
11:18:45 WRN SKIP test="Mixed Gateway and Fabric External Peering" reason="There are no externals"
11:18:45 INF Test suite summary tests=9 passed=5 skipped=4 failed=0 duration=31m30s
11:18:45 INF All tests completed duration=48m54.824021512s

@edipascale edipascale marked this pull request as ready for review January 6, 2026 10:37
@edipascale edipascale requested a review from a team as a code owner January 6, 2026 10:37
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.

support gateway connection on leaves in spine-leaf topologies

2 participants