X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fnet%2Fice%2Fice_dcf_vf_representor.c;h=b9fcfc80ad9bcfcf31963fcbf9fbcd61bf3c260f;hb=a631c98a96a20358d5cad00c605ebd71f8feeed8;hp=970461f3e90ac9a43a23d8f62da215fd3b8cb2a5;hpb=c7e1a1a3bfebd5a09f3693c9f353fe703e7ae8da;p=dpdk.git diff --git a/drivers/net/ice/ice_dcf_vf_representor.c b/drivers/net/ice/ice_dcf_vf_representor.c index 970461f3e9..b9fcfc80ad 100644 --- a/drivers/net/ice/ice_dcf_vf_representor.c +++ b/drivers/net/ice/ice_dcf_vf_representor.c @@ -37,7 +37,7 @@ ice_dcf_vf_repr_dev_configure(struct rte_eth_dev *dev) static int ice_dcf_vf_repr_dev_start(struct rte_eth_dev *dev) { - dev->data->dev_link.link_status = ETH_LINK_UP; + dev->data->dev_link.link_status = RTE_ETH_LINK_UP; return 0; } @@ -45,7 +45,7 @@ ice_dcf_vf_repr_dev_start(struct rte_eth_dev *dev) static int ice_dcf_vf_repr_dev_stop(struct rte_eth_dev *dev) { - dev->data->dev_link.link_status = ETH_LINK_DOWN; + dev->data->dev_link.link_status = RTE_ETH_LINK_DOWN; return 0; } @@ -114,6 +114,11 @@ ice_dcf_vf_repr_hw(struct ice_dcf_vf_repr *repr) struct ice_dcf_adapter *dcf_adapter = repr->dcf_eth_dev->data->dev_private; + if (!dcf_adapter) { + PMD_DRV_LOG(ERR, "DCF for VF representor has been released\n"); + return NULL; + } + return &dcf_adapter->real_hw; } @@ -124,6 +129,9 @@ ice_dcf_vf_repr_dev_info_get(struct rte_eth_dev *dev, struct ice_dcf_vf_repr *repr = dev->data->dev_private; struct ice_dcf_hw *dcf_hw = ice_dcf_vf_repr_hw(repr); + if (!dcf_hw) + return -EIO; + dev_info->device = dev->device; dev_info->max_mac_addrs = 1; dev_info->max_rx_queues = dcf_hw->vsi_res->num_queue_pairs; @@ -135,29 +143,28 @@ ice_dcf_vf_repr_dev_info_get(struct rte_eth_dev *dev, dev_info->flow_type_rss_offloads = ICE_RSS_OFFLOAD_ALL; dev_info->rx_offload_capa = - DEV_RX_OFFLOAD_VLAN_STRIP | - DEV_RX_OFFLOAD_IPV4_CKSUM | - DEV_RX_OFFLOAD_UDP_CKSUM | - DEV_RX_OFFLOAD_TCP_CKSUM | - DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | - DEV_RX_OFFLOAD_SCATTER | - DEV_RX_OFFLOAD_JUMBO_FRAME | - DEV_RX_OFFLOAD_VLAN_FILTER | - DEV_RX_OFFLOAD_VLAN_EXTEND | - DEV_RX_OFFLOAD_RSS_HASH; + RTE_ETH_RX_OFFLOAD_VLAN_STRIP | + RTE_ETH_RX_OFFLOAD_IPV4_CKSUM | + RTE_ETH_RX_OFFLOAD_UDP_CKSUM | + RTE_ETH_RX_OFFLOAD_TCP_CKSUM | + RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM | + RTE_ETH_RX_OFFLOAD_SCATTER | + RTE_ETH_RX_OFFLOAD_VLAN_FILTER | + RTE_ETH_RX_OFFLOAD_VLAN_EXTEND | + RTE_ETH_RX_OFFLOAD_RSS_HASH; dev_info->tx_offload_capa = - DEV_TX_OFFLOAD_VLAN_INSERT | - DEV_TX_OFFLOAD_IPV4_CKSUM | - DEV_TX_OFFLOAD_UDP_CKSUM | - DEV_TX_OFFLOAD_TCP_CKSUM | - DEV_TX_OFFLOAD_SCTP_CKSUM | - DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM | - DEV_TX_OFFLOAD_TCP_TSO | - DEV_TX_OFFLOAD_VXLAN_TNL_TSO | - DEV_TX_OFFLOAD_GRE_TNL_TSO | - DEV_TX_OFFLOAD_IPIP_TNL_TSO | - DEV_TX_OFFLOAD_GENEVE_TNL_TSO | - DEV_TX_OFFLOAD_MULTI_SEGS; + RTE_ETH_TX_OFFLOAD_VLAN_INSERT | + RTE_ETH_TX_OFFLOAD_IPV4_CKSUM | + RTE_ETH_TX_OFFLOAD_UDP_CKSUM | + RTE_ETH_TX_OFFLOAD_TCP_CKSUM | + RTE_ETH_TX_OFFLOAD_SCTP_CKSUM | + RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM | + RTE_ETH_TX_OFFLOAD_TCP_TSO | + RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO | + RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO | + RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO | + RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO | + RTE_ETH_TX_OFFLOAD_MULTI_SEGS; dev_info->default_rxconf = (struct rte_eth_rxconf) { .rx_thresh = { @@ -239,9 +246,9 @@ ice_dcf_vf_repr_vlan_offload_set(struct rte_eth_dev *dev, int mask) return -ENOTSUP; /* Vlan stripping setting */ - if (mask & ETH_VLAN_STRIP_MASK) { + if (mask & RTE_ETH_VLAN_STRIP_MASK) { bool enable = !!(dev_conf->rxmode.offloads & - DEV_RX_OFFLOAD_VLAN_STRIP); + RTE_ETH_RX_OFFLOAD_VLAN_STRIP); if (enable && repr->outer_vlan_info.port_vlan_ena) { PMD_DRV_LOG(ERR, @@ -338,7 +345,7 @@ ice_dcf_vf_repr_vlan_tpid_set(struct rte_eth_dev *dev, if (!ice_dcf_vlan_offload_ena(repr)) return -ENOTSUP; - if (vlan_type != ETH_VLAN_TYPE_OUTER) { + if (vlan_type != RTE_ETH_VLAN_TYPE_OUTER) { PMD_DRV_LOG(ERR, "Can accelerate only outer VLAN in QinQ\n"); return -EINVAL; @@ -368,7 +375,7 @@ ice_dcf_vf_repr_vlan_tpid_set(struct rte_eth_dev *dev, if (repr->outer_vlan_info.stripping_ena) { err = ice_dcf_vf_repr_vlan_offload_set(dev, - ETH_VLAN_STRIP_MASK); + RTE_ETH_VLAN_STRIP_MASK); if (err) { PMD_DRV_LOG(ERR, "Failed to reset VLAN stripping : %d\n", @@ -418,6 +425,7 @@ ice_dcf_vf_repr_init(struct rte_eth_dev *vf_rep_eth_dev, void *init_param) vf_rep_eth_dev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR; vf_rep_eth_dev->data->representor_id = repr->vf_id; + vf_rep_eth_dev->data->backer_port_id = repr->dcf_eth_dev->data->port_id; vf_rep_eth_dev->data->mac_addrs = &repr->mac_addr; @@ -441,7 +449,7 @@ ice_dcf_vf_repr_init_vlan(struct rte_eth_dev *vf_rep_eth_dev) int err; err = ice_dcf_vf_repr_vlan_offload_set(vf_rep_eth_dev, - ETH_VLAN_STRIP_MASK); + RTE_ETH_VLAN_STRIP_MASK); if (err) { PMD_DRV_LOG(ERR, "Failed to set VLAN offload"); return err;