Hi all,
I’m having difficulty for network access on the embedded mode.
My Bluefield2 smart nic can ping the host and host can ping bluefield2.
But I don’t have network connection.
Can some one explain how to use the ovs bridges to set the route for network connection?
ovs-vsctl show
31d2a29e-d043-4f8b-94d0-5dd4d47198d7
Bridge ovsbr2
Port p1
Interface p1
Port pf1hpf
Interface pf1hpf
Port ovsbr2
Interface ovsbr2
type: internal
Port en3f1pf1sf0
Interface en3f1pf1sf0
Bridge ovsbr1
Port p0
Interface p0
Port ovsbr1
Interface ovsbr1
type: internal
Port en3f0pf0sf0
Interface en3f0pf0sf0
Port pf0hpf
Interface pf0hpf
ovs_version: “2.14.1”
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:
Thanks Justine for the clarification,
one follow up question: does the oob_net0 give us network connectivity only on the separated mode? How should we set the oob_net0 interface to give us network access? Our oob_net0 interface is connected to VLAN, but we still can’t perform apt-get update to finish doca installation.
Also in the link you shared with us, what are p3p1 and p4p2 interfaces? Are these internal interfaces that connect bluefield to the host? or the interfaces that connect bluefield to the switch?
The oob_net0 interface is meant to be used to connect into an IMPI network that’s typically 1gbps copper. Most data centers have a low speed 1gbps out of band management network.
For the apt update to work, DNS resolution must work and you must have a route to the internet. Do you have DNS servers configured and do you have a route to reach the configured DNS servers?
We used netplan to set the IP addresses and gateway. The DNS is the same as the host’s DNS. The host is able to ping the DNS server but from the smartnic , we are unable to ping the DNS server. We are behind proxy.
And the ovs-vsctl show :
root@localhost:~# ovs-vsctl show
c8599771-cb29-432e-9087-070acfe56d20
Bridge ovsbr1
Port p0
Interface p0
Port ovsbr1
Interface ovsbr1
type: internal
Port en3f0pf0sf0
Interface en3f0pf0sf0
Port pf0hpf
Interface pf0hpf
Bridge ovsbr2
Port pf1hpf
Interface pf1hpf
Port p1
Interface p1
Port ovsbr2
Interface ovsbr2
type: internal
Port en3f1pf1sf0
Interface en3f1pf1sf0
ovs_version: “2.14.1”
Can you tell us where we could be going wrong? The host can ping the DNS but the smartnic cannot ping the IP assigned to the host side as well it cannot ping the DNS.
Hi Anu,
Try $ systemctl status openvswitch-switch.service
Regarding the ping issue.
The topology is not very clear to me.
The host is connected to a BF2 with a PCI slot. Did you connect the BF2 ports to a switch which has access to the DNS server? is it possible the server you’re using has an additional management port (not related to the BF2) which is allows access to the DNS server? Can you dump the routing table for both the host and the ARM device using ‘route -n’?