MCPcopy Create free account
hub / github.com/F-Stack/f-stack / hn_dev_link_update

Function hn_dev_link_update

dpdk/drivers/net/netvsc/hn_ethdev.c:225–259  ·  view source on GitHub ↗

Update link status. * Note: the DPDK definition of "wait_to_complete" * means block this call until link is up. * which is not worth supporting. */

Source from the content-addressed store, hash-verified

223 * which is not worth supporting.
224 */
225int
226hn_dev_link_update(struct rte_eth_dev *dev,
227 int wait_to_complete __rte_unused)
228{
229 struct hn_data *hv = dev->data->dev_private;
230 struct rte_eth_link link, old;
231 int error;
232
233 old = dev->data->dev_link;
234
235 error = hn_rndis_get_linkstatus(hv);
236 if (error)
237 return error;
238
239 hn_rndis_get_linkspeed(hv);
240
241 link = (struct rte_eth_link) {
242 .link_duplex = RTE_ETH_LINK_FULL_DUPLEX,
243 .link_autoneg = RTE_ETH_LINK_SPEED_FIXED,
244 .link_speed = hv->link_speed / 10000,
245 };
246
247 if (hv->link_status == NDIS_MEDIA_STATE_CONNECTED)
248 link.link_status = RTE_ETH_LINK_UP;
249 else
250 link.link_status = RTE_ETH_LINK_DOWN;
251
252 if (old.link_status == link.link_status)
253 return 0;
254
255 PMD_INIT_LOG(DEBUG, "Port %d is %s", dev->data->port_id,
256 (link.link_status == RTE_ETH_LINK_UP) ? "up" : "down");
257
258 return rte_eth_linkstatus_set(dev, &link);
259}
260
261static int hn_dev_info_get(struct rte_eth_dev *dev,
262 struct rte_eth_dev_info *dev_info)

Callers 1

hn_dev_startFunction · 0.85

Calls 3

hn_rndis_get_linkstatusFunction · 0.85
hn_rndis_get_linkspeedFunction · 0.85
rte_eth_linkstatus_setFunction · 0.85

Tested by

no test coverage detected