Hi All, I need a help/clarification regarding the following issue and wanted to know if I am missing something.
I am trying to run my sample dpdk application along with OVS (both as pods in kubernetes environment), I'm using a vhostuserclient port connection between OVS and my sample application. I have added the vhostuserclient port in OVS. I am hitting this issue when my sample application tries to initialize the virtio port. ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- virtio_user_server_reconnect(): virtio_user_server_reconnect:36 virtio_user_server_reconnect(): virtio_user_server_reconnect:37 virtio_user_server_reconnect(): virtio_user_server_reconnect:41 accept error = Resource temporarily unavailable virtio_user_server_reconnect(): virtio_user_server_reconnect:36 virtio_user_server_reconnect(): virtio_user_server_reconnect:37 virtio_user_server_reconnect(): virtio_user_server_reconnect:41 accept error = Resource temporarily unavailable Port 0 MAC: d6 e1 94 21 52 ad ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- It seems like the socket accept() call in virtio driver is failing just before the connect from OVS is received. I added few logs to check that. My sample application comes up eventually, but OVS-pdump port connection is not established. I'm using this parameter to specify the vhost-user port path as EAL argument in my sample app "virtio_user2,path=/var/lib/cni/vhostuser/vhost-user2,server=1" OVS says the vhost-user port is still disconnected. ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- root@cep2:/# ovs-vsctl list interface vhost-user2 _uuid : a0ea7eaf-1bfe-4755-9e6c-efe204a1f668 admin_state : up bfd : {} bfd_status : {} cfm_fault : [] cfm_fault_status : [] cfm_flap_count : [] cfm_health : [] cfm_mpid : [] cfm_remote_mpids : [] cfm_remote_opstate : [] duplex : [] error : [] external_ids : {vm-id=certes-ovs-dpdk-init} ifindex : 16005050 ingress_policing_burst: 0 ingress_policing_rate: 0 lacp_current : [] link_resets : 0 link_speed : [] link_state : down lldp : {} mac : [] mac_in_use : "00:00:00:00:00:00" mtu : 1500 mtu_request : [] name : "vhost-user2" ofport : 4 ofport_request : [] options : {vhost-server-path="/var/run/openvswitch/vhostuser/vhost-user2"} other_config : {} statistics : {"rx_1024_to_1522_packets"=0, "rx_128_to_255_packets"=0, "rx_1523_to_max_packets"=0, "rx_1_to_64_packets"=0, "rx_256_to_511_packets"=0, "rx_512_to_1023_packets"=0, "rx_65_to_127_packets"=0, rx_bytes=0, rx_dropped=0, rx_errors=0, rx_packets=0, tx_bytes=0, tx_dropped=0, tx_packets=0} status : {mode=client, status=disconnected} type : dpdkvhostuserclient ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- and the vswitchd log says this ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- 2019-12-23T15:39:35.034Z|00053|dpdk|INFO|VHOST_CONFIG: /var/run/openvswitch/vhostuser/vhost-user2: connected 2019-12-23T15:39:35.034Z|00054|dpdk|INFO|VHOST_CONFIG: new device, handle is 0 2019-12-23T15:39:41.421Z|00342|dpdk|ERR|VHOST_CONFIG: recvmsg failed 2019-12-23T15:39:41.421Z|00343|dpdk|ERR|VHOST_CONFIG: vhost read message failed 2019-12-23T15:39:41.421Z|00344|dpdk|INFO|VHOST_CONFIG: vhost-user client: socket created, fd: 122 2019-12-23T15:39:41.421Z|00345|dpdk|WARN|VHOST_CONFIG: failed to connect to /var/run/openvswitch/vhostuser/vhost-user2: Connection refused 2019-12-23T15:39:41.421Z|00346|dpdk|INFO|VHOST_CONFIG: /var/run/openvswitch/vhostuser/vhost-user2: reconnecting... ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- As a workaround, I added a sleep(1) before the accept call and then the vhostuserclient connection got established. Confirmed with ovs-vsctl command and I was able to pass traffic from OVS to sample app. ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- virtio_user_server_reconnect(): virtio_user_server_reconnect:53 virtio_user_server_reconnect(): virtio_user_server_reconnect:58 virtio_user_server_reconnect(): virtio_user_server_reconnect:70 virtio_user_server_reconnect(): virtio_user_server_reconnect:75 virtio_user_server_reconnect(): virtio_user_server_reconnect:80 virtio_user_server_reconnect(): virtio_user_server_reconnect:84 virtio_user_server_reconnect(): virtio_user_server_reconnect:90 virtio_user_server_reconnect(): server mode virtio-user reconnection succeeds! I Port 0 MAC: 92 2c 2b 5b 95 ba ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- Please let me know if I am doing something wrong as I want to remove this workaround and get it working. I'm using DPDK version 18.11 for both OVS and sample app. Thanks, Rajesh kumar S R
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss