DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM
@ 2018-01-10  6:48 Tushar Mulkar
  2018-01-10 10:44 ` Tushar Mulkar
  0 siblings, 1 reply; 4+ messages in thread
From: Tushar Mulkar @ 2018-01-10  6:48 UTC (permalink / raw)
  To: users

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 <https://dpdk.org/ml/listinfo/dev> tmp]# ip link show p2p2
    34: p2p2: <BROADCAST,MULTICAST,UP,LOWER_UP> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM
  2018-01-10  6:48 [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM Tushar Mulkar
@ 2018-01-10 10:44 ` Tushar Mulkar
  2018-01-11 13:54   ` Tushar Mulkar
  0 siblings, 1 reply; 4+ messages in thread
From: Tushar Mulkar @ 2018-01-10 10:44 UTC (permalink / raw)
  To: users

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 <hostname>  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 <tusharmulkar@gmail.com>
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 <https://dpdk.org/ml/listinfo/dev> tmp]# ip link show p2p2
>     34: p2p2: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM
  2018-01-10 10:44 ` Tushar Mulkar
@ 2018-01-11 13:54   ` Tushar Mulkar
  2018-01-11 14:43     ` Van Haaren, Harry
  0 siblings, 1 reply; 4+ messages in thread
From: Tushar Mulkar @ 2018-01-11 13:54 UTC (permalink / raw)
  To: users

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, &new_link);
-
        return 0;
 }


On Wed, Jan 10, 2018 at 4:14 PM, Tushar Mulkar <tusharmulkar@gmail.com>
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 <hostname>  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 <tusharmulkar@gmail.com>
> 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 <https://dpdk.org/ml/listinfo/dev> tmp]# ip link show p2p2
>>     34: p2p2: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
>>
>>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM
  2018-01-11 13:54   ` Tushar Mulkar
@ 2018-01-11 14:43     ` Van Haaren, Harry
  0 siblings, 0 replies; 4+ messages in thread
From: Van Haaren, Harry @ 2018-01-11 14:43 UTC (permalink / raw)
  To: Tushar Mulkar, users

> From: users [mailto:users-bounces@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 dev@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.xing@intel.com>
Qi Zhang <qi.z.zhang@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, &new_link);
> -
>         return 0;
>  }
> 
> 

<snip>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-01-11 14:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-10  6:48 [dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM Tushar Mulkar
2018-01-10 10:44 ` Tushar Mulkar
2018-01-11 13:54   ` Tushar Mulkar
2018-01-11 14:43     ` Van Haaren, Harry

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).