[dpdk-dev] dpdk 2.1 building failure on rhel 7.2 rc1
Hello, When I try to build dpdk 2.1 on rhel 7.2 rc1 I am getting following errors, appreciate if somebody could suggest a workaround of this problem. Thank you, Serguei CC [M] /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c: In function 'igb_ndo_bridge_getlink': /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:2289:2: error: too few arguments to function 'ndo_dflt_bridge_getlink' return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode); ^ In file included from /usr/src/kernels/3.10.0-327.el7.x86_64/include/net/dst.h:13:0, from /usr/src/kernels/3.10.0-327.el7.x86_64/include/net/sock.h:68, from /usr/src/kernels/3.10.0-327.el7.x86_64/include/linux/tcp.h:23, from /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:34: /usr/src/kernels/3.10.0-327.el7.x86_64/include/linux/rtnetlink.h:87:12: note: declared here extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, ^ /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c: In function 'igb_xmit_frame_ring': /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:5503:2: error: implicit declaration of function 'vlan_tx_tag_present' [-Werror=implicit-function-declaration] if (vlan_tx_tag_present(skb)) { ^ /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:5505:3: error: implicit declaration of function 'vlan_tx_tag_get' [-Werror=implicit-function-declaration] tx_flags |= (vlan_tx_tag_get(skb) << IGB_TX_FLAGS_VLAN_SHIFT); ^ /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c: In function 'igb_ndo_get_vf_config': /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:9472:5: error: 'struct ifla_vf_info' has no member named 'tx_rate' ivi->tx_rate = adapter->vf_data[vf].tx_rate; ^ /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c: In function 'igb_ndo_bridge_getlink': /root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:2291:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors make[10]: *** [/root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o] Error 1 make[9]: *** [_module_/root/dpdk/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni] Error 2 make[8]: *** [sub-make] Error 2 make[7]: *** [rte_kni.ko] Error 2 make[6]: *** [kni] Error 2 make[5]: *** [linuxapp] Error 2 make[4]: *** [librte_eal] Error 2 make[3]: *** [lib] Error 2 make[2]: *** [all] Error 2 make[1]: *** [x86_64-native-linuxapp-gcc_install] Error 2 make: *** [install] Error 2
[dpdk-dev] i40e SRIOV and dpdk
Hello, I was wondering if anybody has tested and managed to get working the following scenario: Host with 2 NIC: 1 Niantic 82599 and 1 Fortville i40e, both NICs configured with 8 VFs. There are two VMs running on this host, each VM has two SRIOV interfaces 1 for each type (Niantic based VF and Fortville based VF). An application inside of VM uses dpdk for packet forwarding and SRIOV interfaces are bound to dpdk 2.0. Unicast connectivity between VMs via Niantic based SRIOV works, but fails over Fortville based SRIOV. Application uses the same DPDK API to initialize SRIOV interfaces. When interfaces in VM are converted to use ixgbevf and i40evf kernel drivers, connectivity works for both types of VF. Clearly there is a particularity on i40e dpdk driver. I would greatly appreciate some feedback. Thank you Serguei
[dpdk-dev] i40e opcode 14 error
Hello, I am getting these errors in the log when VM which is using VF interface bound to DPDK does shut/no shut. I tried to find what opcode 14 means but could not find. [11787.657800] i40e :83:00.0: Failed opcode 14 Error: -5 [11787.707834] i40e :83:00.0: Failed opcode 14 Error: -5 [11816.156692] i40e :83:00.0: Failed opcode 14 Error: -5 [11816.206744] i40e :83:00.0: Failed opcode 14 Error: -5 [12730.245093] i40e :83:00.1: Failed opcode 14 Error: -5 [12730.295137] i40e :83:00.1: Failed opcode 14 Error: -5 [12793.389558] i40e :83:00.1: Failed opcode 14 Error: -5 [12793.99] i40e :83:00.1: Failed opcode 14 Error: -5 I would appreciate any suggestion to troubleshoot it. Thank you Serguei
[dpdk-dev] getting pointer for struct ixgbe_hw
Hi Konstantin, I need to setup certain parameters per VF from guest VM. Here is the list: #define IXGBE_VF_RESET0x01 /* VF requests reset */ #define IXGBE_VF_SET_MAC_ADDR 0x02 /* VF requests PF to set MAC addr */ #define IXGBE_VF_SET_MULTICAST 0x03 /* VF requests PF to set MC addr */ #define IXGBE_VF_SET_VLAN 0x04 /* VF requests PF to set VLAN */ #define IXGBE_VF_SET_LPE 0x05 /* VF requests PF to set VMOLR.LPE */ #define IXGBE_VF_SET_MACVLAN 0x06 /* VF requests PF for unicast filter */ #define IXGBE_VF_API_NEGOTIATE 0x08 /* negotiate API version */ #define IXGBE_VF_API_NEGOTIATE 0x08 /* negotiate API version */ #define IXGBE_VF_GET_QUEUES0x09 /* get queue configuration */ #define IXGBE_VF_ENABLE_MACADDR0x0A /* enable MAC address */ #define IXGBE_VF_DISABLE_MACADDR 0x0B /* disable MAC address */ #define IXGBE_VF_GET_MACADDRS 0x0C /* get all configured MAC addrs */ #define IXGBE_VF_SET_MCAST_PROMISC 0x0D /* enable multicast promiscuous */ #define IXGBE_VF_GET_MTU 0x0E /* get bounds on MTU */ #define IXGBE_VF_SET_MTU0x0F /* set a specific MTU */ The only way I found so far was directly using mailbox facility between PF and VF. If you can suggest more proper way of doing it, I would appreciate if you let me know. Thank you Serguei Serguei Bezverkhi, TECHNICAL LEADER.SERVICES Global SP Services sbezverk at cisco.com Phone:?+1 416 306 7312 Mobile:?+1 514 234 7374 CCIE (R&S,SP,Sec) - #9527 Cisco.com ?Think before you print. This email may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Please?click here?for Company Registration Information. -Original Message- From: Ananyev, Konstantin [mailto:konstantin.anan...@intel.com] Sent: Monday, September 21, 2015 10:41 AM To: Serguei Bezverkhi (sbezverk) ; Van Haaren, Harry ; dev at dpdk.org Subject: RE: getting pointer for struct ixgbe_hw Hi Serguei, > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Serguei Bezverkhi > (sbezverk) > Sent: Monday, September 21, 2015 3:12 PM > To: Van Haaren, Harry; dev at dpdk.org > Subject: Re: [dpdk-dev] getting pointer for struct ixgbe_hw > > Hi Harry, > > Thank you for your reply. The reason I was looking for specifically > ixgbe_hw because I needed access to ixgbe PF/VF mailbox facility. I am not > sure if it is exposed via rte_eth api. Please advise. You are not supposed to send/recv messages via HW mailbox directly from the user application. To configure device there exists rte_eth* API. Wonder what exactly you are trying to achieve? Konstantin > > Best regards > > Serguei > > > Serguei Bezverkhi, > TECHNICAL LEADER.SERVICES > Global SP Services > sbezverk at cisco.com > Phone:?+1 416 306 7312 > Mobile:?+1 514 234 7374 > > CCIE (R&S,SP,Sec) - #9527 > > Cisco.com > > > > ?Think before you print. > This email may contain confidential and privileged material for the > sole use of the intended recipient. Any review, use, distribution or > disclosure by others is strictly prohibited. If you are not the intended > recipient (or authorized to receive for the recipient), please contact the > sender by reply email and delete all copies of this message. > Please?click here?for Company Registration Information. > > > > -Original Message- > From: Van Haaren, Harry [mailto:harry.van.haaren at intel.com] > Sent: Monday, September 21, 2015 10:06 AM > To: Serguei Bezverkhi (sbezverk) ; dev at dpdk.org > Subject: RE: getting pointer for struct ixgbe_hw > > Hi Serguei, > > > From: Serguei Bezverkhi > > I would appreciate if somebody could share an example of getting > > access to ixgbe_hw structure for already initialized ixgbe nic. I > > tried to find any references but could not find any API returning pointer > > for this structure. > > The ixgbe_hw struct is part of the implementation, and should not be > used by code outside the drivers/net/ixgbe director. The > rte_eth_* api[1] is available to access any NIC using a unified API. > > Hope that helps, -Harry > > [1] http://www.dpdk.org/doc/api/rte__ethdev_8h.html
[dpdk-dev] getting pointer for struct ixgbe_hw
Hi Harry, Thank you for your reply. The reason I was looking for specifically ixgbe_hw because I needed access to ixgbe PF/VF mailbox facility. I am not sure if it is exposed via rte_eth api. Please advise. Best regards Serguei Serguei Bezverkhi, TECHNICAL LEADER.SERVICES Global SP Services sbezverk at cisco.com Phone:?+1 416 306 7312 Mobile:?+1 514 234 7374 CCIE (R&S,SP,Sec) - #9527 Cisco.com ?Think before you print. This email may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Please?click here?for Company Registration Information. -Original Message- From: Van Haaren, Harry [mailto:harry.van.haa...@intel.com] Sent: Monday, September 21, 2015 10:06 AM To: Serguei Bezverkhi (sbezverk) ; dev at dpdk.org Subject: RE: getting pointer for struct ixgbe_hw Hi Serguei, > From: Serguei Bezverkhi > I would appreciate if somebody could share an example of getting > access to ixgbe_hw structure for already initialized ixgbe nic. I > tried to find any references but could not find any API returning pointer for > this structure. The ixgbe_hw struct is part of the implementation, and should not be used by code outside the drivers/net/ixgbe director. The rte_eth_* api[1] is available to access any NIC using a unified API. Hope that helps, -Harry [1] http://www.dpdk.org/doc/api/rte__ethdev_8h.html
[dpdk-dev] getting pointer for struct ixgbe_hw
Hello, I would appreciate if somebody could share an example of getting access to ixgbe_hw structure for already initialized ixgbe nic. I tried to find any references but could not find any API returning pointer for this structure. Thank you Serguei