Skip to content

Test #36359

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed

Test #36359

wants to merge 5 commits into from

Conversation

pchaigno
Copy link
Member

@pchaigno pchaigno commented Dec 4, 2024

TODO:

  • Fix frag in common case.
  • Fix LRP in common case.
  • Fix frag in new case.
  • Fix encryption test v2 in new case.
  • Check L7.
  • Add test case for dual stack.
  • Use new flag.
  • Add tests for new flag.
  • Document new flag.
  • Fix XDP acceleration+egressgw in common case.
  • Reject unsupported features.
  • Fix dual-stack with IPv6 underlay.
  • Fix egressgw in dual-stack with IPv6 underlay
  • Fix IPv6-only + kube-proxy.
  • Fix UDP checksum issue on IPv6 per-packet LB.

@pchaigno pchaigno added the release-note/ci This PR makes changes to the CI. label Dec 4, 2024
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch 21 times, most recently from c6e597b to 1fcd96a Compare December 9, 2024 18:09
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch 2 times, most recently from e39be24 to 24030e6 Compare December 17, 2024 10:04
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch 3 times, most recently from 9b3abdf to fc6df72 Compare January 8, 2025 18:20
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch 3 times, most recently from e3e760b to 5b14953 Compare January 10, 2025 22:20
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch 8 times, most recently from 46d8388 to 9fdc120 Compare April 22, 2025 08:50
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch 3 times, most recently from 4e1704c to db84e76 Compare May 1, 2025 11:23
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch from db84e76 to d57c518 Compare May 16, 2025 10:15

This comment was marked as resolved.

@github-actions github-actions bot added the stale The stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale. label Jun 16, 2025
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch from d57c518 to b8771a0 Compare June 20, 2025 08:38
@pchaigno pchaigno removed the stale The stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale. label Jun 20, 2025
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch from b8771a0 to 362cd95 Compare June 20, 2025 11:08
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch 4 times, most recently from e9bb6e3 to dfb1e96 Compare July 1, 2025 17:45
pchaigno and others added 4 commits July 2, 2025 11:52
This commit extends our local node logic to return the IPv6 node address
for CiliumEndpoint objects whenever the underlay is set to IPv6. This is
necessary to have the IPv6 address when populating the tunnel endpoint
in the ipcache. Otherwise, on dual-stack clusters, we would always end
up with the IPv4 address in CiliumEndpoints.

Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
The previous commit introduced a Hive dependency loop between the tunnel
package, the node store and the egress gateway manager:

    failed to start: cycle detected in dependency graph: [scope "pprof"]
    func(node.LocalNodeStoreParams) (*node.LocalNodeStore, error) provided by
      "github.com/cilium/cilium/pkg/node".NewLocalNodeStore
      (/go/src/github.com/cilium/cilium/pkg/node/local_node_store.go:110)
        depends on func(cmd.localNodeSynchronizerParams)
          node.LocalNodeSynchronizer provided by
          "github.com/cilium/cilium/daemon/cmd".newLocalNodeSynchronizer
          (/go/src/github.com/cilium/cilium/daemon/cmd/local_node_sync.go:97)
        depends on func(tunnel.newConfigIn) (tunnel.Config, error) provided by
          "github.com/cilium/cilium/pkg/datapath/tunnel".newConfig
          (/go/src/github.com/cilium/cilium/pkg/datapath/tunnel/tunnel.go:83)
        depends on func(egressgateway.Params)
          (struct {
            dig.Out;
            *egressgateway.Manager;
            defines.NodeOut;
            tunnel.EnablerOut
          }, error) provided by
          "github.com/cilium/cilium/pkg/egressgateway".NewEgressGatewayManager
          (/go/src/github.com/cilium/cilium/pkg/egressgateway/manager.go:165)
        depends on func(identitycachecell.identityAllocatorParams)
          identitycachecell.identityAllocatorOut provided by
          "github.com/cilium/cilium/pkg/identity/cache/cell".newIdentityAllocator
          (/go/src/github.com/cilium/cilium/pkg/identity/cache/cell/cell.go:111)
        depends on func(endpointmanager.endpointManagerParams)
          endpointmanager.endpointManagerOut provided by
          "github.com/cilium/cilium/pkg/endpointmanager".newDefaultEndpointManager
          (/go/src/github.com/cilium/cilium/pkg/endpointmanager/cell.go:228)
        depends on func(node.LocalNodeStoreParams) (*node.LocalNodeStore, error)
          provided by "github.com/cilium/cilium/pkg/node".NewLocalNodeStore
          (/go/src/github.com/cilium/cilium/pkg/node/local_node_store.go:110)

This commit works around the dependency loop.

Co-authored-by: Marco Iorio <marco.iorio@isovalent.com>
Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Commit 7cc1d53 ("mtu: Support tunneling over IPv6 in calculations")
adjusted the MTU calculation to take IPv6 underlays into account. But
because this commit was written before the underlay-protocol flag was
introduced, it simply assumed that we're in IPv6 underlay mode if
tunneling is enabled but IPv4 isn't.

That however doesn't work for dual-stack clusters with IPv6 underlay.
The present commit fixes it to use the underlay-protocol flag.

Fixes: 7cc1d53 ("mtu: Support tunneling over IPv6 in calculations")
Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
This commit switches one of the existing dual-stack configuration to use
an IPv6 underlay, to test subsequent changes in dual-stack mode (where
we can run more connectivity tests).

Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch from dfb1e96 to 7c82fc1 Compare July 2, 2025 09:53
Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
@pchaigno pchaigno force-pushed the pr/pchaigno/test-ipv6 branch from 7c82fc1 to 7169f48 Compare July 2, 2025 10:10
@pchaigno pchaigno closed this Jul 4, 2025
@pchaigno pchaigno deleted the pr/pchaigno/test-ipv6 branch July 4, 2025 07:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/ipv6-only Relates to single-stack IPv6 support. feature/ipv6 Relates to IPv6 protocol support release-note/ci This PR makes changes to the CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant