Merge "[qca-nss-drv] Link Aggregation changes for NSS Wi-Fi offload."
diff --git a/exports/nss_shaper.h b/exports/nss_shaper.h
index 752f83c..e543069 100644
--- a/exports/nss_shaper.h
+++ b/exports/nss_shaper.h
@@ -65,6 +65,7 @@
NSS_SHAPER_CONFIG_TYPE_SHAPER_NODE_CHANGE_PARAM,
NSS_SHAPER_CONFIG_TYPE_HYBRID_MODE_ENABLE,
NSS_SHAPER_CONFIG_TYPE_HYBRID_MODE_DISABLE,
+ NSS_SHAPER_CONFIG_TYPE_SHAPER_NODE_MEM_REQ,
};
typedef enum nss_shaper_config_types nss_shaper_config_type_t;
@@ -107,6 +108,10 @@
NSS_SHAPER_RESPONSE_TYPE_PPE_SN_INVALID_LIMIT,
NSS_SHAPER_RESPONSE_TYPE_PPE_SN_UCAST_QUEUE_CHANGED,
NSS_SHAPER_RESPONSE_TYPE_PPE_SN_MCAST_QUEUE_CHANGED,
+ NSS_SHAPER_RESPONSE_TYPE_CODEL_FQ_MEM_INSUFFICIENT,
+ NSS_SHAPER_RESPONSE_TYPE_CODEL_FQ_COUNT_CHANGE_NOT_ALLOWED,
+ NSS_SHAPER_RESPONSE_TYPE_CODEL_FQ_COUNT_INVALID,
+ NSS_SHAPER_RESPONSE_TYPE_CODEL_MODE_CHANGE_NOT_ALLOWED,
};
typedef enum nss_shaper_response_types nss_shaper_response_type_t;
@@ -186,10 +191,22 @@
* Message information for configuring a CoDel shaper node.
*/
struct nss_shaper_config_codel_param {
- int32_t qlen_max;
- /**< Maximum number of packets that can be enqueued. */
+ int32_t qlen_max; /**< Maximum number of packets that can be enqueued. */
struct nss_shaper_config_codel_alg_param cap;
- /**< Configuration for the CoDel algorithm. */
+ /**< Configuration for the CoDel algorithm. */
+ uint32_t flows; /**< Number of flow hash buckets. */
+ uint32_t flows_mem; /**< Host allocated memory for flow queues. */
+ uint32_t flows_mem_sz; /**< Memory size allocated for flow queues. */
+ uint32_t quantum; /**< Quantum (in bytes) to round-robin the flow buckets. */
+ uint32_t ecn; /**< 0 - ECN disabled, 1 - ECN enabled. */
+};
+
+/**
+ * nss_shaper_config_codel_mem_req
+ * Message to get CoDel memory requirement per flow queue (needed for fq_codel).
+ */
+struct nss_shaper_config_codel_mem_req {
+ uint32_t mem_req; /**< Memory needed per flow queue (in bytes). */
};
/**
@@ -445,7 +462,7 @@
*/
enum nss_shaper_config_ppe_sn_type {
/*
- * Scheduler types
+ * Scheduler types.
*/
NSS_SHAPER_CONFIG_PPE_SN_TYPE_HTB,
NSS_SHAPER_CONFIG_PPE_SN_TYPE_HTB_GROUP,
@@ -456,7 +473,7 @@
NSS_SHAPER_CONFIG_PPE_SN_SCH_MAX = 0xFF,
/*
- * Queue types
+ * Queue types.
*/
NSS_SHAPER_CONFIG_PPE_SN_TYPE_FIFO,
NSS_SHAPER_CONFIG_PPE_SN_TYPE_RED,
@@ -498,6 +515,9 @@
struct nss_shaper_config_codel_param codel_param;
/**< Configure a CoDel shaper node. */
+ struct nss_shaper_config_codel_mem_req codel_mem_req;
+ /**< Get CoDel memory requirement. */
+
struct nss_shaper_config_tbl_attach tbl_attach;
/**< Attach a shaper node to a TBL shaper node. */
struct nss_shaper_config_tbl_param tbl_param;
diff --git a/exports/nss_wifili_if.h b/exports/nss_wifili_if.h
index 7728c8d..366ac29 100644
--- a/exports/nss_wifili_if.h
+++ b/exports/nss_wifili_if.h
@@ -407,6 +407,8 @@
/**< Hardware address search table index. */
uint8_t is_nawds;
/**< NAWDS enabled for peer. */
+ uint8_t reserved[3];
+ /**< Padding for alignment. */
uint32_t nss_peer_mem;
/**< Holds peer memory adderss for NSS. */
};