Skip to content
Merged
Changes from all commits
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
20 changes: 4 additions & 16 deletions docs/network/net_binding_plugins/passt.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,11 @@ Its main benefits are:
| Primary network (pod network) | Yes |
| Secondary network | No |

### Node optimization requirements/recommendations:

1. To get better performance the node should be configured with:
```
sysctl -w net.core.rmem_max = 33554432
sysctl -w net.core.wmem_max = 33554432
```
2. To run multiple passt VMs with no explicit ports, the node's `fs.file-max` should be increased
(for a VM forwards all IPv4 and IPv6 ports, for TCP and UDP, passt needs to create ~2^18 sockets):
```
sysctl -w fs.file-max = 9223372036854775807
```

> **NOTE**: To achieve optimal memory consumption with Passt binding,
> specify ports required for your workload.
> When no ports are explicitly specified, all ports are forwarded,
> leading to memory overhead of up to 800 Mi.
> leading to memory overhead of up to 250 Mi.

## Passt network binding plugin
[v1.1.0]
Expand Down Expand Up @@ -124,7 +112,7 @@ The relevant sidecar image needs to be accessible by the cluster and
specified in the Kubevirt CR when registering the network binding plugin.

### Feature Gate
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section needs to be retained for backward compatibility with KubeVirt versions prior to v1.5, which are still within our support window. Additionally, this change appears unrelated to the optimizations described in the commit message.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you might want to see conflicts about #926

imo keep the PR focusing only on the optimization req, nothing else

If not already set, add the `NetworkBindingPlugins` FG.
For KubeVirt versions prior to v1.5, make sure to enable the `NetworkBindingPlugins` FG.
```
kubectl patch kubevirts -n kubevirt kubevirt --type=json -p='[{"op": "add", "path": "/spec/configuration/developerConfiguration/featureGates/-", "value": "NetworkBindingPlugins"}]'
```
Expand All @@ -147,7 +135,7 @@ kubectl patch kubevirts -n kubevirt kubevirt --type=json -p='[{"op": "add", "pat
"migration": {},
"computeResourceOverhead": {
"requests": {
"memory": "500Mi",
"memory": "250Mi",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

regarding memory changes
there is lgtmed PR that already does those
#916

if something is missing, it is better to comment there instead please

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't the merge take care of that?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if 916 is merged first then yes, otherwise, it doesnt make sense to include it in this PR
so in both cases it doesnt need to be in this PR, moreover it is not related to PR desc

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see how this can cause a problem, and 916 should be merged.

}
}
}
Expand All @@ -159,7 +147,7 @@ The NetworkAttachmentDefinition and sidecarImage values should correspond with t
names used in the previous sections, [here](#passt-networkattachmentdefinition)
and [here](#passt-sidecar-image).

When using the plugin, additional memory overhead of `500Mi` will be requested for the compute container in the virt-launcher pod.
When using the plugin, additional memory overhead of `250Mi` will be requested for the compute container in the virt-launcher pod.

When the VM boots for the first time, Passt's internal DHCP server assigns an IP address to the guest with an "infinite" lease duration.

Expand Down