Hey there. This guide might help demystify all of these interfaces in the ovs bridge: vSwitch and Representors Model :: NVIDIA DOCA SDK Documentation
When in ECPF ownership mode, we see 2 representors for each one of the DPU’s network ports: one for the uplink, and another one for the host side PF (the PF representor created even if the PF is not probed on the host side).
if you check the output of mlnx-sf -a show
on the DPU you’ll see the kernel netdev and the representor names for the DPU itself.
root@localhost:/home/ubuntu# mlnx-sf -a show
SF Index: pci/0000:03:00.0/294928
Parent PCI dev: 0000:03:00.0
Representor netdev: en3f0pf0sf0
Function HWADDR: 02:36:6a:1e:4d:9d
Auxiliary device: mlx5_core.sf.2
netdev: enp3s0f0s0
RDMA dev: mlx5_2
SF Index: pci/0000:03:00.1/360464
Parent PCI dev: 0000:03:00.1
Representor netdev: en3f1pf1sf0
Function HWADDR: 02:33:e3:2f:c8:42
Auxiliary device: mlx5_core.sf.3
netdev: enp3s0f1s0
RDMA dev: mlx5_3
The Representor netdev
devices are already connected (added to) the OVS bridge by default, so we only need to use netplan to assign an IP address to enp3s0f1s0
or enp3s0f0s0
(or both) and that should work. Here’s an example netplan config:
root@localhost:/home/ubuntu# cat /etc/netplan/60-mlnx.yaml
network:
ethernets:
enp3s0f0s0:
dhcp4: no
addresses:
- X.X.X.X/24
gateway4: X.X.X.X
nameservers:
addresses: [X.X.X.X, Y.Y.Y.Y]
enp3s0f1s0:
dhcp4: 'false'
renderer: networkd
version: 2