net/bnxt: fetch VNIC info

VNIC is needed for the driver to program the action record for rx
flows. VNIC determines what receive rings to use to place the received
packets. This patch introduces a routine that will convert a given
dpdk port to VNIC.

Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
This commit is contained in:
Venkat Duvvuru 2020-04-15 13:48:51 +05:30 committed by Ferruh Yigit
parent f6e250d21a
commit 51fbba03f7
2 changed files with 16 additions and 0 deletions

View File

@ -727,6 +727,7 @@ extern int bnxt_logtype_driver;
#define PMD_DRV_LOG(level, fmt, args...) \
PMD_DRV_LOG_RAW(level, fmt, ## args)
uint16_t bnxt_get_vnic_id(uint16_t port);
uint16_t bnxt_get_svif(uint16_t port_id, bool func_svif);
#endif

View File

@ -4708,6 +4708,21 @@ bnxt_get_svif(uint16_t port_id, bool func_svif)
return func_svif ? bp->func_svif : bp->port_svif;
}
uint16_t
bnxt_get_vnic_id(uint16_t port)
{
struct rte_eth_dev *eth_dev;
struct bnxt_vnic_info *vnic;
struct bnxt *bp;
eth_dev = &rte_eth_devices[port];
bp = eth_dev->data->dev_private;
vnic = BNXT_GET_DEFAULT_VNIC(bp);
return vnic->fw_vnic_id;
}
static int bnxt_init_fw(struct bnxt *bp)
{
uint16_t mtu;