Bluefiled smartnic mode, x86 host pf(p4p1) ping nic pf representor(pf0hpf) fail, Destination Host Unreachable

I following the post “BlueField-SmartNIC-Modes”, change my bluefield to smartnic mode. After that, i configure ip to x86 host side pf interface(p4p1, 192.168.200.1/24) and nic side pf representor(pf0hpf, 192.168.200.2/24). In x86 host, i ping 192.168.200.2 failure, error msg “Destination Host Unreachable”. I check the system’s route table, it is correct. Did i missed some important step?

========

x86 host side:

mlxfwmanager -d /dev/mst/mt41682_pciconf0 --query

Querying Mellanox devices firmware …

Device #1:


Device Type: BlueField

Part Number: MBF1M332A-ASNAx_Ax

Description: BlueField™ SmartNIC 25GbE dual-port SFP28; PCIe Gen3.0/4.0 x8; BlueField™ G-Series 16 Cores; Crypto disabled; 16GB on-board DDR; HHHL; ROHS R6

PSID: MT_0000000317

PCI Device Name: /dev/mst/mt41682_pciconf0

Base GUID: 0c42a10300d72c8c

Base MAC: 0c42a1d72c8c

Versions: Current Available

FW 18.27.2008 18.26.1040

NVMe 20.1.0003 20.1.0003

PXE 3.5.0901 3.5.0803

UEFI 14.20.0022 14.19.0014

Status: Up to date

ip addr show dev p4p1

11: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

link/ether 0c:42:a1:d7:2c:8c brd ff:ff:ff:ff:ff:ff

inet 192.168.200.1/24 scope global p4p1

valid_lft forever preferred_lft forever

ip route get 192.168.200.2

192.168.200.2 dev p4p1 src 192.168.200.1

cache

ping 192.168.200.2

PING 192.168.200.2 (192.168.200.2) 56(84) bytes of data.

From 192.168.200.1 icmp_seq=1 Destination Host Unreachable

From 192.168.200.1 icmp_seq=2 Destination Host Unreachable

From 192.168.200.1 icmp_seq=3 Destination Host Unreachable

snic side:

ip a show pf0hpf

8: pf0hpf: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

link/ether fa:09:48:1d:3a:21 brd ff:ff:ff:ff:ff:ff

inet 192.168.200.2/24 scope global pf0hpf

valid_lft forever preferred_lft forever

ip route get 192.168.200.1

192.168.200.1 dev pf0hpf src 192.168.200.2 uid 0

cache

  1. Please avoid use ip xxx.xxx.xxx.1, it is default route gw ip.
  2. On same linux server it is nature that use same subnet ip on 2 port will not work, since linux kernel route table limit, you can check on kernel.org or Redhat website.

You can set different subnet ip on 2 port and correct iproute rules.