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)