Re: [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM

2018-01-11 Thread Van Haaren, Harry
> From: users [mailto:users-boun...@dpdk.org] On Behalf Of Tushar Mulkar
> Sent: Thursday, January 11, 2018 1:55 PM
> To: users@dpdk.org
> Subject: Re: [dpdk-users] PF link status is not getting detected correctly
> by dpdk driver in VM
> 
> Hi All,

Hi!


> So finally I am able to find the issue.  Actually in dpdk i40evf driver,
> the way link up/down is propagated is not working for me. Below change set
> worked for me.

Please send a patch to d...@dpdk.org 
(http://dpdk.org/doc/guides/contributing/patches.html)

In the commit message, please describe the issue a bit more, and how the patch
fixes it. Also add a "signoff" so it can be accepted into the DPDK source.

Also CC the i40e maintainers to bring it to their attention.
From the MAINTAINERS file, i40e heading:
Beilei Xing <beilei.x...@intel.com>
Qi Zhang <qi.z.zh...@intel.com>


Regards, -Harry


> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index 87a760796..0389f4bfa 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -2235,13 +2235,13 @@ i40evf_dev_link_update(struct rte_eth_dev *dev,
> new_link.link_speed = ETH_SPEED_NUM_100M;
> break;
> }
> +
> /* full duplex only */
> new_link.link_duplex = ETH_LINK_FULL_DUPLEX;
> -   new_link.link_status = vf->link_up ? ETH_LINK_UP :
> -ETH_LINK_DOWN;
> +new_link.link_status = (vf->link_up & true) ? ETH_LINK_UP :
> +ETH_LINK_DOWN;
> 
> i40evf_dev_atomic_write_link_status(dev, _link);
> -
> return 0;
>  }
> 
> 





Re: [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM

2018-01-11 Thread Tushar Mulkar
Hi All,

So finally I am able to find the issue.  Actually in dpdk i40evf driver,
the way link up/down is propagated is not working for me. Below change set
worked for me.

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
b/drivers/net/i40e/i40e_ethdev_vf.c
index 87a760796..0389f4bfa 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -2235,13 +2235,13 @@ i40evf_dev_link_update(struct rte_eth_dev *dev,
new_link.link_speed = ETH_SPEED_NUM_100M;
break;
}
+
/* full duplex only */
new_link.link_duplex = ETH_LINK_FULL_DUPLEX;
-   new_link.link_status = vf->link_up ? ETH_LINK_UP :
-ETH_LINK_DOWN;
+new_link.link_status = (vf->link_up & true) ? ETH_LINK_UP :
+ETH_LINK_DOWN;

i40evf_dev_atomic_write_link_status(dev, _link);
-
return 0;
 }


On Wed, Jan 10, 2018 at 4:14 PM, Tushar Mulkar 
wrote:

> I think the IX710 device doesn't support the Link Change Interrupt. I have
> enabled the debug traces and I could see following in the messages
>
>
> Jan 10 02:07:53   packet-forwarding[1518]:
> rte_eth_dev_configure: driver net_i40e_vf does not support lsc
>
>
> Also I could verify that the virtual function bound to kernel (i.e. i40evf
> ) is able to detect the link failure in the PF.
>
>
> Tushar
>
>
>
> On Wed, Jan 10, 2018 at 12:18 PM, Tushar Mulkar 
> wrote:
>
>> Hi All,
>>
>>I am using "Ethernet Controller X710 for 10GbE SFP+" SRIOV NIC card on
>> the host with 8 VFs. Out of these VFs two VFs are associated with a VM, one
>> VF is bound to Linux kernel driver i40evf and another is bound to dpdk pmd
>> i.e. igb_uio.
>>when there is a link fault on the  hardware nic, the fault is not
>> detected for the VF that is bound to dpdk. Instead it is detecting medium
>> change from 10GBase-SR to 100BASE-TXFD. Is there any configuration, that
>> will allow me to detect the link state on hardware NIC in the VM ?
>>
>>Basically I want to get the Link change notification on the dpdk
>> application in VM.
>>
>>I tried to register for the link state change interrupt but the
>> "rte_eth_dev_configure" fails with error code -22
>>
>>I believe link-state auto actually means replicate PF link-state to VF
>>Current Config :
>>
>>
>>[root at ironman  tmp]# ip link show 
>> p2p2
>> 34: p2p2:  mtu 1500 qdisc mq state UP
>> mode DEFAULT qlen 1000
>>  link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
>> vf 0 MAC xx:xx:xx:xx:xx:01, spoof checking on, link-state auto, trust off
>> vf 1 MAC xx:xx:xx:xx:xx:02, spoof checking on, link-state auto, trust off
>> vf 2 MAC xx:xx:xx:xx:xx:03, spoof checking on, link-state auto, trust off
>> vf 3 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
>> vf 4 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
>> vf 5 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
>> vf 6 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
>> vf 7 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
>>
>>
>> Regards,
>> Tushar
>>
>>
>


Re: [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM

2018-01-10 Thread Tushar Mulkar
I think the IX710 device doesn't support the Link Change Interrupt. I have
enabled the debug traces and I could see following in the messages


Jan 10 02:07:53   packet-forwarding[1518]: rte_eth_dev_configure:
driver net_i40e_vf does not support lsc


Also I could verify that the virtual function bound to kernel (i.e. i40evf
) is able to detect the link failure in the PF.


Tushar



On Wed, Jan 10, 2018 at 12:18 PM, Tushar Mulkar 
wrote:

> Hi All,
>
>I am using "Ethernet Controller X710 for 10GbE SFP+" SRIOV NIC card on
> the host with 8 VFs. Out of these VFs two VFs are associated with a VM, one
> VF is bound to Linux kernel driver i40evf and another is bound to dpdk pmd
> i.e. igb_uio.
>when there is a link fault on the  hardware nic, the fault is not
> detected for the VF that is bound to dpdk. Instead it is detecting medium
> change from 10GBase-SR to 100BASE-TXFD. Is there any configuration, that
> will allow me to detect the link state on hardware NIC in the VM ?
>
>Basically I want to get the Link change notification on the dpdk
> application in VM.
>
>I tried to register for the link state change interrupt but the
> "rte_eth_dev_configure" fails with error code -22
>
>I believe link-state auto actually means replicate PF link-state to VF
>Current Config :
>
>
>[root at ironman  tmp]# ip link show p2p2
> 34: p2p2:  mtu 1500 qdisc mq state UP
> mode DEFAULT qlen 1000
>  link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
> vf 0 MAC xx:xx:xx:xx:xx:01, spoof checking on, link-state auto, trust off
> vf 1 MAC xx:xx:xx:xx:xx:02, spoof checking on, link-state auto, trust off
> vf 2 MAC xx:xx:xx:xx:xx:03, spoof checking on, link-state auto, trust off
> vf 3 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
> vf 4 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
> vf 5 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
> vf 6 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
> vf 7 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
>
>
> Regards,
> Tushar
>
>


[dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM

2018-01-09 Thread Tushar Mulkar
Hi All,

   I am using "Ethernet Controller X710 for 10GbE SFP+" SRIOV NIC card on
the host with 8 VFs. Out of these VFs two VFs are associated with a VM, one
VF is bound to Linux kernel driver i40evf and another is bound to dpdk pmd
i.e. igb_uio.
   when there is a link fault on the  hardware nic, the fault is not
detected for the VF that is bound to dpdk. Instead it is detecting medium
change from 10GBase-SR to 100BASE-TXFD. Is there any configuration, that
will allow me to detect the link state on hardware NIC in the VM ?

   Basically I want to get the Link change notification on the dpdk
application in VM.

   I tried to register for the link state change interrupt but the
"rte_eth_dev_configure" fails with error code -22

   I believe link-state auto actually means replicate PF link-state to VF
   Current Config :


   [root at ironman  tmp]# ip link show p2p2
34: p2p2:  mtu 1500 qdisc mq state UP
mode DEFAULT qlen 1000
 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
vf 0 MAC xx:xx:xx:xx:xx:01, spoof checking on, link-state auto, trust off
vf 1 MAC xx:xx:xx:xx:xx:02, spoof checking on, link-state auto, trust off
vf 2 MAC xx:xx:xx:xx:xx:03, spoof checking on, link-state auto, trust off
vf 3 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
vf 4 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
vf 5 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
vf 6 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off
vf 7 MAC 00:00:00:00:00:00, spoof checking on, link-state auto, trust off


Regards,
Tushar