From 7843898eadfec6e708ccadf8d434b82143ccfa54 Mon Sep 17 00:00:00 2001 From: Ananya Banerjee Date: Mon, 2 Mar 2026 15:11:50 +0100 Subject: [PATCH] net, udn: Change passt binding plugin to core binding As a part of the passt-beta VEP [1] passt is now a core binding instead of a binding plugin. This commit updates the udn passt tests so that they use VMs with interface that has passtBinding instead of binding:passt [1] https://github.com/kubevirt/enhancements/blob/main/veps/sig-network/passt/passt-beta.md --- libs/net/udn.py | 8 ++++++-- libs/vm/spec.py | 1 + .../test_user_defined_network_passt.py | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/libs/net/udn.py b/libs/net/udn.py index 36eaa35608..b5299a6343 100644 --- a/libs/net/udn.py +++ b/libs/net/udn.py @@ -8,11 +8,15 @@ from utilities.infra import create_ns UDN_BINDING_DEFAULT_PLUGIN_NAME: Final[str] = "l2bridge" -UDN_BINDING_PASST_PLUGIN_NAME: Final[str] = "passt" +UDN_PASST_CORE_BINDING_NAME: Final[str] = "passtBinding" def udn_primary_network(name: str, binding: str) -> tuple[Interface, Network]: - return Interface(name=name, binding=NetBinding(name=binding)), Network(name=name, pod={}) + if binding == UDN_PASST_CORE_BINDING_NAME: + interface = Interface(name=name, passtBinding={}) + else: + interface = Interface(name=name, binding=NetBinding(name=binding)) + return interface, Network(name=name, pod={}) def create_udn_namespace( diff --git a/libs/vm/spec.py b/libs/vm/spec.py index 2377dcbcf6..d4bfc97954 100644 --- a/libs/vm/spec.py +++ b/libs/vm/spec.py @@ -74,6 +74,7 @@ class Interface: masquerade: dict[Any, Any] | None = None bridge: dict[Any, Any] | None = None sriov: dict[Any, Any] | None = None + passtBinding: dict[Any, Any] | None = None # noqa: N815 binding: NetBinding | None = None state: str | None = None diff --git a/tests/network/user_defined_network/test_user_defined_network_passt.py b/tests/network/user_defined_network/test_user_defined_network_passt.py index ee84de8518..cf05e9bf4a 100644 --- a/tests/network/user_defined_network/test_user_defined_network_passt.py +++ b/tests/network/user_defined_network/test_user_defined_network_passt.py @@ -9,7 +9,7 @@ from timeout_sampler import TimeoutExpiredError, retry from libs.net.traffic_generator import client_server_active_connection, is_tcp_connection -from libs.net.udn import UDN_BINDING_PASST_PLUGIN_NAME +from libs.net.udn import UDN_PASST_CORE_BINDING_NAME from libs.net.vmspec import lookup_primary_network from libs.vm.vm import BaseVirtualMachine from tests.network.libs.vm_factory import udn_vm @@ -58,14 +58,14 @@ def passt_running_vm_pair( name="vma-passt", client=admin_client, template_labels=dict((udn_affinity_label,)), - binding=UDN_BINDING_PASST_PLUGIN_NAME, + binding=UDN_PASST_CORE_BINDING_NAME, ) as vm_a, udn_vm( namespace_name=udn_namespace.name, name="vmb-passt", client=admin_client, template_labels=dict((udn_affinity_label,)), - binding=UDN_BINDING_PASST_PLUGIN_NAME, + binding=UDN_PASST_CORE_BINDING_NAME, ) as vm_b, ): vm_a.start(wait=False)