DPDK  24.11.1
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 
19 #include <stdint.h>
20 
21 #include <rte_common.h>
22 #include <rte_meter.h>
23 #include <rte_compat.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
42 #define RTE_TM_ETH_FRAMING_OVERHEAD 20
43 
54 #define RTE_TM_ETH_FRAMING_OVERHEAD_FCS 24
55 
63 #define RTE_TM_WRED_PROFILE_ID_NONE UINT32_MAX
64 
72 #define RTE_TM_SHAPER_PROFILE_ID_NONE UINT32_MAX
73 
79 #define RTE_TM_NODE_ID_NULL UINT32_MAX
80 
86 #define RTE_TM_NODE_LEVEL_ID_ANY UINT32_MAX
87 
94 
97 
100 
103 
106 
109 
112 
115 
120 
125 };
126 
132  uint64_t n_pkts;
133 
135  uint64_t n_bytes;
136 
138  struct {
143 
148 
152  uint64_t n_pkts_queued;
153 
157  uint64_t n_bytes_queued;
158  } leaf;
159 };
160 
170 
176 
179 
182 
185 
188 
191 
194 };
195 
201  uint32_t n_nodes_max;
202 
206  uint32_t n_levels_max;
207 
212 
217 
224  uint32_t shaper_n_max;
225 
231 
240 
245 
250 
258 
266 
267 
272 
277 
285 
291 
296 
301 
308 
315 
316 
321 
326 
333 
343 
353 
366 
371 
379 
387 
395 
403 
409 
418 
425 
430 
435 
444 
447 
450 
453 
456 
461 
465  uint64_t stats_mask;
466 };
467 
473  uint32_t n_nodes_max;
474 
480 
486 
492 
498 
499  union {
501  struct {
508 
518 
525 
532 
541 
550 
560 
567 
574 
582 
595 
607 
626 
633 
643 
652 
660  uint64_t stats_mask;
662 
664  struct {
671 
680 
686  uint64_t shaper_private_rate_min;
687 
693  uint64_t shaper_private_rate_max;
694 
703 
712 
721  uint32_t shaper_shared_n_max;
722 
729 
736 
745 
754 
762 
769 
780 
788  uint64_t stats_mask;
789  } leaf;
790  };
791 };
792 
799 
804 
810 
816 
823 
830 
836 
842 
848 
849  union {
851  struct {
854 
862 
871 
885 
891 
899 
907 
909 
911  struct {
914 
917 
920 
923 
930  } leaf;
931  };
932 
936  uint64_t stats_mask;
937 };
938 
959 };
960 
966  uint64_t min_th;
967 
969  uint64_t max_th;
970 
974  uint16_t maxp_inv;
975 
977  uint16_t wq_log2;
978 };
979 
997 
1003 };
1004 
1010  uint64_t rate;
1011 
1013  uint64_t size;
1014 };
1015 
1042 
1044  struct rte_tm_token_bucket peak;
1045 
1053 
1063 };
1064 
1098 
1100  uint32_t *shared_shaper_id;
1101 
1104 
1105  union {
1107  struct {
1117 
1121 
1123  struct {
1125  enum rte_tm_cman_mode cman;
1126 
1130  struct {
1137 
1144 
1151  } wred;
1152  } leaf;
1153  };
1154 
1161  uint64_t stats_mask;
1162 };
1163 
1173  RTE_TM_ERROR_TYPE_CAPABILITIES,
1174  RTE_TM_ERROR_TYPE_LEVEL_ID,
1175  RTE_TM_ERROR_TYPE_WRED_PROFILE,
1176  RTE_TM_ERROR_TYPE_WRED_PROFILE_GREEN,
1177  RTE_TM_ERROR_TYPE_WRED_PROFILE_YELLOW,
1178  RTE_TM_ERROR_TYPE_WRED_PROFILE_RED,
1179  RTE_TM_ERROR_TYPE_WRED_PROFILE_ID,
1180  RTE_TM_ERROR_TYPE_SHARED_WRED_CONTEXT_ID,
1181  RTE_TM_ERROR_TYPE_SHAPER_PROFILE,
1182  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_RATE,
1183  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_SIZE,
1184  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_RATE,
1185  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_SIZE,
1186  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PKT_ADJUST_LEN,
1187  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PACKET_MODE,
1188  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_ID,
1189  RTE_TM_ERROR_TYPE_SHARED_SHAPER_ID,
1190  RTE_TM_ERROR_TYPE_NODE_PARENT_NODE_ID,
1191  RTE_TM_ERROR_TYPE_NODE_PRIORITY,
1192  RTE_TM_ERROR_TYPE_NODE_WEIGHT,
1193  RTE_TM_ERROR_TYPE_NODE_PARAMS,
1194  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHAPER_PROFILE_ID,
1195  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_SHAPER_ID,
1196  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_SHAPERS,
1197  RTE_TM_ERROR_TYPE_NODE_PARAMS_WFQ_WEIGHT_MODE,
1198  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SP_PRIORITIES,
1199  RTE_TM_ERROR_TYPE_NODE_PARAMS_CMAN,
1200  RTE_TM_ERROR_TYPE_NODE_PARAMS_WRED_PROFILE_ID,
1201  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_WRED_CONTEXT_ID,
1202  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_WRED_CONTEXTS,
1203  RTE_TM_ERROR_TYPE_NODE_PARAMS_STATS,
1204  RTE_TM_ERROR_TYPE_NODE_ID,
1205 };
1206 
1219  enum rte_tm_error_type type;
1220  const void *cause;
1221  const char *message;
1222 };
1223 
1241 int
1243  uint32_t *n_leaf_nodes,
1244  struct rte_tm_error *error);
1245 
1265 int
1266 rte_tm_node_type_get(uint16_t port_id,
1267  uint32_t node_id,
1268  int *is_leaf,
1269  struct rte_tm_error *error);
1270 
1283 int
1284 rte_tm_capabilities_get(uint16_t port_id,
1285  struct rte_tm_capabilities *cap,
1286  struct rte_tm_error *error);
1287 
1303 int
1305  uint32_t level_id,
1306  struct rte_tm_level_capabilities *cap,
1307  struct rte_tm_error *error);
1308 
1323 int
1325  uint32_t node_id,
1326  struct rte_tm_node_capabilities *cap,
1327  struct rte_tm_error *error);
1328 
1348 int
1349 rte_tm_wred_profile_add(uint16_t port_id,
1350  uint32_t wred_profile_id,
1351  const struct rte_tm_wred_params *profile,
1352  struct rte_tm_error *error);
1353 
1371 int
1373  uint32_t wred_profile_id,
1374  struct rte_tm_error *error);
1375 
1402 int
1404  uint32_t shared_wred_context_id,
1405  uint32_t wred_profile_id,
1406  struct rte_tm_error *error);
1407 
1426 int
1428  uint32_t shared_wred_context_id,
1429  struct rte_tm_error *error);
1430 
1450 int
1451 rte_tm_shaper_profile_add(uint16_t port_id,
1452  uint32_t shaper_profile_id,
1453  const struct rte_tm_shaper_params *profile,
1454  struct rte_tm_error *error);
1455 
1473 int
1475  uint32_t shaper_profile_id,
1476  struct rte_tm_error *error);
1477 
1502 int
1504  uint32_t shared_shaper_id,
1505  uint32_t shaper_profile_id,
1506  struct rte_tm_error *error);
1507 
1525 int
1527  uint32_t shared_shaper_id,
1528  struct rte_tm_error *error);
1529 
1593 int
1594 rte_tm_node_add(uint16_t port_id,
1595  uint32_t node_id,
1596  uint32_t parent_node_id,
1597  uint32_t priority,
1598  uint32_t weight,
1599  uint32_t level_id,
1600  const struct rte_tm_node_params *params,
1601  struct rte_tm_error *error);
1602 
1641 __rte_experimental
1642 int
1643 rte_tm_node_query(uint16_t port_id,
1644  uint32_t node_id,
1645  uint32_t *parent_node_id,
1646  uint32_t *priority,
1647  uint32_t *weight,
1648  uint32_t *level_id,
1649  struct rte_tm_node_params *params,
1650  struct rte_tm_error *error);
1651 
1675 int
1676 rte_tm_node_delete(uint16_t port_id,
1677  uint32_t node_id,
1678  struct rte_tm_error *error);
1679 
1699 int
1700 rte_tm_node_suspend(uint16_t port_id,
1701  uint32_t node_id,
1702  struct rte_tm_error *error);
1703 
1722 int
1723 rte_tm_node_resume(uint16_t port_id,
1724  uint32_t node_id,
1725  struct rte_tm_error *error);
1726 
1763 int
1764 rte_tm_hierarchy_commit(uint16_t port_id,
1765  int clear_on_fail,
1766  struct rte_tm_error *error);
1767 
1803 int
1804 rte_tm_node_parent_update(uint16_t port_id,
1805  uint32_t node_id,
1806  uint32_t parent_node_id,
1807  uint32_t priority,
1808  uint32_t weight,
1809  struct rte_tm_error *error);
1810 
1832 int
1833 rte_tm_node_shaper_update(uint16_t port_id,
1834  uint32_t node_id,
1835  uint32_t shaper_profile_id,
1836  struct rte_tm_error *error);
1837 
1859 int
1861  uint32_t node_id,
1862  uint32_t shared_shaper_id,
1863  int add,
1864  struct rte_tm_error *error);
1865 
1886 int
1887 rte_tm_node_stats_update(uint16_t port_id,
1888  uint32_t node_id,
1889  uint64_t stats_mask,
1890  struct rte_tm_error *error);
1891 
1914 int
1916  uint32_t node_id,
1917  int *wfq_weight_mode,
1918  uint32_t n_sp_priorities,
1919  struct rte_tm_error *error);
1920 
1937 int
1938 rte_tm_node_cman_update(uint16_t port_id,
1939  uint32_t node_id,
1940  enum rte_tm_cman_mode cman,
1941  struct rte_tm_error *error);
1942 
1961 int
1963  uint32_t node_id,
1964  uint32_t wred_profile_id,
1965  struct rte_tm_error *error);
1966 
1986 int
1988  uint32_t node_id,
1989  uint32_t shared_wred_context_id,
1990  int add,
1991  struct rte_tm_error *error);
1992 
2018 int
2019 rte_tm_node_stats_read(uint16_t port_id,
2020  uint32_t node_id,
2021  struct rte_tm_node_stats *stats,
2022  uint64_t *stats_mask,
2023  int clear,
2024  struct rte_tm_error *error);
2025 
2055 int
2056 rte_tm_mark_vlan_dei(uint16_t port_id,
2057  int mark_green,
2058  int mark_yellow,
2059  int mark_red,
2060  struct rte_tm_error *error);
2061 
2105 int
2106 rte_tm_mark_ip_ecn(uint16_t port_id,
2107  int mark_green,
2108  int mark_yellow,
2109  int mark_red,
2110  struct rte_tm_error *error);
2111 
2153 int
2154 rte_tm_mark_ip_dscp(uint16_t port_id,
2155  int mark_green,
2156  int mark_yellow,
2157  int mark_red,
2158  struct rte_tm_error *error);
2159 
2160 #ifdef __cplusplus
2161 }
2162 #endif
2163 
2164 #endif /* __INCLUDE_RTE_TM_H__ */
@ RTE_COLORS
Definition: rte_meter.h:36
int rte_tm_wred_profile_delete(uint16_t port_id, uint32_t wred_profile_id, struct rte_tm_error *error)
rte_tm_error_type
Definition: rte_tm.h:1170
@ RTE_TM_ERROR_TYPE_UNSPECIFIED
Definition: rte_tm.h:1172
@ RTE_TM_ERROR_TYPE_NONE
Definition: rte_tm.h:1171
int rte_tm_node_suspend(uint16_t port_id, uint32_t node_id, struct rte_tm_error *error)
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)
int rte_tm_node_resume(uint16_t port_id, uint32_t node_id, struct rte_tm_error *error)
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)
int rte_tm_shared_wred_context_delete(uint16_t port_id, uint32_t shared_wred_context_id, struct rte_tm_error *error)
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)
int rte_tm_node_delete(uint16_t port_id, uint32_t node_id, struct rte_tm_error *error)
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)
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)
int rte_tm_mark_ip_dscp(uint16_t port_id, int mark_green, int mark_yellow, int mark_red, struct rte_tm_error *error)
int rte_tm_mark_vlan_dei(uint16_t port_id, int mark_green, int mark_yellow, int mark_red, struct rte_tm_error *error)
int rte_tm_wred_profile_add(uint16_t port_id, uint32_t wred_profile_id, const struct rte_tm_wred_params *profile, struct rte_tm_error *error)
int rte_tm_shaper_profile_add(uint16_t port_id, uint32_t shaper_profile_id, const struct rte_tm_shaper_params *profile, struct rte_tm_error *error)
int rte_tm_shared_shaper_delete(uint16_t port_id, uint32_t shared_shaper_id, struct rte_tm_error *error)
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)
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_cman_mode
Definition: rte_tm.h:955
@ RTE_TM_CMAN_TAIL_DROP
Definition: rte_tm.h:956
@ RTE_TM_CMAN_WRED
Definition: rte_tm.h:958
@ RTE_TM_CMAN_HEAD_DROP
Definition: rte_tm.h:957
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, const struct rte_tm_node_params *params, struct rte_tm_error *error)
int rte_tm_capabilities_get(uint16_t port_id, struct rte_tm_capabilities *cap, struct rte_tm_error *error)
rte_tm_stats_type
Definition: rte_tm.h:91
@ RTE_TM_STATS_N_PKTS_YELLOW_DROPPED
Definition: rte_tm.h:102
@ RTE_TM_STATS_N_BYTES
Definition: rte_tm.h:96
@ RTE_TM_STATS_N_BYTES_GREEN_DROPPED
Definition: rte_tm.h:108
@ RTE_TM_STATS_N_PKTS
Definition: rte_tm.h:93
@ RTE_TM_STATS_N_BYTES_RED_DROPPED
Definition: rte_tm.h:114
@ RTE_TM_STATS_N_PKTS_RED_DROPPED
Definition: rte_tm.h:105
@ RTE_TM_STATS_N_PKTS_QUEUED
Definition: rte_tm.h:119
@ RTE_TM_STATS_N_BYTES_QUEUED
Definition: rte_tm.h:124
@ RTE_TM_STATS_N_BYTES_YELLOW_DROPPED
Definition: rte_tm.h:111
@ RTE_TM_STATS_N_PKTS_GREEN_DROPPED
Definition: rte_tm.h:99
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)
int rte_tm_shaper_profile_delete(uint16_t port_id, uint32_t shaper_profile_id, struct rte_tm_error *error)
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)
int rte_tm_node_shaper_update(uint16_t port_id, uint32_t node_id, uint32_t shaper_profile_id, struct rte_tm_error *error)
int rte_tm_node_type_get(uint16_t port_id, uint32_t node_id, int *is_leaf, struct rte_tm_error *error)
int rte_tm_get_number_of_leaf_nodes(uint16_t port_id, uint32_t *n_leaf_nodes, struct rte_tm_error *error)
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)
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)
int rte_tm_hierarchy_commit(uint16_t port_id, int clear_on_fail, struct rte_tm_error *error)
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)
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_dynamic_update_type
Definition: rte_tm.h:164
@ RTE_TM_UPDATE_NODE_PARENT_CHANGE_LEVEL
Definition: rte_tm.h:175
@ RTE_TM_UPDATE_NODE_ADD_DELETE
Definition: rte_tm.h:178
@ RTE_TM_UPDATE_NODE_PARENT_KEEP_LEVEL
Definition: rte_tm.h:169
@ RTE_TM_UPDATE_NODE_WFQ_WEIGHT_MODE
Definition: rte_tm.h:184
@ RTE_TM_UPDATE_NODE_SUSPEND_RESUME
Definition: rte_tm.h:181
@ RTE_TM_UPDATE_NODE_STATS
Definition: rte_tm.h:193
@ RTE_TM_UPDATE_NODE_CMAN
Definition: rte_tm.h:190
@ RTE_TM_UPDATE_NODE_N_SP_PRIORITIES
Definition: rte_tm.h:187
__rte_experimental int rte_tm_node_query(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)
int cman_head_drop_supported
Definition: rte_tm.h:408
int mark_ip_ecn_sctp_supported[RTE_COLORS]
Definition: rte_tm.h:452
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:307
int mark_vlan_dei_supported[RTE_COLORS]
Definition: rte_tm.h:446
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:365
int non_leaf_nodes_identical
Definition: rte_tm.h:211
int shaper_pkt_length_adjust_min
Definition: rte_tm.h:320
uint32_t sched_n_children_max
Definition: rte_tm.h:332
int mark_ip_dscp_supported[RTE_COLORS]
Definition: rte_tm.h:455
uint64_t stats_mask
Definition: rte_tm.h:465
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:386
uint32_t shaper_private_n_max
Definition: rte_tm.h:230
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:352
uint32_t shaper_shared_dual_rate_n_max
Definition: rte_tm.h:290
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:370
uint32_t cman_wred_context_n_max
Definition: rte_tm.h:417
uint64_t shaper_private_rate_max
Definition: rte_tm.h:249
int shaper_private_packet_mode_supported
Definition: rte_tm.h:257
uint32_t shaper_n_max
Definition: rte_tm.h:224
uint32_t shaper_shared_n_nodes_per_shaper_max
Definition: rte_tm.h:276
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:342
uint32_t cman_wred_context_private_n_max
Definition: rte_tm.h:424
int leaf_nodes_identical
Definition: rte_tm.h:216
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:429
uint64_t shaper_private_rate_min
Definition: rte_tm.h:244
uint32_t shaper_shared_n_max
Definition: rte_tm.h:271
uint32_t cman_wred_context_shared_n_nodes_per_context_max
Definition: rte_tm.h:434
uint32_t cman_wred_context_shared_n_contexts_per_node_max
Definition: rte_tm.h:443
int shaper_private_byte_mode_supported
Definition: rte_tm.h:265
uint32_t shaper_shared_n_shapers_per_node_max
Definition: rte_tm.h:284
int mark_ip_ecn_tcp_supported[RTE_COLORS]
Definition: rte_tm.h:449
int shaper_pkt_length_adjust_max
Definition: rte_tm.h:325
uint64_t shaper_shared_rate_min
Definition: rte_tm.h:295
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:314
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:378
int cman_wred_packet_mode_supported
Definition: rte_tm.h:394
uint32_t n_nodes_max
Definition: rte_tm.h:201
int shaper_private_dual_rate_n_max
Definition: rte_tm.h:239
uint64_t dynamic_update_mask
Definition: rte_tm.h:460
int cman_wred_byte_mode_supported
Definition: rte_tm.h:402
uint32_t n_levels_max
Definition: rte_tm.h:206
uint64_t shaper_shared_rate_max
Definition: rte_tm.h:300
const char * message
Definition: rte_tm.h:1221
enum rte_tm_error_type type
Definition: rte_tm.h:1219
const void * cause
Definition: rte_tm.h:1220
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:566
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:625
uint32_t sched_n_children_max
Definition: rte_tm.h:581
struct rte_tm_level_capabilities::@213::@216 leaf
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:606
struct rte_tm_level_capabilities::@213::@215 nonleaf
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:632
int shaper_private_dual_rate_supported
Definition: rte_tm.h:517
uint32_t n_nodes_nonleaf_max
Definition: rte_tm.h:479
uint64_t shaper_private_rate_max
Definition: rte_tm.h:531
int shaper_private_packet_mode_supported
Definition: rte_tm.h:540
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:594
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:779
uint64_t shaper_private_rate_min
Definition: rte_tm.h:524
uint32_t shaper_shared_n_max
Definition: rte_tm.h:559
int cman_wred_context_private_supported
Definition: rte_tm.h:768
uint32_t n_nodes_leaf_max
Definition: rte_tm.h:485
int shaper_private_byte_mode_supported
Definition: rte_tm.h:549
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:573
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:642
int cman_wred_packet_mode_supported
Definition: rte_tm.h:744
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:841
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:884
uint32_t sched_n_children_max
Definition: rte_tm.h:853
struct rte_tm_node_capabilities::@217::@220 leaf
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:906
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:870
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:890
int shaper_private_dual_rate_supported
Definition: rte_tm.h:803
uint64_t shaper_private_rate_max
Definition: rte_tm.h:815
int shaper_private_packet_mode_supported
Definition: rte_tm.h:822
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:861
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:929
uint64_t shaper_private_rate_min
Definition: rte_tm.h:809
uint32_t shaper_shared_n_max
Definition: rte_tm.h:835
int cman_wred_context_private_supported
Definition: rte_tm.h:922
struct rte_tm_node_capabilities::@217::@219 nonleaf
int shaper_private_byte_mode_supported
Definition: rte_tm.h:829
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:847
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:898
int cman_wred_packet_mode_supported
Definition: rte_tm.h:913
int cman_wred_byte_mode_supported
Definition: rte_tm.h:916
uint32_t n_shared_wred_contexts
Definition: rte_tm.h:1150
uint32_t wred_profile_id
Definition: rte_tm.h:1136
struct rte_tm_node_params::@221::@224 leaf
struct rte_tm_node_params::@221::@224::@225 wred
uint64_t stats_mask
Definition: rte_tm.h:1161
uint32_t n_sp_priorities
Definition: rte_tm.h:1119
uint32_t shaper_profile_id
Definition: rte_tm.h:1097
uint32_t * shared_wred_context_id
Definition: rte_tm.h:1143
uint32_t * shared_shaper_id
Definition: rte_tm.h:1100
int * wfq_weight_mode
Definition: rte_tm.h:1116
struct rte_tm_node_params::@221::@223 nonleaf
uint32_t n_shared_shapers
Definition: rte_tm.h:1103
enum rte_tm_cman_mode cman
Definition: rte_tm.h:1125
uint64_t n_pkts_dropped[RTE_COLORS]
Definition: rte_tm.h:142
uint64_t n_bytes
Definition: rte_tm.h:135
uint64_t n_pkts
Definition: rte_tm.h:132
uint64_t n_bytes_queued
Definition: rte_tm.h:157
uint64_t n_bytes_dropped[RTE_COLORS]
Definition: rte_tm.h:147
uint64_t n_pkts_queued
Definition: rte_tm.h:152
struct rte_tm_node_stats::@212 leaf
uint64_t max_th
Definition: rte_tm.h:969
uint16_t wq_log2
Definition: rte_tm.h:977
uint16_t maxp_inv
Definition: rte_tm.h:974
uint64_t min_th
Definition: rte_tm.h:966
struct rte_tm_token_bucket committed
Definition: rte_tm.h:1041
struct rte_tm_token_bucket peak
Definition: rte_tm.h:1044
int32_t pkt_length_adjust
Definition: rte_tm.h:1052
struct rte_tm_red_params red_params[RTE_COLORS]
Definition: rte_tm.h:996