Hi Wai,

Any reason for not using VPP native virtio driver instead of DPDK?
~# vppctl create int virtio <pci-address>

ben

> -----Original Message-----
> From: [email protected] <[email protected]> On Behalf Of
> [email protected]
> Sent: vendredi 19 juin 2020 17:37
> To: [email protected]
> Subject: [vpp-dev] virtio interface can't send packet #vpp
> 
> Dear all,
> I tried using testpmd(virio-user) <--> (vhost-user)testpmd, this topology
> works well.
> these are my test command:
> sudo ./testpmd -l 0-1 -n 4 --socket-mem 1024,1024 --no-pci --vdev
> 'eth_vhost0,iface=/tmp/sock0' --file-prefix=host  --single-file-segments -
> - -i
> sudo ./testpmd -l 6-7 -n 4 --socket-mem 1024,1024 --no-pci --
> vdev=virtio_user0,path=/tmp/sock0 --file-prefix=container --single-file-
> segments -- -i
> 
> Then I changed testpmd(virtio-user) to VPP,  all packets VPP sent out
> would be dropped.
> 
> By the way, I have tried
> 1. add single-file-segments for rte_eal_init
> 2.remove in-memory for rte_eal_init
> 
> But none of these 2 changes help.
> Is there some wrong config in my test environment? Thanks.
> 
> Testing topology:
> 
> VPP(virtio-user) <--> (vhost-user) openvswitch/testpmd
> 
> startup.conf
> 
> 
>       heapsize 2G
>       unix {
>               nodaemon
>               interactive
>               cli-listen /run/vpp/cli.sock
>               exec init.conf
>       }
>       cpu {
>               workers 1
>       }
>       dpdk {
>               no-pci
>               vdev virtio_user0,path=/tmp/sock0,mac=00:11:22:33:44:10
>       }
> 
> 
> init.conf
> 
>       set interface ip address VirtioUser0 172.20.224.1/24
> <http://172.20.224.1/24>
>       set interface state VirtioUser0 up
> 
> 
> The VPP log:
> 
> 
>       DBGvpp# show version
>       vpp v20.05-release built by ubuntu on ubuntu-3 at 2020-06-
> 19T07:16:33
>       DBGvpp# show interface addr
>       VirtioUser0 (up):
>         L3 172.20.224.1/24 <http://172.20.224.1/24>
>       local0 (dn):
>       DBGvpp# show interface
>                     Name               Idx    State  MTU (L3/IP4/IP6/MPLS)
> Counter          Count
>       VirtioUser0                       1      up          9000/0/0/0
>       local0                            0     down          0/0/0/0
>       DBGvpp# show interface addr
>       VirtioUser0 (up):
>         L3 172.20.224.1/24 <http://172.20.224.1/24>
>       local0 (dn):
>       DBGvpp# ping 172.20.224.10
>       Statistics: 5 sent, 0 received, 100% packet loss
>       DBGvpp# show interface
>                     Name               Idx    State  MTU (L3/IP4/IP6/MPLS)
> Counter          Count
>       VirtioUser0                       1      up          9000/0/0/0
> tx packets                     5
> 
> tx bytes                     210
> 
> drops                          5
>       local0                            0     down          0/0/0/0
>       DBGvpp# show hardware-interfaces
>                     Name                Idx   Link  Hardware
>       0: format_dpdk_device:588: rte_eth_dev_rss_hash_conf_get returned -
> 95
>       VirtioUser0                        1     up   VirtioUser0
>         Link speed: 10 Gbps
>         Ethernet address 00:11:22:33:44:10
>         Virtio User
>           carrier up full duplex mtu 9206
>           flags: admin-up pmd maybe-multiseg
>           Devargs: path=/tmp/sock0,mac=00:11:22:33:44:10
>           rx: queues 1 (max 1), desc 1024 (min 0 max 65535 align 1)
>           tx: queues 1 (max 1), desc 1024 (min 0 max 65535 align 1)
>           max rx packet len: 9728
>           promiscuous: unicast off all-multicast off
>           vlan offload: strip off filter off qinq off
>           rx offload avail:  vlan-strip udp-cksum tcp-cksum tcp-lro jumbo-
> frame
>           rx offload active: jumbo-frame
>           tx offload avail:  vlan-insert udp-cksum tcp-cksum tcp-tso
> multi-segs
>           tx offload active: multi-segs
>           rss avail:         none
>           rss active:        none
>           tx burst function: virtio_xmit_pkts_inorder
>           rx burst function: virtio_recv_pkts_inorder
>           tx frames ok                                           5
>           tx bytes ok                                          210
>           extended stats:
>             tx good packets                                      5
>             tx good bytes                                      210
>             tx q0packets                                         5
>             tx q0bytes                                         210
>             tx q0 good packets                                   5
>             tx q0 good bytes                                   210
>             tx q0 broadcast packets                              5
>             tx q0 undersize packets                              5
>       local0                             0    down  local0
>         Link speed: unknown
>         local
>       DBGvpp# show physmem
>        used-pages 40 reserved-pages 8192 default-page-size 2MB lookup-
> page-size 2MB
>          arena 'buffers-numa-0' pages 20 subpage-size 2MB numa-node 0
> shared fd 4
>          arena 'buffers-numa-1' pages 20 subpage-size 2MB numa-node 1
> shared fd 5
>       DBGvpp# show dpdk physmem
>       Segment 8-0: IOVA:0x7fc13fe00000, len:2097152, virt:0x7fc13fe00000,
> socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:27
>       Segment 8-1: IOVA:0x7fc140000000, len:2097152, virt:0x7fc140000000,
> socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:28
>       Segment 12-0: IOVA:0x7fb13f600000, len:2097152, virt:0x7fb13f600000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:21
>       Segment 12-1: IOVA:0x7fb13f800000, len:2097152, virt:0x7fb13f800000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:29
>       Segment 12-2: IOVA:0x7fb13fa00000, len:2097152, virt:0x7fb13fa00000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:30
>       Segment 12-3: IOVA:0x7fb13fc00000, len:2097152, virt:0x7fb13fc00000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:32
>       Segment 12-4: IOVA:0x7fb13fe00000, len:2097152, virt:0x7fb13fe00000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:33
>       Segment 12-5: IOVA:0x7fb140000000, len:2097152, virt:0x7fb140000000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:34
>       Segment 12-6: IOVA:0x7fb140200000, len:2097152, virt:0x7fb140200000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:35
>       Segment 12-7: IOVA:0x7fb140400000, len:2097152, virt:0x7fb140400000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:36
>       Segment 12-8: IOVA:0x7fb140600000, len:2097152, virt:0x7fb140600000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:37
>       Segment 12-9: IOVA:0x7fb140800000, len:2097152, virt:0x7fb140800000,
> socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:38
>       Segment 12-10: IOVA:0x7fb140a00000, len:2097152,
> virt:0x7fb140a00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0
> fd:39
>       Segment 12-11: IOVA:0x7fb140c00000, len:2097152,
> virt:0x7fb140c00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0
> fd:40
>       Segment 12-12: IOVA:0x7fb140e00000, len:2097152,
> virt:0x7fb140e00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0
> fd:41
>       Segment 12-13: IOVA:0x7fb141000000, len:2097152,
> virt:0x7fb141000000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0
> fd:42
>       Segment 12-14: IOVA:0x7fb141200000, len:2097152,
> virt:0x7fb141200000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0
> fd:43
> 
> 
> The testpmd(vhost-user) log:
> sudo ./testpmd -l 0-1 -n 4 --socket-mem 1024,1024 --no-pci --vdev
> 'eth_vhost0,iface=/tmp/sock0' --file-prefix=host  --single-file-segments -
> - -i
> 
> 
>       VHOST_CONFIG: new vhost user connection is 38
>       VHOST_CONFIG: new device, handle is 0
>       VHOST_CONFIG: read message VHOST_USER_SET_OWNER
>       VHOST_CONFIG: read message VHOST_USER_GET_FEATURES
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
>       VHOST_CONFIG: vring call idx:0 file:39
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
>       VHOST_CONFIG: vring call idx:1 file:40
>       VHOST_CONFIG: read message VHOST_USER_SET_FEATURES
>       VHOST_CONFIG: negotiated Virtio features: 0x910008000
>       VHOST_CONFIG: read message VHOST_USER_SET_MEM_TABLE
>       VHOST_CONFIG: guest memory region 0, size: 0x200000
>        guest physical addr: 0x7fb13f600000
>        guest virtual  addr: 0x7fb13f600000
>        host  virtual  addr: 0x7f5730c00000
>        mmap addr : 0x7f5730c00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_NUM
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_BASE
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ADDR
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_KICK
>       VHOST_CONFIG: vring kick idx:0 file:42
>       VHOST_CONFIG: reallocate vq from 0 to 1 node
>       VHOST_CONFIG: reallocate dev from 0 to 1 node
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_NUM
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_BASE
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ADDR
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_KICK
>       VHOST_CONFIG: vring kick idx:1 file:43
>       VHOST_CONFIG: reallocate vq from 0 to 1 node
>       Port 0: queue state event
>       VHOST_CONFIG: virtio is now ready for processing.
>       Port 0: link state change event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 0
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 1
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_MEM_TABLE
>       VHOST_CONFIG: guest memory region 0, size: 0x200000
>        guest physical addr: 0x7fc13fe00000
>        guest virtual  addr: 0x7fc13fe00000
>        host  virtual  addr: 0x7f5730c00000
>        mmap addr : 0x7f5730c00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 1, size: 0x200000
>        guest physical addr: 0x7fc140000000
>        guest virtual  addr: 0x7fc140000000
>        host  virtual  addr: 0x7f5730a00000
>        mmap addr : 0x7f5730a00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 2, size: 0x200000
>        guest physical addr: 0x7fb13f600000
>        guest virtual  addr: 0x7fb13f600000
>        host  virtual  addr: 0x7f5730800000
>        mmap addr : 0x7f5730800000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_MEM_TABLE
>       VHOST_CONFIG: guest memory region 0, size: 0x200000
>        guest physical addr: 0x7fc13fe00000
>        guest virtual  addr: 0x7fc13fe00000
>        host  virtual  addr: 0x7f5730c00000
>        mmap addr : 0x7f5730c00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 1, size: 0x200000
>        guest physical addr: 0x7fc140000000
>        guest virtual  addr: 0x7fc140000000
>        host  virtual  addr: 0x7f5730a00000
>        mmap addr : 0x7f5730a00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 2, size: 0x200000
>        guest physical addr: 0x7fb13f600000
>        guest virtual  addr: 0x7fb13f600000
>        host  virtual  addr: 0x7f5730800000
>        mmap addr : 0x7f5730800000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 3, size: 0x200000
>        guest physical addr: 0x7fb13f800000
>        guest virtual  addr: 0x7fb13f800000
>        host  virtual  addr: 0x7f5730600000
>        mmap addr : 0x7f5730600000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 4, size: 0x200000
>        guest physical addr: 0x7fb13fa00000
>        guest virtual  addr: 0x7fb13fa00000
>        host  virtual  addr: 0x7f5730400000
>        mmap addr : 0x7f5730400000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_MEM_TABLE
>       VHOST_CONFIG: guest memory region 0, size: 0x200000
>        guest physical addr: 0x7fc13fe00000
>        guest virtual  addr: 0x7fc13fe00000
>        host  virtual  addr: 0x7f5730c00000
>        mmap addr : 0x7f5730c00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 1, size: 0x200000
>        guest physical addr: 0x7fc140000000
>        guest virtual  addr: 0x7fc140000000
>        host  virtual  addr: 0x7f5730a00000
>        mmap addr : 0x7f5730a00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 2, size: 0x200000
>        guest physical addr: 0x7fb13f600000
>        guest virtual  addr: 0x7fb13f600000
>        host  virtual  addr: 0x7f5730800000
>        mmap addr : 0x7f5730800000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 3, size: 0x200000
>        guest physical addr: 0x7fb13f800000
>        guest virtual  addr: 0x7fb13f800000
>        host  virtual  addr: 0x7f5730600000
>        mmap addr : 0x7f5730600000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 4, size: 0x200000
>        guest physical addr: 0x7fb13fa00000
>        guest virtual  addr: 0x7fb13fa00000
>        host  virtual  addr: 0x7f5730400000
>        mmap addr : 0x7f5730400000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 5, size: 0x200000
>        guest physical addr: 0x7fb13fc00000
>        guest virtual  addr: 0x7fb13fc00000
>        host  virtual  addr: 0x7f5730200000
>        mmap addr : 0x7f5730200000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: guest memory region 6, size: 0x200000
>        guest physical addr: 0x7fb13fe00000
>        guest virtual  addr: 0x7fb13fe00000
>        host  virtual  addr: 0x7f572be00000
>        mmap addr : 0x7f572be00000
>        mmap size : 0x200000
>        mmap align: 0x200000
>        mmap off  : 0x0
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 0 to qp idx: 1
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 0
>       Port 0: queue state event
>       VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
>       VHOST_CONFIG: set queue enable: 1 to qp idx: 1
>       Port 0: queue state event
> 
> 
> BR,
> Wai
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16774): https://lists.fd.io/g/vpp-dev/message/16774
Mute This Topic: https://lists.fd.io/mt/74982077/21656
Mute #vpp: https://lists.fd.io/g/fdio+vpp-dev/mutehashtag/vpp
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to