[dpdk-dev] dpdk 2.1 building failure on rhel 7.2 rc1

2015-11-13 Thread Serguei Bezverkhi (sbezverk)

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

2015-10-02 Thread Serguei Bezverkhi (sbezverk)
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

2015-09-22 Thread Serguei Bezverkhi (sbezverk)
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

2015-09-21 Thread Serguei Bezverkhi (sbezverk)
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

2015-09-21 Thread Serguei Bezverkhi (sbezverk)
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

2015-09-21 Thread Serguei Bezverkhi (sbezverk)
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