1*6b81dddbSJerin Jacob /* SPDX-License-Identifier: BSD-3-Clause 2*6b81dddbSJerin Jacob * Copyright(C) 2022 Marvell International Ltd. 3*6b81dddbSJerin Jacob */ 4*6b81dddbSJerin Jacob 5*6b81dddbSJerin Jacob #ifndef RTE_CMAN_H 6*6b81dddbSJerin Jacob #define RTE_CMAN_H 7*6b81dddbSJerin Jacob 8*6b81dddbSJerin Jacob #include <rte_bitops.h> 9*6b81dddbSJerin Jacob 10*6b81dddbSJerin Jacob /** 11*6b81dddbSJerin Jacob * @file 12*6b81dddbSJerin Jacob * Congestion management related parameters for DPDK. 13*6b81dddbSJerin Jacob */ 14*6b81dddbSJerin Jacob 15*6b81dddbSJerin Jacob /** Congestion management modes */ 16*6b81dddbSJerin Jacob enum rte_cman_mode { 17*6b81dddbSJerin Jacob /** 18*6b81dddbSJerin Jacob * Congestion based on Random Early Detection. 19*6b81dddbSJerin Jacob * 20*6b81dddbSJerin Jacob * https://en.wikipedia.org/wiki/Random_early_detection 21*6b81dddbSJerin Jacob * http://www.aciri.org/floyd/papers/red/red.html 22*6b81dddbSJerin Jacob * @see struct rte_cman_red_params 23*6b81dddbSJerin Jacob */ 24*6b81dddbSJerin Jacob RTE_CMAN_RED = RTE_BIT32(0), 25*6b81dddbSJerin Jacob }; 26*6b81dddbSJerin Jacob 27*6b81dddbSJerin Jacob /** 28*6b81dddbSJerin Jacob * RED based congestion management configuration parameters. 29*6b81dddbSJerin Jacob */ 30*6b81dddbSJerin Jacob struct rte_cman_red_params { 31*6b81dddbSJerin Jacob /** 32*6b81dddbSJerin Jacob * Minimum threshold (min_th) value 33*6b81dddbSJerin Jacob * 34*6b81dddbSJerin Jacob * Value expressed as percentage. Value must be in 0 to 100(inclusive). 35*6b81dddbSJerin Jacob */ 36*6b81dddbSJerin Jacob uint8_t min_th; 37*6b81dddbSJerin Jacob /** 38*6b81dddbSJerin Jacob * Maximum threshold (max_th) value 39*6b81dddbSJerin Jacob * 40*6b81dddbSJerin Jacob * Value expressed as percentage. Value must be in 0 to 100(inclusive). 41*6b81dddbSJerin Jacob */ 42*6b81dddbSJerin Jacob uint8_t max_th; 43*6b81dddbSJerin Jacob /** Inverse of packet marking probability maximum value (maxp = 1 / maxp_inv) */ 44*6b81dddbSJerin Jacob uint16_t maxp_inv; 45*6b81dddbSJerin Jacob }; 46*6b81dddbSJerin Jacob 47*6b81dddbSJerin Jacob #endif /* RTE_CMAN_H */ 48