X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Fbnxt_vnic.h;h=37b452f2817037050339f2677ab2fb6b5d03a2b0;hb=586e6028371764452b7dbae3b1f50adde87be80e;hp=c521d7e5afad3d6b76ab0e018a72e71593a44bd6;hpb=44cbeffe77651239cb4d425c61b9ee1cfde27152;p=dpdk.git diff --git a/drivers/net/bnxt/bnxt_vnic.h b/drivers/net/bnxt/bnxt_vnic.h index c521d7e5af..37b452f281 100644 --- a/drivers/net/bnxt/bnxt_vnic.h +++ b/drivers/net/bnxt/bnxt_vnic.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2018 Broadcom + * Copyright(c) 2014-2021 Broadcom * All rights reserved. */ @@ -9,19 +9,21 @@ #include #include +#define INVALID_VNIC_ID ((uint16_t)-1) + +#define BNXT_RSS_LEVEL_INNERMOST 0x2 +#define BNXT_RSS_LEVEL_OUTERMOST 0x1 + struct bnxt_vnic_info { STAILQ_ENTRY(bnxt_vnic_info) next; uint8_t ff_pool_idx; uint16_t fw_vnic_id; /* returned by Chimp during alloc */ uint16_t rss_rule; -#define MAX_NUM_TRAFFIC_CLASSES 8 -#define MAX_NUM_RSS_QUEUES_PER_VNIC 16 -#define MAX_QUEUES_PER_VNIC (MAX_NUM_RSS_QUEUES_PER_VNIC + \ - MAX_NUM_TRAFFIC_CLASSES) uint16_t start_grp_id; uint16_t end_grp_id; - uint16_t fw_grp_ids[MAX_QUEUES_PER_VNIC]; + uint16_t *fw_grp_ids; + uint16_t num_lb_ctxts; uint16_t dflt_ring_grp; uint16_t mru; uint16_t hash_type; @@ -45,11 +47,11 @@ struct bnxt_vnic_info { uint16_t cos_rule; uint16_t lb_rule; + uint16_t rx_queue_cnt; + uint16_t cos_queue_id; bool vlan_strip; bool func_default; bool bd_stall; - bool roce_dual; - bool roce_only; bool rss_dflt_cr; STAILQ_HEAD(, bnxt_filter_info) filter; @@ -57,7 +59,6 @@ struct bnxt_vnic_info { }; struct bnxt; -void bnxt_init_vnics(struct bnxt *bp); int bnxt_free_vnic(struct bnxt *bp, struct bnxt_vnic_info *vnic, int pool); struct bnxt_vnic_info *bnxt_alloc_vnic(struct bnxt *bp); @@ -66,4 +67,9 @@ void bnxt_free_vnic_attributes(struct bnxt *bp); int bnxt_alloc_vnic_attributes(struct bnxt *bp); void bnxt_free_vnic_mem(struct bnxt *bp); int bnxt_alloc_vnic_mem(struct bnxt *bp); +int bnxt_vnic_grp_alloc(struct bnxt *bp, struct bnxt_vnic_info *vnic); +void bnxt_prandom_bytes(void *dest_ptr, size_t len); +uint16_t bnxt_rte_to_hwrm_hash_types(uint64_t rte_type); +int bnxt_rte_to_hwrm_hash_level(struct bnxt *bp, uint64_t hash_f, uint32_t lvl); +uint64_t bnxt_hwrm_to_rte_rss_level(struct bnxt *bp, uint32_t mode); #endif