[dpdk-users] PF link status is not getting detected correctly by dpdk driver in VM
Tushar Mulkar
tusharmulkar at gmail.com
Thu Jan 11 14:54:51 CET 2018
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 at 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 at 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
>>
>>
>
More information about the users
mailing list