On Fri, 22 May 2015 18:54:20 +0530
Rahul Lakkireddy <rahul.lakkireddy at chelsio.com> wrote:

> +static int cxgbe_dev_link_update(struct rte_eth_dev *eth_dev,
> +                              __rte_unused int wait_to_complete)
> +{
> +     struct port_info *pi = (struct port_info *)(eth_dev->data->dev_private);
> +     struct adapter *adapter = pi->adapter;
> +     struct sge *s = &adapter->sge;
> +     unsigned int work_done, budget = 4;
> +     int ret;
> +
> +     cxgbe_poll(&s->fw_evtq, NULL, budget, &work_done);
> +     ret = pi->link_cfg.link_ok;
> +     eth_dev->data->dev_link.link_status = pi->link_cfg.link_ok;
> +     eth_dev->data->dev_link.link_duplex = ETH_LINK_FULL_DUPLEX;
> +     eth_dev->data->dev_link.link_speed = pi->link_cfg.speed;
> +     return ret;

It is well not documented but link update is supposed to return 0
on link status changed and -1 if not changed.

Reply via email to