@@ -20,6 +20,8 @@ extern "C" {
#endif
#include <odp/api/std_types.h>
+#include <odp/api/support.h>
+#include <odp/api/red.h>
/** @defgroup odp_pool ODP POOL
* Operations on a pool.
@@ -134,6 +136,19 @@ typedef struct odp_pool_capability_t {
* The value of zero means that limited only by the available
* memory size for the pool. */
uint32_t max_uarea_size;
+
+ /** Support for Random Early Detection */
+ odp_support_t random_early_detection;
+
+ /** Supported threshold type for RED */
+ odp_threshold_type_t threshold_red;
+
+ /** Support for Back Pressure to the remote peer */
+ odp_support_t back_pressure;
+
+ /** Supported threshold type for BP */
+ odp_threshold_type_t threshold_bp;
+
} pkt;
/** Timeout pool capabilities */
@@ -228,6 +243,12 @@ typedef struct odp_pool_param_t {
capability pkt.max_headroom.
Use zero if headroom is not needed. */
uint32_t headroom;
+
+ /* Random Early Detection configuration */
+ odp_red_param_t red;
+
+ /* Back Pressure configuration */
+ odp_bp_param_t bp;
} pkt;
/** Parameters for timeout pools */