Skip to content
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

Enable Calico dataplanes to operate in a dual mode (internal plus external together) #9724

Open
VadimEisenberg opened this issue Jan 15, 2025 · 0 comments

Comments

@VadimEisenberg
Copy link

VadimEisenberg commented Jan 15, 2025

Currently, for Felix it is possible to use either the Internal dataplane driver or an external one. In NeuReality, our hardware employs a dual network stack for different types of traffic. One is the standard Linux stack, for which the internal Felix dataplane is used. For the other network stack, we developed our own dataplane driver (external).

We propose to change Calico code to enable using two dataplane drivers simultaneously. The internal dataplane driver will be designated as the primary one, the external dataplane driver will be designated as the secondary one. Felix will send messages to both dataplanes, but will receive messages from the primary dataplane only.

The change should not be disruptive to the current users of Calico since they will continue to specify either internal or external dataplane driver. In case both drivers will be specified, the dual dataplane mode will be employed.

The change is very simple, here is the PR - #9723.

Expected Behavior

When both internal dataplane driver and an external dataplane driver are specified, both should run in dual mode: sending messages to both dataplane drivers but receiving messages from the internal dataplane driver only (the primary one).

Current Behavior

Currently, only one dataplane driver can be specified – either the internal one or an external one.

Possible Solution

Here is a possible PR to implement it #9723.

Context

Our hardware employs a dual network stack for different types of traffic. One is the standard Linux stack, for which the internal Felix dataplane is used. For the other network stack, we developed our own dataplane driver (external).

Your Environment

  • Calico dataplane: the internal Linux dataplane driver + our custom one
  • Orchestrator version Kubernetes
  • Link to your project (optional): NeuReality | We Make AI Easy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants