目标是将TREX数据包生成器与同一主机上的VPP memif接口连接起来。memif接口无法与以下日志连接
失败了信息:
Apr 28 15:12:24 xx[370159]: memif_connect_client(): Failed to connect socket: /run/vpp/memif.sock.
Apr 28 15:12:25 xx[370159]: EAL: Error - exiting with code: 1#012 Cause:
Apr 28 15:12:25 xx[370159]: rte_eth_dev_start: err=-1, port=0
vpp版本: 19.08.3 trex版本: v2.89
vpp# show memif
sockets
id listener filename
0 yes (2) /run/vpp/memif.sock
interface memif0/0
socket-id 0 id 0 mode ethernet
flags admin-up
listener-fd 49 conn-fd 0
num-s2m-rings 0 num-m2s-rings 0 buffer-size 0 num-regions 0
interface memif0/1
socket-id 0 id 1 mode ethernet
flags admin-up
listener-fd 49 conn-fd 0
num-s2m-rings 0 num-m2s-rings 0 buffer-size 0 num-regions 0
# cat /etc/trex_cfg.yaml**
- version: 2
interfaces: ["--vdev=net_memif0,role=slave,id=0,socket=/run/vpp/memif.sock",
"--vdev=net_memif1,role=slave,id=1,socket=/run/vpp/memif.sock"]
port_info:
- ip: 172.21.0.253
default_gw: 172.21.0.254
- ip: 192.168.1.254
default_gw: 192.168.1.253
platform:
master_thread_id: 16
latency_thread_id: 17
dual_if:
- socket: 0
threads: [18,19]
发布于 2021-09-14 14:33:48
DPDK memif PMD有两种工作方式
启动顺序还会影响memif通信和连接侦听器(服务器)的方式。
因此,如果我们需要将VPP作为服务器,将TREX作为客户端使用(始终首先启动VPP并创建memif接口)
create interface memif id 0 master
set interface state memif0/0 up
set interface ip address memif0/0 12.12.5.1/24
and
--vdev=net_memif0,role=client,id=0,socket=/run/vpp/memif.sock
如果我们需要使TREX服务器和VPP客户端使用(始终首先启动TREX )
--vdev=net_memif0,role=server,id=0,socket=/run/vpp/memif.sock
and
create interface memif id 0 slave
set interface state memif0/0 up
set interface ip address memif0/0 12.12.5.2/24
注意:
如果需要多个接口,请确保VPP在单独的sockets.
相同。
发布于 2022-03-15 05:59:58
由于Trex 2.92已升级为使用DPDK版本21.02
在/etc/trex_cfg.yaml
中的接口中,而不是:
interfaces: ["--vdev=net_memif0,role=slave,id=0,socket=/run/vpp/memif.sock",
它应该是
interfaces: ["--vdev=net_memif0,role=slave,id=0,socket-abstract=no,socket=/run/vpp/memif.sock",
默认情况下,它假定套接字路径为原始套接字路径。
https://stackoverflow.com/questions/67295590
复制相似问题