DPDK的中testpmd和pktgen的使用

./testpmd -l 0-1 -n 1 --file-prefix=test --no-pci --vdev 'net_virtio_user2,mac=00:00:00:00:00:02,path=/var/run/openvswitch/vhost-user2' -- -i --forward-mode=io  --auto-start
    ./testpmd -l 0-1 -n 1 --vdev 'eth_vhost0,iface=/tmp/virtio/sock0' --vdev 'eth_vhost1,iface=/tmp/virtio/sock1' --file-prefix=test --no-pci -- -i  --forward-mode=io  --auto-start
    # -l 列出所使用的CPU核
    # -n 给出memory channels的数量
    # --socket-mem 限制用于每个socket的内存量(单位:M)
    # --vdev 创建vhost的socket文件用于进行网络连接,可以理解为虚拟网卡
    # --file-prefix hugepages字首,用于区分所使用的hugepage
    # testpmd的参数
    # --forward-mode=io 对两个端口情况从一个端口进来的包直接从另一个端口发出
 

pktgen -c 5 -n 3 --vdev='virtio_user0,path=/tmp/virtio/sock0' --vdev='virtio_user1,path=/tmp/virtio/sock1' -- -P -m "1.0,2.1"
    # DPDK的参数同上,--vdev在这里用来连接到socket文件
    # pktgen的参数
    # -P 在所有端口启用混杂模式
    # -m 定义CPU核到端口的绑定,在这里core5绑定到prot0,core6绑定到port1

     -c 是指选择的core的掩码,f等于1111也就是选择 1、2 、3、4 core;
    -m "2.0, 3.1" 是指一个矩阵模型,2.0是指,在2号lcore上绑定的端口0 , 3.1是指在lcore3上绑定端口1
    -P 使能网络混装模式,
    --file-prefix pg 设置/mnt/huge/内存分配模块的文件名前缀;

 

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

你可能感兴趣的:(DPDK的中testpmd和pktgen的使用)