Skip to content
Open
Show file tree
Hide file tree
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
8 changes: 6 additions & 2 deletions libs/net/udn.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
1 change: 1 addition & 0 deletions libs/vm/spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down