> -----Original Message-----
> From: Wu, Jingjing <jingjing...@intel.com>
> Sent: Thursday, February 2, 2023 12:24 PM
> To: Liu, Mingxia <mingxia....@intel.com>; dev@dpdk.org
> Cc: Xing, Beilei <beilei.x...@intel.com>
> Subject: RE: [PATCH v3 5/6] common/idpf: add alarm to support handle vchnl
> message
> 
> > @@ -83,12 +84,49 @@ static int
> >  idpf_dev_link_update(struct rte_eth_dev *dev,
> >                  __rte_unused int wait_to_complete)  {
> > +   struct idpf_vport *vport = dev->data->dev_private;
> >     struct rte_eth_link new_link;
> >
> >     memset(&new_link, 0, sizeof(new_link));
> >
> > -   new_link.link_speed = RTE_ETH_SPEED_NUM_NONE;
> > +   switch (vport->link_speed) {
> > +   case 10:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_10M;
> > +           break;
> > +   case 100:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_100M;
> > +           break;
> > +   case 1000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_1G;
> > +           break;
> > +   case 10000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_10G;
> > +           break;
> > +   case 20000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_20G;
> > +           break;
> > +   case 25000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_25G;
> > +           break;
> > +   case 40000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_40G;
> > +           break;
> > +   case 50000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_50G;
> > +           break;
> > +   case 100000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_100G;
> > +           break;
> > +   case 200000:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_200G;
> > +           break;
> > +   default:
> > +           new_link.link_speed = RTE_ETH_SPEED_NUM_NONE;
> > +   }
> > +
> >     new_link.link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
> > +   new_link.link_status = vport->link_up ? RTE_ETH_LINK_UP :
> > +           RTE_ETH_LINK_DOWN;
> >     new_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
> >                               RTE_ETH_LINK_SPEED_FIXED);
> Better to use RTE_ETH_LINK_[AUTONEG/FIXED] instead.
> 
[Liu, Mingxia] According to the comment description of struct rte_eth_conf, 
RTE_ETH_LINK_SPEED_FIXED is better.
struct rte_eth_conf {
uint32_t link_speeds; /**< bitmap of RTE_ETH_LINK_SPEED_XXX of speeds to be
                                used. RTE_ETH_LINK_SPEED_FIXED disables link
                                autonegotiation, and a unique speed shall be
                                set. Otherwise, the bitmap defines the set of
                                speeds to be advertised. If the special value
                                RTE_ETH_LINK_SPEED_AUTONEG (0) is used, all 
speeds
                                supported are advertised. */


> >
> > @@ -927,6 +965,127 @@ idpf_parse_devargs(struct rte_pci_device
> > *pci_dev, struct idpf_adapter_ext *adap
> >     return ret;
> >  }
> >
> > +static struct idpf_vport *
> > +idpf_find_vport(struct idpf_adapter_ext *adapter, uint32_t vport_id)
> > +{
> > +   struct idpf_vport *vport = NULL;
> > +   int i;
> > +
> > +   for (i = 0; i < adapter->cur_vport_nb; i++) {
> > +           vport = adapter->vports[i];
> > +           if (vport->vport_id != vport_id)
> > +                   continue;
> > +           else
> > +                   return vport;
> > +   }
> > +
> > +   return vport;
> > +}
> > +
> > +static void
> > +idpf_handle_event_msg(struct idpf_vport *vport, uint8_t *msg,
> > +uint16_t msglen) {
> > +   struct virtchnl2_event *vc_event = (struct virtchnl2_event *)msg;
> > +   struct rte_eth_dev *dev = (struct rte_eth_dev *)vport->dev;
> > +
> > +   if (msglen < sizeof(struct virtchnl2_event)) {
> > +           PMD_DRV_LOG(ERR, "Error event");
> > +           return;
> > +   }
> > +
> > +   switch (vc_event->event) {
> > +   case VIRTCHNL2_EVENT_LINK_CHANGE:
> > +           PMD_DRV_LOG(DEBUG,
> "VIRTCHNL2_EVENT_LINK_CHANGE");
> > +           vport->link_up = vc_event->link_status;
> Any conversion between bool and uint8?
> 
[Liu, Mingxia] Ok, thanks, I 'll use !! to convert uint8 to bool.

Reply via email to