@@ -21,6 +21,8 @@ extern "C" {
#include <odp/api/schedule_types.h>
#include <odp/api/event.h>
+#include <odp/api/support.h>
+#include <odp/api/red.h>
/** @defgroup odp_queue ODP QUEUE
* Macros and operation on a queue.
@@ -114,6 +116,18 @@ typedef struct odp_queue_capability_t {
/** Number of scheduling priorities */
unsigned sched_prios;
+ /** Support for Random Early Detection */
+ odp_support_t random_early_detection;
+
+ /** Supported threshold types for RED */
+ odp_threshold_type_t threshold_red;
+
+ /** Support for Back Pressure to the remote peer */
+ odp_support_t back_pressure;
+
+ /** Supported threshold types for BP */
+ odp_threshold_type_t threshold_bp;
+
/** Plain queue capabilities */
struct {
/** Maximum number of plain queues of the default size. */
@@ -202,6 +216,11 @@ typedef struct odp_queue_param_t {
* default size. */
uint32_t size;
+ /* Random early detection configuration */
+ odp_red_param_t red;
+
+ /* Back Pressure configuration */
+ odp_bp_param_t bp;
} odp_queue_param_t;
/**