[dpdk-users] i40e VF link speed and link status while PF physical link is down

Ke Xu ke.xu at ericsson.com
Tue Oct 9 12:55:18 CEST 2018


Hi,

I have a VM using one SR-IOV VF of Intel XXV710 NIC (25GE) as ethernet port.  I want to understand what is the VF's link status and link speed will be shown while PF physical link is down (unplug optical module).
VF's link status is up or down?  VF's link speed is unknown or 100Mbps?

DPDK-16.11 is running in VM, driving i40evf device.

In i40evf_dev_link_update(struct rte_eth_dev *dev, __rte_unused int wait_to_complete)
...
...

/*
2168      * DPDK pf host provide interfacet to acquire link status
2169      * while Linux driver does not
2170      */
2171
2172     /* Linux driver PF host */
2173     switch (vf->link_speed) {
2174     case I40E_LINK_SPEED_100MB:
2175         new_link.link_speed = ETH_SPEED_NUM_100M;
2176         break;
2177     case I40E_LINK_SPEED_1GB:
2178         new_link.link_speed = ETH_SPEED_NUM_1G;
2179         break;
2180     case I40E_LINK_SPEED_10GB:
2181         new_link.link_speed = ETH_SPEED_NUM_10G;
2182         break;
2183     case I40E_LINK_SPEED_20GB:
2184         new_link.link_speed = ETH_SPEED_NUM_20G;
2185         break;
2186     case I40E_LINK_SPEED_25GB:
2187         new_link.link_speed = ETH_SPEED_NUM_25G;
2188         break;
2189     case I40E_LINK_SPEED_40GB:
2190         new_link.link_speed = ETH_SPEED_NUM_40G;
2191         break;
2192     default:
2193         new_link.link_speed = ETH_SPEED_NUM_100M;
2194         break;
2195     }
2196     /* full duplex only */
2197     new_link.link_duplex = ETH_LINK_FULL_DUPLEX;
2198     new_link.link_status = vf->link_up ? ETH_LINK_UP :
2199                          ETH_LINK_DOWN;
2200

If PF physical link is down, what will be vf->link_speed? If it does not match any cases, if will fall to default case new_link.link_speed = ETH_SPEED_NUM_100M;
I'm wondering if we could have 100Mbps link speed while PF link is down?

And anyone could give commonts on
/*
2168      * DPDK pf host provide interfacet to acquire link status
2169      * while Linux driver does not
2170      */
2171
2172     /* Linux driver PF host */

Linux driver (on host) can't report link status to VF?


Thanks,
KeXu





More information about the users mailing list