Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
13 changes: 11 additions & 2 deletions calico-cloud/operations/ebpf/enabling-ebpf.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +243 to +244

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +243 to +244

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
13 changes: 11 additions & 2 deletions calico-enterprise/operations/ebpf/enabling-ebpf.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +230 to +231

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +198 to +199

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +198 to +199

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +230 to +231

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +230 to +231

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,17 @@ resource to `"BPF"`.
kubectl patch installation.operator.tigera.io default --type merge -p '{"spec":{"calicoNetwork":{"linuxDataplane":"BPF"}}}'
```

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:
Comment on lines +230 to +231

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

:::note

Expand Down
13 changes: 11 additions & 2 deletions calico/operations/ebpf/enabling-ebpf.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -391,8 +391,17 @@ calicoctl patch felixconfiguration default --patch='{"spec": {"bpfEnabled": true

</Tabs>

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

### Next steps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,8 +358,17 @@ calicoctl patch felixconfiguration default --patch='{"spec": {"bpfEnabled": true

</Tabs>

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

### Try out direct server return mode

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,8 +392,17 @@ calicoctl patch felixconfiguration default --patch='{"spec": {"bpfEnabled": true

</Tabs>

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

### Next steps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -391,8 +391,17 @@ calicoctl patch felixconfiguration default --patch='{"spec": {"bpfEnabled": true

</Tabs>

When enabling eBPF mode, preexisting connections continue to use the non-BPF datapath; such connections should
not be disrupted, but they do not benefit from eBPF mode’s advantages.
When enabling eBPF mode, preexisting connections keep using the non-eBPF datapath. They do not benefit from
eBPF mode’s advantages, and whether they survive the switch depends on the protocol:

- **TCP connections continue to work**, including any address translation applied to them. The translation
lives in the Linux conntrack entry rather than in the `kube-proxy` rules that $[prodname] removes, so a
connection through a service keeps reaching the backend it was already using.
- **Traffic that is not TCP is treated as new.** eBPF mode cannot tell a packet from an established UDP flow
apart from a fresh one, so it applies policy and picks a service backend again. A UDP flow to a service
with several backends can move to a different backend.
- **Connections over a VXLAN overlay do not survive.** $[prodname] recreates the VXLAN device when it
switches to eBPF mode, and the kernel drops the conntrack state for the flows through it.

### Next steps

Expand Down