How was ovs installed? I don’t recall ever seeing ovs-vswitchd running as a non-root user.
From: 王嵘 [mailto:[email protected]] Sent: 23 November 2017 13:09 To: O'Reilly, Darragh <[email protected]> Cc: [email protected] Subject: Re:RE: [ovs-discuss] ovs-2.8 Cannot open /dev/uio0 O, my fault. And now find the log like : 2017-11-23T13:02:43.869Z|00071|dpdk|ERR|EAL: Cannot open /dev/uio0: Permission denied 2017-11-23T13:02:43.869Z|00072|dpdk|ERR|EAL: Current userid: 988 The uid 988 belongs to the lbvirt? why the uid is 988? And even this uid don't have the right to open the uio0。 [root@localhost rpm-2.8]# cat /etc/group | grep openvswitch openvswitch:x:983: hugetlbfs:x:1001:openvswitch [root@localhost rpm-2.8]# cat /etc/group | grep 988 libvirt:x:988: [root@localhost rpm-2.8]# 在 2017-11-23 20:24:04,"O'Reilly, Darragh" <[email protected]<mailto:[email protected]>> 写道: I think you got the address of the function getuid, but you want to call it by adding (): RTE_LOG(ERR, EAL, "Current userid: %d\n", getuid() ); From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of ?? Sent: 23 November 2017 08:20 To: 王嵘 <[email protected]<mailto:[email protected]>> Cc: [email protected]<mailto:[email protected]> Subject: Re: [ovs-discuss] ovs-2.8 Cannot open /dev/uio0 And I add a log in the code, found thath the current uid is not 0(root), if there is some other config I missed ? /* save fd if in primary process */ dev->intr_handle.fd = open(devname, O_RDWR); if (dev->intr_handle.fd < 0) { RTE_LOG(ERR, EAL, "Cannot open %s: %s\n", devname, strerror(errno)); RTE_LOG(ERR, EAL, "Current userid: %d\n", getuid); goto error; } #systemctl restart openvswitch 2017-11-23T07:57:13.476Z|00071|dpdk|ERR|EAL: Cannot open /dev/uio0: Permission denied 2017-11-23T07:57:13.476Z|00072|dpdk|ERR|EAL: Current userid: -534781824 在 2017-11-22 21:05:05,"王嵘" <[email protected]<mailto:[email protected]>> 写道: hi, That's because I'm using the Broadcom Nic for performing-test and found the uio problem("Cannot open /dev/uio0: Permission denied"). and I now RECHECKED the problem in my own VM environment。 Pity that, the uio Permission denied problem still alway exists.(the ovs2.7 is ok). and the ovs is 2.8.1, dpdk-1705.2 [root@localhost test]# rpm -qa | grep openvswitch openvswitch-2.8.1-1.el7.centos.x86_64 openvswitch-debuginfo-2.8.1-1.el7.centos.x86_64 [root@localhost test]# rpm -qa | grep dpdk dpdk-17.05.2-1.x86_64 dpdk-devel-17.05.2-1.x86_64 dpdk-debuginfo-17.05.2-1.x86_64 2017-11-22T11:37:24.909Z|00061|dpdk|WARN|EAL: rte_pci_probe_one execing. 2017-11-22T11:37:24.909Z|00062|dpdk|INFO|EAL: PCI device 0000:00:09.0 on NUMA socket -1 2017-11-22T11:37:24.909Z|00063|dpdk|INFO|EAL: probe driver: 8086:100e net_e1000_em 2017-11-22T11:37:24.909Z|00064|dpdk|ERR|EAL: Cannot open /dev/uio0: Permission denied 2017-11-22T11:37:24.909Z|00065|dpdk|WARN|EAL: Requested device 0000:00:09.0 cannot be used 2017-11-22T11:37:24.909Z|00066|dpdk|ERR|EAL: Driver cannot attach the device (0000:00:09.0) [root@localhost test]# dpdk-devbind --status Network devices using DPDK-compatible driver ============================================ 0000:00:09.0 '82540EM Gigabit Ethernet Controller 100e' drv=igb_uio unused= 0000:00:0a.0 '82540EM Gigabit Ethernet Controller 100e' drv=igb_uio unused= Network devices using kernel driver =================================== 0000:00:03.0 'Virtio network device 1000' if=eth0 drv=virtio-pci unused=igb_uio *Active* [root@localhost test]# lspci | egrep -i --color 'network|ethernet' 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device 00:09.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) 00:0a.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) [root@localhost test]# lshw -c network -businfo Bus info Device Class Description ======================================================== pci@0000:00:03.0<mailto:pci@0000:00:03.0> network Virtio network device virtio@0 eth0 network Ethernet interface pci@0000:00:09.0<mailto:pci@0000:00:09.0> network 82540EM Gigabit Ethernet Controller pci@0000:00:0a.0<mailto:pci@0000:00:0a.0> network 82540EM Gigabit Ethernet Controller br0 network Ethernet interface ovs-system network Ethernet interface virbr0-nic network Ethernet interface virbr0 network Ethernet interface 在 2017-11-16 02:21:54,"Shivaram Mysore" <[email protected]<mailto:[email protected]>> 写道: Glad to hear that you solved the problem. What you have are Intel NIC - 82540em. The driver igb_uio should work for this - which is what you have. I am confused as to why you said that you were using Broadcom Nextreme card Anyways, it is good to hear that you were able to rectify the issue. On Wed, Nov 15, 2017 at 4:40 AM, 王嵘 <[email protected]<mailto:[email protected]>> wrote: hi, I solved the NIC bind problem. I checked the log found that netdev_dpdk|ERR|Interface dpdk-eth2(rxq:1 txq:3) configure error: Invalid argument so, I changed the rxq of the NIC to 3 by "options:n_rxq=3", and it works. ^^ I tested the ovs2.8-dpdk in another VM of Centos7, but the "Permission denied" problem still exists. Here is the results of the commands you asked to execute, [root@localhost ~]# lshw -c network -businfo Bus info Device Class Description ======================================================== pci@0000:00:03.0<mailto:pci@0000:00:03.0> network Virtio network device virtio@0 eth0 network Ethernet interface pci@0000:00:09.0<mailto:pci@0000:00:09.0> network 82540EM Gigabit Ethernet Controller pci@0000:00:0a.0<mailto:pci@0000:00:0a.0> ens10 network 82540EM Gigabit Ethernet Controller br0 network Ethernet interface ovs-netdev network Ethernet interface virbr0-nic network Ethernet interface virbr0 network Ethernet interface [root@localhost ~]# lspci | egrep -i --color 'network|ethernet' 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device 00:09.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) 00:0a.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) [root@localhost ~]# lsmod | grep uio igb_uio 13224 1 uio 19259 3 igb_uio [root@localhost test]# lsmod | grep uio igb_uio 13224 0 uio 19259 1 igb_uio 在 2017-11-15 04:29:34,"Shivaram Mysore" <[email protected]<mailto:[email protected]>> 写道: What is the output of the following commands: lshw -c network -businfo lspci | egrep -i --color 'network|ethernet' lsmod | grep uio /sbin/dpdk-devbind --status On Mon, Nov 13, 2017 at 9:29 PM, 王嵘 <[email protected]<mailto:[email protected]>> wrote: I just want to use ovs-2.8 for userspace connection-track, and I choose the latest LST DPDK 1705. But, you mean theres is something like broadcom-uio.ko when using broadcom NIC? I just have changed the config/common_base: CONFIG_RTE_LIBRTE_BNX2X_PMD=y CONFIG_RTE_LIBRTE_BNX2X_DEBUG=y CONFIG_RTE_LIBRTE_BNX2X_DEBUG_INIT=y CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=y CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=y CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=y CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=y 在 2017-11-14 12:49:44,"Shivaram Mysore" <[email protected]<mailto:[email protected]>> 写道: Is there a specific reason as to why you would want to use this version of DPDK? I have never had to check permission. Also, igb is mainly for Intel NICs. You are using a Broadcom NIC - http://dpdk.org/doc/guides/nics/bnxt.html for driver info. I think what you have is a misconfiguration. You may want to check out the scripts here https://github.com/shivarammysore/faucetsdn-intel/tree/master/src/ubuntu/zesty/ovs_281 - to setup and configure DPDK. I have only used Intel NICs. Cheers! On Mon, Nov 13, 2017 at 6:50 PM, 王嵘 <[email protected]<mailto:[email protected]>> wrote: hi, I'm using ovs2.8 with dpdk-17052, and the 'NetXtreme II BCM57810 10 Gigabit Ethernet 168e'. There comes the error, while I try to bind the NIC using igb_uio. 2017-11-14T02:25:18.400Z|00362|dpdk|INFO|EAL: probe driver: 14e4:168e net_bnx2x 2017-11-14T02:25:18.400Z|00363|dpdk|ERR|EAL: Cannot open /dev/uio0: Permission denied Then I chmod the file, like "chmod 777 /dev/uio0",(but I dont think this is right way.) but there comes other files with the same error, and I also chmod them. And I do the actions: chmod 777 /sys/bus/pci/devices/0000:20:00.1/* chmod 777 /sys/class/uio/uio0/device/config Then , restart the ovs-dpdk, But, there comes the following error: 2017-11-14T02:40:05.436Z|8384580|dpdk|ERR|PMD: pci_read(): Can't read from PCI config space 2017-11-14T02:40:05.436Z|8384581|dpdk|ERR|PMD: pci_read(): Can't read from PCI config space 2017-11-14T02:40:05.436Z|8384582|dpdk|ERR|PMD: pci_read(): Can't read from PCI config space 2017-11-14T02:40:05.436Z|8384583|dpdk|ERR|PMD: pci_read(): Can't read from PCI config space 2017-11-14T02:40:05.436Z|8384584|dpdk|INFO|PMD: bnx2x_pci_get_caps(): Failed to allocate memory 2017-11-14T02:40:05.436Z|8384585|dpdk|INFO|PMD: bnx2x_attach(): PCIe caps reading was failed 2017-11-14T02:40:05.436Z|8384586|dpdk|ERR|PMD: bnx2x_common_dev_init(): bnx2x_attach failed (-12) 2017-11-14T02:40:05.436Z|8384587|dpdk|ERR|EAL: Requested device 0000:20:00.1 cannot be used So, why there comes the Permission prolem? And what should I do for the PCIe error? Or it is the NIC drivers' problem? Thanks a lot. _______________________________________________ discuss mailing list [email protected]<mailto:[email protected]> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
_______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
