DPDK  20.11.0
rte_tm.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2017 Intel Corporation.
3  * Copyright(c) 2017 Cavium.
4  * Copyright(c) 2017 NXP.
5  */
6 
7 #ifndef __INCLUDE_RTE_TM_H__
8 #define __INCLUDE_RTE_TM_H__
9 
23 #include <stdint.h>
24 
25 #include <rte_common.h>
26 #include <rte_meter.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
45 #define RTE_TM_ETH_FRAMING_OVERHEAD 20
46 
57 #define RTE_TM_ETH_FRAMING_OVERHEAD_FCS 24
58 
66 #define RTE_TM_WRED_PROFILE_ID_NONE UINT32_MAX
67 
75 #define RTE_TM_SHAPER_PROFILE_ID_NONE UINT32_MAX
76 
82 #define RTE_TM_NODE_ID_NULL UINT32_MAX
83 
89 #define RTE_TM_NODE_LEVEL_ID_ANY UINT32_MAX
90 
97 
100 
103 
106 
109 
112 
115 
118 
123 
128 };
129 
135  uint64_t n_pkts;
136 
138  uint64_t n_bytes;
139 
141  struct {
146 
151 
155  uint64_t n_pkts_queued;
156 
160  uint64_t n_bytes_queued;
161  } leaf;
162 };
163 
173 
179 
182 
185 
188 
191 
194 
197 };
198 
204  uint32_t n_nodes_max;
205 
209  uint32_t n_levels_max;
210 
215 
220 
227  uint32_t shaper_n_max;
228 
234 
243 
248 
253 
261 
269 
270 
275 
280 
288 
294 
299 
304 
311 
318 
319 
324 
329 
336 
346 
356 
369 
374 
382 
390 
398 
406 
412 
421 
428 
433 
438 
447 
450 
453 
456 
459 
464 
468  uint64_t stats_mask;
469 };
470 
476  uint32_t n_nodes_max;
477 
483 
489 
495 
501 
503  union {
505  struct {
512 
522 
529 
536 
545 
554 
564 
571 
578 
586 
599 
611 
630 
637 
647 
656 
664  uint64_t stats_mask;
666 
668  struct {
675 
684 
690  uint64_t shaper_private_rate_min;
691 
697  uint64_t shaper_private_rate_max;
698 
707 
716 
725  uint32_t shaper_shared_n_max;
726 
733 
740 
749 
758 
766 
773 
784 
792  uint64_t stats_mask;
793  } leaf;
794  };
795 };
796 
803 
808 
814 
820 
827 
834 
840 
846 
852 
854  union {
856  struct {
859 
867 
876 
890 
896 
904 
912 
914 
916  struct {
919 
922 
925 
928 
935  } leaf;
936  };
937 
941  uint64_t stats_mask;
942 };
943 
964 };
965 
971  uint64_t min_th;
972 
974  uint64_t max_th;
975 
979  uint16_t maxp_inv;
980 
982  uint16_t wq_log2;
983 };
984 
1002 
1008 };
1009 
1015  uint64_t rate;
1016 
1018  uint64_t size;
1019 };
1020 
1047 
1049  struct rte_tm_token_bucket peak;
1050 
1058 
1068 };
1069 
1103 
1105  uint32_t *shared_shaper_id;
1106 
1109 
1110  RTE_STD_C11
1111  union {
1113  struct {
1123 
1127 
1129  struct {
1131  enum rte_tm_cman_mode cman;
1132 
1136  struct {
1143 
1150 
1157  } wred;
1158  } leaf;
1159  };
1160 
1167  uint64_t stats_mask;
1168 };
1169 
1179  RTE_TM_ERROR_TYPE_CAPABILITIES,
1180  RTE_TM_ERROR_TYPE_LEVEL_ID,
1181  RTE_TM_ERROR_TYPE_WRED_PROFILE,
1182  RTE_TM_ERROR_TYPE_WRED_PROFILE_GREEN,
1183  RTE_TM_ERROR_TYPE_WRED_PROFILE_YELLOW,
1184  RTE_TM_ERROR_TYPE_WRED_PROFILE_RED,
1185  RTE_TM_ERROR_TYPE_WRED_PROFILE_ID,
1186  RTE_TM_ERROR_TYPE_SHARED_WRED_CONTEXT_ID,
1187  RTE_TM_ERROR_TYPE_SHAPER_PROFILE,
1188  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_RATE,
1189  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_SIZE,
1190  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_RATE,
1191  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_SIZE,
1192  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PKT_ADJUST_LEN,
1193  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PACKET_MODE,
1194  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_ID,
1195  RTE_TM_ERROR_TYPE_SHARED_SHAPER_ID,
1196  RTE_TM_ERROR_TYPE_NODE_PARENT_NODE_ID,
1197  RTE_TM_ERROR_TYPE_NODE_PRIORITY,
1198  RTE_TM_ERROR_TYPE_NODE_WEIGHT,
1199  RTE_TM_ERROR_TYPE_NODE_PARAMS,
1200  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHAPER_PROFILE_ID,
1201  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_SHAPER_ID,
1202  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_SHAPERS,
1203  RTE_TM_ERROR_TYPE_NODE_PARAMS_WFQ_WEIGHT_MODE,
1204  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SP_PRIORITIES,
1205  RTE_TM_ERROR_TYPE_NODE_PARAMS_CMAN,
1206  RTE_TM_ERROR_TYPE_NODE_PARAMS_WRED_PROFILE_ID,
1207  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_WRED_CONTEXT_ID,
1208  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_WRED_CONTEXTS,
1209  RTE_TM_ERROR_TYPE_NODE_PARAMS_STATS,
1210  RTE_TM_ERROR_TYPE_NODE_ID,
1211 };
1212 
1225  enum rte_tm_error_type type;
1226  const void *cause;
1227  const char *message;
1228 };
1229 
1247 __rte_experimental
1248 int
1250  uint32_t *n_leaf_nodes,
1251  struct rte_tm_error *error);
1252 
1272 __rte_experimental
1273 int
1274 rte_tm_node_type_get(uint16_t port_id,
1275  uint32_t node_id,
1276  int *is_leaf,
1277  struct rte_tm_error *error);
1278 
1291 __rte_experimental
1292 int
1293 rte_tm_capabilities_get(uint16_t port_id,
1294  struct rte_tm_capabilities *cap,
1295  struct rte_tm_error *error);
1296 
1312 __rte_experimental
1313 int
1315  uint32_t level_id,
1316  struct rte_tm_level_capabilities *cap,
1317  struct rte_tm_error *error);
1318 
1333 __rte_experimental
1334 int
1336  uint32_t node_id,
1337  struct rte_tm_node_capabilities *cap,
1338  struct rte_tm_error *error);
1339 
1359 __rte_experimental
1360 int
1361 rte_tm_wred_profile_add(uint16_t port_id,
1362  uint32_t wred_profile_id,
1363  struct rte_tm_wred_params *profile,
1364  struct rte_tm_error *error);
1365 
1383 __rte_experimental
1384 int
1386  uint32_t wred_profile_id,
1387  struct rte_tm_error *error);
1388 
1415 __rte_experimental
1416 int
1418  uint32_t shared_wred_context_id,
1419  uint32_t wred_profile_id,
1420  struct rte_tm_error *error);
1421 
1440 __rte_experimental
1441 int
1443  uint32_t shared_wred_context_id,
1444  struct rte_tm_error *error);
1445 
1465 __rte_experimental
1466 int
1467 rte_tm_shaper_profile_add(uint16_t port_id,
1468  uint32_t shaper_profile_id,
1469  struct rte_tm_shaper_params *profile,
1470  struct rte_tm_error *error);
1471 
1489 __rte_experimental
1490 int
1492  uint32_t shaper_profile_id,
1493  struct rte_tm_error *error);
1494 
1519 __rte_experimental
1520 int
1522  uint32_t shared_shaper_id,
1523  uint32_t shaper_profile_id,
1524  struct rte_tm_error *error);
1525 
1543 __rte_experimental
1544 int
1546  uint32_t shared_shaper_id,
1547  struct rte_tm_error *error);
1548 
1612 __rte_experimental
1613 int
1614 rte_tm_node_add(uint16_t port_id,
1615  uint32_t node_id,
1616  uint32_t parent_node_id,
1617  uint32_t priority,
1618  uint32_t weight,
1619  uint32_t level_id,
1620  struct rte_tm_node_params *params,
1621  struct rte_tm_error *error);
1622 
1646 __rte_experimental
1647 int
1648 rte_tm_node_delete(uint16_t port_id,
1649  uint32_t node_id,
1650  struct rte_tm_error *error);
1651 
1671 __rte_experimental
1672 int
1673 rte_tm_node_suspend(uint16_t port_id,
1674  uint32_t node_id,
1675  struct rte_tm_error *error);
1676 
1695 __rte_experimental
1696 int
1697 rte_tm_node_resume(uint16_t port_id,
1698  uint32_t node_id,
1699  struct rte_tm_error *error);
1700 
1737 __rte_experimental
1738 int
1739 rte_tm_hierarchy_commit(uint16_t port_id,
1740  int clear_on_fail,
1741  struct rte_tm_error *error);
1742 
1778 __rte_experimental
1779 int
1780 rte_tm_node_parent_update(uint16_t port_id,
1781  uint32_t node_id,
1782  uint32_t parent_node_id,
1783  uint32_t priority,
1784  uint32_t weight,
1785  struct rte_tm_error *error);
1786 
1808 __rte_experimental
1809 int
1810 rte_tm_node_shaper_update(uint16_t port_id,
1811  uint32_t node_id,
1812  uint32_t shaper_profile_id,
1813  struct rte_tm_error *error);
1814 
1836 __rte_experimental
1837 int
1839  uint32_t node_id,
1840  uint32_t shared_shaper_id,
1841  int add,
1842  struct rte_tm_error *error);
1843 
1864 __rte_experimental
1865 int
1866 rte_tm_node_stats_update(uint16_t port_id,
1867  uint32_t node_id,
1868  uint64_t stats_mask,
1869  struct rte_tm_error *error);
1870 
1893 __rte_experimental
1894 int
1896  uint32_t node_id,
1897  int *wfq_weight_mode,
1898  uint32_t n_sp_priorities,
1899  struct rte_tm_error *error);
1900 
1917 __rte_experimental
1918 int
1919 rte_tm_node_cman_update(uint16_t port_id,
1920  uint32_t node_id,
1921  enum rte_tm_cman_mode cman,
1922  struct rte_tm_error *error);
1923 
1942 __rte_experimental
1943 int
1945  uint32_t node_id,
1946  uint32_t wred_profile_id,
1947  struct rte_tm_error *error);
1948 
1968 __rte_experimental
1969 int
1971  uint32_t node_id,
1972  uint32_t shared_wred_context_id,
1973  int add,
1974  struct rte_tm_error *error);
1975 
2001 __rte_experimental
2002 int
2003 rte_tm_node_stats_read(uint16_t port_id,
2004  uint32_t node_id,
2005  struct rte_tm_node_stats *stats,
2006  uint64_t *stats_mask,
2007  int clear,
2008  struct rte_tm_error *error);
2009 
2039 __rte_experimental
2040 int
2041 rte_tm_mark_vlan_dei(uint16_t port_id,
2042  int mark_green,
2043  int mark_yellow,
2044  int mark_red,
2045  struct rte_tm_error *error);
2046 
2090 __rte_experimental
2091 int
2092 rte_tm_mark_ip_ecn(uint16_t port_id,
2093  int mark_green,
2094  int mark_yellow,
2095  int mark_red,
2096  struct rte_tm_error *error);
2097 
2139 __rte_experimental
2140 int
2141 rte_tm_mark_ip_dscp(uint16_t port_id,
2142  int mark_green,
2143  int mark_yellow,
2144  int mark_red,
2145  struct rte_tm_error *error);
2146 
2147 #ifdef __cplusplus
2148 }
2149 #endif
2150 
2151 #endif /* __INCLUDE_RTE_TM_H__ */
rte_tm_level_capabilities::sched_wfq_n_groups_max
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:629
rte_tm_node_stats::n_pkts_queued
uint64_t n_pkts_queued
Definition: rte_tm.h:155
rte_tm_level_capabilities::leaf_nodes_identical
int leaf_nodes_identical
Definition: rte_tm.h:500
rte_tm_capabilities::cman_wred_byte_mode_supported
int cman_wred_byte_mode_supported
Definition: rte_tm.h:405
rte_tm_level_capabilities::n_nodes_max
uint32_t n_nodes_max
Definition: rte_tm.h:476
rte_tm_node_stats
Definition: rte_tm.h:133
rte_tm_node_capabilities::sched_wfq_weight_max
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:895
rte_tm_error::cause
const void * cause
Definition: rte_tm.h:1226
rte_tm_node_params::n_sp_priorities
uint32_t n_sp_priorities
Definition: rte_tm.h:1125
rte_tm_capabilities::shaper_private_dual_rate_n_max
int shaper_private_dual_rate_n_max
Definition: rte_tm.h:242
rte_tm_level_capabilities::cman_wred_packet_mode_supported
int cman_wred_packet_mode_supported
Definition: rte_tm.h:748
rte_tm_capabilities::mark_ip_dscp_supported
int mark_ip_dscp_supported[RTE_COLORS]
Definition: rte_tm.h:458
rte_tm_capabilities::shaper_shared_packet_mode_supported
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:310
rte_tm_node_params
Definition: rte_tm.h:1097
rte_tm_capabilities::shaper_private_packet_mode_supported
int shaper_private_packet_mode_supported
Definition: rte_tm.h:260
rte_meter.h
rte_tm_capabilities::shaper_pkt_length_adjust_min
int shaper_pkt_length_adjust_min
Definition: rte_tm.h:323
rte_tm_capabilities::sched_wfq_n_groups_max
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:368
rte_tm_capabilities::sched_wfq_packet_mode_supported
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:381
rte_tm_level_capabilities_get
__rte_experimental int rte_tm_level_capabilities_get(uint16_t port_id, uint32_t level_id, struct rte_tm_level_capabilities *cap, struct rte_tm_error *error)
rte_tm_token_bucket
Definition: rte_tm.h:1013
rte_tm_shaper_params::pkt_length_adjust
int32_t pkt_length_adjust
Definition: rte_tm.h:1057
rte_tm_node_capabilities::shaper_private_byte_mode_supported
int shaper_private_byte_mode_supported
Definition: rte_tm.h:833
rte_tm_capabilities::cman_wred_context_shared_n_contexts_per_node_max
uint32_t cman_wred_context_shared_n_contexts_per_node_max
Definition: rte_tm.h:446
rte_tm_shaper_params
Definition: rte_tm.h:1044
rte_tm_node_capabilities::leaf
struct rte_tm_node_capabilities::@179::@182 leaf
rte_tm_wred_params
Definition: rte_tm.h:999
rte_tm_node_params::nonleaf
struct rte_tm_node_params::@183::@185 nonleaf
rte_tm_capabilities::shaper_private_n_max
uint32_t shaper_private_n_max
Definition: rte_tm.h:233
RTE_TM_UPDATE_NODE_STATS
@ RTE_TM_UPDATE_NODE_STATS
Definition: rte_tm.h:196
rte_tm_wred_params::packet_mode
int packet_mode
Definition: rte_tm.h:1007
rte_tm_node_capabilities::sched_wfq_n_groups_max
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:889
rte_tm_capabilities::cman_wred_context_shared_n_max
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:432
rte_tm_capabilities::sched_wfq_byte_mode_supported
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:389
rte_tm_stats_type
rte_tm_stats_type
Definition: rte_tm.h:94
rte_tm_node_params::shaper_profile_id
uint32_t shaper_profile_id
Definition: rte_tm.h:1102
rte_tm_capabilities::shaper_private_byte_mode_supported
int shaper_private_byte_mode_supported
Definition: rte_tm.h:268
rte_tm_level_capabilities::shaper_private_rate_max
uint64_t shaper_private_rate_max
Definition: rte_tm.h:535
rte_tm_capabilities::cman_wred_context_private_n_max
uint32_t cman_wred_context_private_n_max
Definition: rte_tm.h:427
rte_tm_node_capabilities::sched_wfq_byte_mode_supported
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:911
rte_tm_capabilities::non_leaf_nodes_identical
int non_leaf_nodes_identical
Definition: rte_tm.h:214
rte_tm_level_capabilities::shaper_shared_packet_mode_supported
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:570
rte_tm_node_capabilities::shaper_private_rate_min
uint64_t shaper_private_rate_min
Definition: rte_tm.h:813
rte_tm_node_capabilities::shaper_shared_n_max
uint32_t shaper_shared_n_max
Definition: rte_tm.h:839
rte_tm_node_capabilities_get
__rte_experimental int rte_tm_node_capabilities_get(uint16_t port_id, uint32_t node_id, struct rte_tm_node_capabilities *cap, struct rte_tm_error *error)
rte_tm_dynamic_update_type
rte_tm_dynamic_update_type
Definition: rte_tm.h:167
rte_tm_level_capabilities::shaper_private_packet_mode_supported
int shaper_private_packet_mode_supported
Definition: rte_tm.h:544
rte_tm_node_capabilities::cman_wred_context_private_supported
int cman_wred_context_private_supported
Definition: rte_tm.h:927
rte_tm_error::type
enum rte_tm_error_type type
Definition: rte_tm.h:1225
rte_tm_hierarchy_commit
__rte_experimental int rte_tm_hierarchy_commit(uint16_t port_id, int clear_on_fail, struct rte_tm_error *error)
rte_tm_node_stats::n_pkts_dropped
uint64_t n_pkts_dropped[RTE_COLORS]
Definition: rte_tm.h:145
rte_tm_level_capabilities::sched_sp_n_priorities_max
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:598
rte_tm_node_capabilities::nonleaf
struct rte_tm_node_capabilities::@179::@181 nonleaf
rte_tm_level_capabilities::leaf
struct rte_tm_level_capabilities::@175::@178 leaf
rte_tm_level_capabilities::cman_wred_byte_mode_supported
int cman_wred_byte_mode_supported
Definition: rte_tm.h:757
rte_tm_capabilities::cman_head_drop_supported
int cman_head_drop_supported
Definition: rte_tm.h:411
rte_tm_node_params::leaf
struct rte_tm_node_params::@183::@186 leaf
rte_tm_level_capabilities::sched_wfq_weight_max
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:636
RTE_TM_UPDATE_NODE_CMAN
@ RTE_TM_UPDATE_NODE_CMAN
Definition: rte_tm.h:193
rte_tm_node_shared_shaper_update
__rte_experimental int rte_tm_node_shared_shaper_update(uint16_t port_id, uint32_t node_id, uint32_t shared_shaper_id, int add, struct rte_tm_error *error)
rte_tm_level_capabilities::non_leaf_nodes_identical
int non_leaf_nodes_identical
Definition: rte_tm.h:494
rte_tm_node_capabilities::cman_wred_byte_mode_supported
int cman_wred_byte_mode_supported
Definition: rte_tm.h:921
rte_tm_node_shaper_update
__rte_experimental int rte_tm_node_shaper_update(uint16_t port_id, uint32_t node_id, uint32_t shaper_profile_id, struct rte_tm_error *error)
rte_tm_capabilities
Definition: rte_tm.h:202
RTE_TM_ERROR_TYPE_NONE
@ RTE_TM_ERROR_TYPE_NONE
Definition: rte_tm.h:1177
rte_tm_node_cman_update
__rte_experimental int rte_tm_node_cman_update(uint16_t port_id, uint32_t node_id, enum rte_tm_cman_mode cman, struct rte_tm_error *error)
rte_tm_node_wred_context_update
__rte_experimental int rte_tm_node_wred_context_update(uint16_t port_id, uint32_t node_id, uint32_t wred_profile_id, struct rte_tm_error *error)
rte_tm_level_capabilities::cman_wred_context_private_supported
int cman_wred_context_private_supported
Definition: rte_tm.h:772
rte_tm_capabilities::mark_ip_ecn_sctp_supported
int mark_ip_ecn_sctp_supported[RTE_COLORS]
Definition: rte_tm.h:455
RTE_TM_STATS_N_PKTS_RED_DROPPED
@ RTE_TM_STATS_N_PKTS_RED_DROPPED
Definition: rte_tm.h:108
rte_tm_node_stats::leaf
struct rte_tm_node_stats::@174 leaf
rte_tm_node_capabilities::shaper_private_rate_max
uint64_t shaper_private_rate_max
Definition: rte_tm.h:819
rte_tm_level_capabilities::nonleaf
struct rte_tm_level_capabilities::@175::@177 nonleaf
rte_tm_node_params::shared_shaper_id
uint32_t * shared_shaper_id
Definition: rte_tm.h:1105
rte_tm_capabilities::shaper_shared_n_max
uint32_t shaper_shared_n_max
Definition: rte_tm.h:274
rte_tm_capabilities::n_levels_max
uint32_t n_levels_max
Definition: rte_tm.h:209
rte_tm_capabilities::sched_wfq_n_children_per_group_max
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:355
rte_tm_node_suspend
__rte_experimental int rte_tm_node_suspend(uint16_t port_id, uint32_t node_id, struct rte_tm_error *error)
rte_tm_capabilities_get
__rte_experimental int rte_tm_capabilities_get(uint16_t port_id, struct rte_tm_capabilities *cap, struct rte_tm_error *error)
RTE_TM_STATS_N_PKTS_QUEUED
@ RTE_TM_STATS_N_PKTS_QUEUED
Definition: rte_tm.h:122
rte_tm_token_bucket::size
uint64_t size
Definition: rte_tm.h:1018
rte_tm_capabilities::n_nodes_max
uint32_t n_nodes_max
Definition: rte_tm.h:204
rte_tm_level_capabilities::sched_wfq_n_children_per_group_max
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:610
rte_tm_capabilities::shaper_shared_n_shapers_per_node_max
uint32_t shaper_shared_n_shapers_per_node_max
Definition: rte_tm.h:287
rte_tm_node_stats_read
__rte_experimental int rte_tm_node_stats_read(uint16_t port_id, uint32_t node_id, struct rte_tm_node_stats *stats, uint64_t *stats_mask, int clear, struct rte_tm_error *error)
rte_tm_mark_ip_dscp
__rte_experimental int rte_tm_mark_ip_dscp(uint16_t port_id, int mark_green, int mark_yellow, int mark_red, struct rte_tm_error *error)
rte_tm_level_capabilities::n_nodes_nonleaf_max
uint32_t n_nodes_nonleaf_max
Definition: rte_tm.h:482
rte_tm_wred_profile_delete
__rte_experimental int rte_tm_wred_profile_delete(uint16_t port_id, uint32_t wred_profile_id, struct rte_tm_error *error)
RTE_TM_STATS_N_BYTES_RED_DROPPED
@ RTE_TM_STATS_N_BYTES_RED_DROPPED
Definition: rte_tm.h:117
rte_tm_mark_ip_ecn
__rte_experimental int rte_tm_mark_ip_ecn(uint16_t port_id, int mark_green, int mark_yellow, int mark_red, struct rte_tm_error *error)
RTE_TM_STATS_N_BYTES_YELLOW_DROPPED
@ RTE_TM_STATS_N_BYTES_YELLOW_DROPPED
Definition: rte_tm.h:114
rte_tm_level_capabilities
Definition: rte_tm.h:474
rte_tm_node_stats_update
__rte_experimental int rte_tm_node_stats_update(uint16_t port_id, uint32_t node_id, uint64_t stats_mask, struct rte_tm_error *error)
RTE_TM_STATS_N_PKTS_YELLOW_DROPPED
@ RTE_TM_STATS_N_PKTS_YELLOW_DROPPED
Definition: rte_tm.h:105
rte_tm_capabilities::dynamic_update_mask
uint64_t dynamic_update_mask
Definition: rte_tm.h:463
rte_tm_level_capabilities::n_nodes_leaf_max
uint32_t n_nodes_leaf_max
Definition: rte_tm.h:488
rte_tm_error::message
const char * message
Definition: rte_tm.h:1227
rte_tm_node_stats::n_pkts
uint64_t n_pkts
Definition: rte_tm.h:135
rte_tm_get_number_of_leaf_nodes
__rte_experimental int rte_tm_get_number_of_leaf_nodes(uint16_t port_id, uint32_t *n_leaf_nodes, struct rte_tm_error *error)
rte_tm_level_capabilities::cman_wred_context_shared_n_max
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:783
rte_tm_capabilities::shaper_shared_rate_min
uint64_t shaper_shared_rate_min
Definition: rte_tm.h:298
RTE_TM_UPDATE_NODE_PARENT_KEEP_LEVEL
@ RTE_TM_UPDATE_NODE_PARENT_KEEP_LEVEL
Definition: rte_tm.h:172
RTE_TM_STATS_N_PKTS
@ RTE_TM_STATS_N_PKTS
Definition: rte_tm.h:96
rte_tm_node_type_get
__rte_experimental int rte_tm_node_type_get(uint16_t port_id, uint32_t node_id, int *is_leaf, struct rte_tm_error *error)
rte_tm_red_params::min_th
uint64_t min_th
Definition: rte_tm.h:971
rte_tm_red_params::wq_log2
uint16_t wq_log2
Definition: rte_tm.h:982
rte_tm_node_stats::n_bytes_dropped
uint64_t n_bytes_dropped[RTE_COLORS]
Definition: rte_tm.h:150
rte_tm_shared_shaper_add_update
__rte_experimental int rte_tm_shared_shaper_add_update(uint16_t port_id, uint32_t shared_shaper_id, uint32_t shaper_profile_id, struct rte_tm_error *error)
rte_tm_level_capabilities::shaper_shared_n_max
uint32_t shaper_shared_n_max
Definition: rte_tm.h:563
rte_tm_node_params::n_shared_shapers
uint32_t n_shared_shapers
Definition: rte_tm.h:1108
rte_common.h
rte_tm_node_params::wred_profile_id
uint32_t wred_profile_id
Definition: rte_tm.h:1142
rte_tm_node_capabilities::shaper_shared_packet_mode_supported
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:845
rte_tm_node_params::wfq_weight_mode
int * wfq_weight_mode
Definition: rte_tm.h:1122
rte_tm_red_params::max_th
uint64_t max_th
Definition: rte_tm.h:974
rte_tm_capabilities::shaper_shared_dual_rate_n_max
uint32_t shaper_shared_dual_rate_n_max
Definition: rte_tm.h:293
rte_tm_shaper_profile_delete
__rte_experimental int rte_tm_shaper_profile_delete(uint16_t port_id, uint32_t shaper_profile_id, struct rte_tm_error *error)
RTE_TM_STATS_N_BYTES
@ RTE_TM_STATS_N_BYTES
Definition: rte_tm.h:99
rte_tm_level_capabilities::shaper_private_dual_rate_supported
int shaper_private_dual_rate_supported
Definition: rte_tm.h:521
RTE_TM_UPDATE_NODE_PARENT_CHANGE_LEVEL
@ RTE_TM_UPDATE_NODE_PARENT_CHANGE_LEVEL
Definition: rte_tm.h:178
RTE_TM_ERROR_TYPE_UNSPECIFIED
@ RTE_TM_ERROR_TYPE_UNSPECIFIED
Definition: rte_tm.h:1178
rte_tm_shared_wred_context_add_update
__rte_experimental int rte_tm_shared_wred_context_add_update(uint16_t port_id, uint32_t shared_wred_context_id, uint32_t wred_profile_id, struct rte_tm_error *error)
rte_tm_level_capabilities::shaper_private_supported
int shaper_private_supported
Definition: rte_tm.h:511
rte_tm_node_params::n_shared_wred_contexts
uint32_t n_shared_wred_contexts
Definition: rte_tm.h:1156
rte_tm_capabilities::shaper_shared_rate_max
uint64_t shaper_shared_rate_max
Definition: rte_tm.h:303
rte_tm_capabilities::shaper_private_rate_max
uint64_t shaper_private_rate_max
Definition: rte_tm.h:252
RTE_TM_UPDATE_NODE_SUSPEND_RESUME
@ RTE_TM_UPDATE_NODE_SUSPEND_RESUME
Definition: rte_tm.h:184
rte_tm_mark_vlan_dei
__rte_experimental int rte_tm_mark_vlan_dei(uint16_t port_id, int mark_green, int mark_yellow, int mark_red, struct rte_tm_error *error)
rte_tm_node_capabilities::cman_head_drop_supported
int cman_head_drop_supported
Definition: rte_tm.h:924
rte_tm_shaper_profile_add
__rte_experimental int rte_tm_shaper_profile_add(uint16_t port_id, uint32_t shaper_profile_id, struct rte_tm_shaper_params *profile, struct rte_tm_error *error)
RTE_TM_CMAN_HEAD_DROP
@ RTE_TM_CMAN_HEAD_DROP
Definition: rte_tm.h:962
rte_tm_shared_shaper_delete
__rte_experimental int rte_tm_shared_shaper_delete(uint16_t port_id, uint32_t shared_shaper_id, struct rte_tm_error *error)
rte_tm_capabilities::shaper_pkt_length_adjust_max
int shaper_pkt_length_adjust_max
Definition: rte_tm.h:328
rte_tm_level_capabilities::stats_mask
uint64_t stats_mask
Definition: rte_tm.h:664
rte_tm_capabilities::cman_wred_context_shared_n_nodes_per_context_max
uint32_t cman_wred_context_shared_n_nodes_per_context_max
Definition: rte_tm.h:437
rte_tm_capabilities::leaf_nodes_identical
int leaf_nodes_identical
Definition: rte_tm.h:219
rte_tm_node_params::wred
struct rte_tm_node_params::@183::@186::@187 wred
RTE_STD_C11
#define RTE_STD_C11
Definition: rte_common.h:40
rte_tm_level_capabilities::sched_wfq_byte_mode_supported
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:655
rte_tm_node_capabilities
Definition: rte_tm.h:800
rte_tm_capabilities::mark_ip_ecn_tcp_supported
int mark_ip_ecn_tcp_supported[RTE_COLORS]
Definition: rte_tm.h:452
rte_tm_capabilities::sched_sp_n_priorities_max
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:345
rte_tm_level_capabilities::cman_head_drop_supported
int cman_head_drop_supported
Definition: rte_tm.h:765
rte_tm_shaper_params::peak
struct rte_tm_token_bucket peak
Definition: rte_tm.h:1049
rte_tm_node_params::cman
enum rte_tm_cman_mode cman
Definition: rte_tm.h:1131
rte_tm_token_bucket::rate
uint64_t rate
Definition: rte_tm.h:1015
rte_tm_node_wfq_weight_mode_update
__rte_experimental int rte_tm_node_wfq_weight_mode_update(uint16_t port_id, uint32_t node_id, int *wfq_weight_mode, uint32_t n_sp_priorities, struct rte_tm_error *error)
rte_tm_capabilities::shaper_private_rate_min
uint64_t shaper_private_rate_min
Definition: rte_tm.h:247
rte_tm_node_delete
__rte_experimental int rte_tm_node_delete(uint16_t port_id, uint32_t node_id, struct rte_tm_error *error)
RTE_TM_UPDATE_NODE_ADD_DELETE
@ RTE_TM_UPDATE_NODE_ADD_DELETE
Definition: rte_tm.h:181
RTE_TM_CMAN_WRED
@ RTE_TM_CMAN_WRED
Definition: rte_tm.h:963
rte_tm_level_capabilities::shaper_private_byte_mode_supported
int shaper_private_byte_mode_supported
Definition: rte_tm.h:553
RTE_TM_UPDATE_NODE_WFQ_WEIGHT_MODE
@ RTE_TM_UPDATE_NODE_WFQ_WEIGHT_MODE
Definition: rte_tm.h:187
rte_tm_node_resume
__rte_experimental int rte_tm_node_resume(uint16_t port_id, uint32_t node_id, struct rte_tm_error *error)
rte_tm_capabilities::shaper_shared_byte_mode_supported
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:317
rte_tm_cman_mode
rte_tm_cman_mode
Definition: rte_tm.h:960
RTE_TM_UPDATE_NODE_N_SP_PRIORITIES
@ RTE_TM_UPDATE_NODE_N_SP_PRIORITIES
Definition: rte_tm.h:190
rte_tm_level_capabilities::sched_n_children_max
uint32_t sched_n_children_max
Definition: rte_tm.h:585
rte_tm_node_capabilities::sched_wfq_n_children_per_group_max
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:875
rte_tm_node_capabilities::sched_n_children_max
uint32_t sched_n_children_max
Definition: rte_tm.h:858
rte_tm_node_shared_wred_context_update
__rte_experimental int rte_tm_node_shared_wred_context_update(uint16_t port_id, uint32_t node_id, uint32_t shared_wred_context_id, int add, struct rte_tm_error *error)
rte_tm_node_params::stats_mask
uint64_t stats_mask
Definition: rte_tm.h:1167
rte_tm_node_stats::n_bytes_queued
uint64_t n_bytes_queued
Definition: rte_tm.h:160
rte_tm_node_capabilities::shaper_private_dual_rate_supported
int shaper_private_dual_rate_supported
Definition: rte_tm.h:807
rte_tm_shaper_params::packet_mode
int packet_mode
Definition: rte_tm.h:1067
rte_tm_capabilities::cman_wred_context_n_max
uint32_t cman_wred_context_n_max
Definition: rte_tm.h:420
rte_tm_level_capabilities::shaper_private_rate_min
uint64_t shaper_private_rate_min
Definition: rte_tm.h:528
rte_tm_node_parent_update
__rte_experimental int rte_tm_node_parent_update(uint16_t port_id, uint32_t node_id, uint32_t parent_node_id, uint32_t priority, uint32_t weight, struct rte_tm_error *error)
RTE_COLORS
@ RTE_COLORS
Definition: rte_meter.h:40
RTE_TM_CMAN_TAIL_DROP
@ RTE_TM_CMAN_TAIL_DROP
Definition: rte_tm.h:961
rte_tm_shared_wred_context_delete
__rte_experimental int rte_tm_shared_wred_context_delete(uint16_t port_id, uint32_t shared_wred_context_id, struct rte_tm_error *error)
rte_tm_capabilities::sched_wfq_weight_max
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:373
rte_tm_capabilities::shaper_n_max
uint32_t shaper_n_max
Definition: rte_tm.h:227
RTE_TM_STATS_N_BYTES_GREEN_DROPPED
@ RTE_TM_STATS_N_BYTES_GREEN_DROPPED
Definition: rte_tm.h:111
rte_tm_node_capabilities::sched_sp_n_priorities_max
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:866
rte_tm_node_capabilities::shaper_private_supported
int shaper_private_supported
Definition: rte_tm.h:802
rte_tm_wred_profile_add
__rte_experimental int rte_tm_wred_profile_add(uint16_t port_id, uint32_t wred_profile_id, struct rte_tm_wred_params *profile, struct rte_tm_error *error)
rte_tm_node_params::shared_wred_context_id
uint32_t * shared_wred_context_id
Definition: rte_tm.h:1149
rte_tm_capabilities::shaper_shared_n_nodes_per_shaper_max
uint32_t shaper_shared_n_nodes_per_shaper_max
Definition: rte_tm.h:279
rte_tm_node_stats::n_bytes
uint64_t n_bytes
Definition: rte_tm.h:138
rte_tm_error_type
rte_tm_error_type
Definition: rte_tm.h:1176
rte_tm_node_capabilities::cman_wred_packet_mode_supported
int cman_wred_packet_mode_supported
Definition: rte_tm.h:918
rte_tm_node_capabilities::shaper_private_packet_mode_supported
int shaper_private_packet_mode_supported
Definition: rte_tm.h:826
rte_tm_node_add
__rte_experimental int rte_tm_node_add(uint16_t port_id, uint32_t node_id, uint32_t parent_node_id, uint32_t priority, uint32_t weight, uint32_t level_id, struct rte_tm_node_params *params, struct rte_tm_error *error)
rte_tm_red_params::maxp_inv
uint16_t maxp_inv
Definition: rte_tm.h:979
RTE_TM_STATS_N_PKTS_GREEN_DROPPED
@ RTE_TM_STATS_N_PKTS_GREEN_DROPPED
Definition: rte_tm.h:102
rte_tm_red_params
Definition: rte_tm.h:969
rte_tm_capabilities::cman_wred_packet_mode_supported
int cman_wred_packet_mode_supported
Definition: rte_tm.h:397
rte_tm_wred_params::red_params
struct rte_tm_red_params red_params[RTE_COLORS]
Definition: rte_tm.h:1001
rte_tm_capabilities::mark_vlan_dei_supported
int mark_vlan_dei_supported[RTE_COLORS]
Definition: rte_tm.h:449
rte_tm_node_capabilities::stats_mask
uint64_t stats_mask
Definition: rte_tm.h:941
rte_tm_node_capabilities::sched_wfq_packet_mode_supported
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:903
rte_tm_node_capabilities::shaper_shared_byte_mode_supported
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:851
rte_tm_level_capabilities::shaper_shared_byte_mode_supported
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:577
rte_tm_shaper_params::committed
struct rte_tm_token_bucket committed
Definition: rte_tm.h:1046
rte_tm_capabilities::stats_mask
uint64_t stats_mask
Definition: rte_tm.h:468
rte_tm_error
Definition: rte_tm.h:1224
rte_tm_level_capabilities::sched_wfq_packet_mode_supported
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:646
RTE_TM_STATS_N_BYTES_QUEUED
@ RTE_TM_STATS_N_BYTES_QUEUED
Definition: rte_tm.h:127
rte_tm_capabilities::sched_n_children_max
uint32_t sched_n_children_max
Definition: rte_tm.h:335
rte_tm_node_capabilities::cman_wred_context_shared_n_max
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:934