net/bnxt: support 58818 chip family
[dpdk.git] / drivers / net / bnxt / bnxt_vnic.h
index cb2707f..2a6f05d 100644 (file)
@@ -9,6 +9,11 @@
 #include <sys/queue.h>
 #include <stdbool.h>
 
+#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;
@@ -43,6 +48,7 @@ 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;
@@ -55,7 +61,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);
@@ -65,5 +70,8 @@ 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 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