Hello, i following the docs “OVS-DPDK Hardware Offloads”, change my bluefield to smartnic mode and offloading vxlan on nic. After that, i can ping from a VM(bluefield pf1vf0) on the 1st host to a VM(intel 82599) on the 2nd host.
But when i run testpmd,on 1st host side VM, Tx-pps can reach 8.9Mpps, but Rx-pps only 0.7Mpps。
On the nic side, i can see p1 received 74M packets within 10 seconds, about 7Mpps
ifconfig p1 && sleep 10 && ifconfig p1
p1 Link encap:Ethernet HWaddr 0c:42:a1:d7:2c:93
…
RX packets:779972830 errors:133 dropped:108704031 overruns:0 frame:133
TX packets:796103555 errors:0 dropped:0 overruns:0 carrier:0
…
p1 Link encap:Ethernet HWaddr 0c:42:a1:d7:2c:93
…
RX packets:854586046 errors:133 dropped:108704031 overruns:0 frame:133
TX packets:796103555 errors:0 dropped:0 overruns:0 carrier:0
…
But the packets received on the br-phy and br-ovs is about 0.7Mpps. which is close to the result of the Rx-pps on 1st host side VM testpmd.
ovs-ofctl dump-ports br-phy && sleep 1 && ovs-ofctl dump-ports br-phy
OFPST_PORT reply (xid=0x2): 2 ports
port p1: rx pkts=60309233, bytes=6900554986, drop=0, errs=0, frame=?, over=?, crc=?
tx pkts=7970, bytes=913092, drop=0, errs=0, coll=?
port LOCAL: rx pkts=392, bytes=34817, drop=10, errs=0, frame=0, over=0, crc=0
tx pkts=1604390, bytes=847040367, drop=0, errs=0, coll=0
OFPST_PORT reply (xid=0x2): 2 ports
port p1: rx pkts=61088861, bytes=6989771834, drop=0, errs=0, frame=?, over=?, crc=?
tx pkts=7970, bytes=913092, drop=0, errs=0, coll=?
port LOCAL: rx pkts=392, bytes=34817, drop=10, errs=0, frame=0, over=0, crc=0
tx pkts=1604390, bytes=847040367, drop=0, errs=0, coll=0
Did i missed some important step?
========
1st host side VM:
ip addr:
ens8: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1450 qdisc mq state UP group default qlen 1000
link/ether ea:53:ca:c7:cf:4d brd ff:ff:ff:ff:ff:ff
inet 20.0.0.1/24 brd 20.0.0.255 scope global ens8
valid_lft forever preferred_lft forever
SmartNIC side:
ovs-vsctl show
b5c3d34f-d58b-46ea-8542-6ba7aac4d836
Bridge br-phy
fail_mode: standalone
datapath_type: netdev
Port br-phy
Interface br-phy
type: internal
Port “p1”
Interface “p1”
type: dpdk
options: {dpdk-devargs=“0000:03:00.1”}
Bridge br-ovs
fail_mode: standalone
datapath_type: netdev
Port br-ovs
Interface br-ovs
type: internal
Port “pf1vf0”
Interface “pf1vf0”
type: dpdk
options: {dpdk-devargs=“0000:03:00.1,representor=[0]”}
Port “vxlan1”
Interface “vxlan1”
type: vxlan
options: {dst_port=“4789”, key=“100”, local_ip=“172.18.131.250”, remote_ip=“172.18.131.251”}
ovs_version: “2.12.1”
ovs-appctl dpctl/dump-flows type=offloaded
flow-dump from pmd on cpu core: 11
recirc_id(0),in_port(4),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(tos=0/0x3,frag=no), packets:29646658, bytes:3379581662, used:0.780s, actions:clone(tnl_push(tnl_port(3),header(size=50,type=4,eth(dst=90:e2:ba:8a:c3:2c,src=0c:42:a1:d7:2c:93,dl_type=0x0800),ipv4(src=172.18.131.250,dst=172.18.131.251,proto=17,tos=0,ttl=64,frag=0x4000),udp(src=0,dst=4789,csum=0x0),vxlan(flags=0x8000000,vni=0x64)),out_port(1)),2)
tunnel(tun_id=0x64,src=172.18.131.251,dst=172.18.131.250,flags(-df-csum+key)),recirc_id(0),in_port(3),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:269473316, bytes:17246292224, used:0.000s, actions:4
========
My configure on NIC: