DPDK  22.11.7
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_compat.h>
26 #include <rte_common.h>
27 #include <rte_meter.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
46 #define RTE_TM_ETH_FRAMING_OVERHEAD 20
47 
58 #define RTE_TM_ETH_FRAMING_OVERHEAD_FCS 24
59 
67 #define RTE_TM_WRED_PROFILE_ID_NONE UINT32_MAX
68 
76 #define RTE_TM_SHAPER_PROFILE_ID_NONE UINT32_MAX
77 
83 #define RTE_TM_NODE_ID_NULL UINT32_MAX
84 
90 #define RTE_TM_NODE_LEVEL_ID_ANY UINT32_MAX
91 
98 
101 
104 
107 
110 
113 
116 
119 
124 
129 };
130 
136  uint64_t n_pkts;
137 
139  uint64_t n_bytes;
140 
142  struct {
147 
152 
156  uint64_t n_pkts_queued;
157 
161  uint64_t n_bytes_queued;
162  } leaf;
163 };
164 
174 
180 
183 
186 
189 
192 
195 
198 };
199 
205  uint32_t n_nodes_max;
206 
210  uint32_t n_levels_max;
211 
216 
221 
228  uint32_t shaper_n_max;
229 
235 
244 
249 
254 
262 
270 
271 
276 
281 
289 
295 
300 
305 
312 
319 
320 
325 
330 
337 
347 
357 
370 
375 
383 
391 
399 
407 
413 
422 
429 
434 
439 
448 
451 
454 
457 
460 
465 
469  uint64_t stats_mask;
470 };
471 
477  uint32_t n_nodes_max;
478 
484 
490 
496 
502 
504  union {
506  struct {
513 
523 
530 
537 
546 
555 
565 
572 
579 
587 
600 
612 
631 
638 
648 
657 
665  uint64_t stats_mask;
667 
669  struct {
676 
685 
691  uint64_t shaper_private_rate_min;
692 
698  uint64_t shaper_private_rate_max;
699 
708 
717 
726  uint32_t shaper_shared_n_max;
727 
734 
741 
750 
759 
767 
774 
785 
793  uint64_t stats_mask;
794  } leaf;
795  };
796 };
797 
804 
809 
815 
821 
828 
835 
841 
847 
853 
855  union {
857  struct {
860 
868 
877 
891 
897 
905 
913 
915 
917  struct {
920 
923 
926 
929 
936  } leaf;
937  };
938 
942  uint64_t stats_mask;
943 };
944 
965 };
966 
972  uint64_t min_th;
973 
975  uint64_t max_th;
976 
980  uint16_t maxp_inv;
981 
983  uint16_t wq_log2;
984 };
985 
1003 
1009 };
1010 
1016  uint64_t rate;
1017 
1019  uint64_t size;
1020 };
1021 
1048 
1050  struct rte_tm_token_bucket peak;
1051 
1059 
1069 };
1070 
1104 
1106  uint32_t *shared_shaper_id;
1107 
1110 
1111  RTE_STD_C11
1112  union {
1114  struct {
1124 
1128 
1130  struct {
1132  enum rte_tm_cman_mode cman;
1133 
1137  struct {
1144 
1151 
1158  } wred;
1159  } leaf;
1160  };
1161 
1168  uint64_t stats_mask;
1169 };
1170 
1180  RTE_TM_ERROR_TYPE_CAPABILITIES,
1181  RTE_TM_ERROR_TYPE_LEVEL_ID,
1182  RTE_TM_ERROR_TYPE_WRED_PROFILE,
1183  RTE_TM_ERROR_TYPE_WRED_PROFILE_GREEN,
1184  RTE_TM_ERROR_TYPE_WRED_PROFILE_YELLOW,
1185  RTE_TM_ERROR_TYPE_WRED_PROFILE_RED,
1186  RTE_TM_ERROR_TYPE_WRED_PROFILE_ID,
1187  RTE_TM_ERROR_TYPE_SHARED_WRED_CONTEXT_ID,
1188  RTE_TM_ERROR_TYPE_SHAPER_PROFILE,
1189  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_RATE,
1190  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_SIZE,
1191  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_RATE,
1192  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_SIZE,
1193  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PKT_ADJUST_LEN,
1194  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PACKET_MODE,
1195  RTE_TM_ERROR_TYPE_SHAPER_PROFILE_ID,
1196  RTE_TM_ERROR_TYPE_SHARED_SHAPER_ID,
1197  RTE_TM_ERROR_TYPE_NODE_PARENT_NODE_ID,
1198  RTE_TM_ERROR_TYPE_NODE_PRIORITY,
1199  RTE_TM_ERROR_TYPE_NODE_WEIGHT,
1200  RTE_TM_ERROR_TYPE_NODE_PARAMS,
1201  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHAPER_PROFILE_ID,
1202  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_SHAPER_ID,
1203  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_SHAPERS,
1204  RTE_TM_ERROR_TYPE_NODE_PARAMS_WFQ_WEIGHT_MODE,
1205  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SP_PRIORITIES,
1206  RTE_TM_ERROR_TYPE_NODE_PARAMS_CMAN,
1207  RTE_TM_ERROR_TYPE_NODE_PARAMS_WRED_PROFILE_ID,
1208  RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_WRED_CONTEXT_ID,
1209  RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_WRED_CONTEXTS,
1210  RTE_TM_ERROR_TYPE_NODE_PARAMS_STATS,
1211  RTE_TM_ERROR_TYPE_NODE_ID,
1212 };
1213 
1226  enum rte_tm_error_type type;
1227  const void *cause;
1228  const char *message;
1229 };
1230 
1248 __rte_experimental
1249 int
1251  uint32_t *n_leaf_nodes,
1252  struct rte_tm_error *error);
1253 
1273 __rte_experimental
1274 int
1275 rte_tm_node_type_get(uint16_t port_id,
1276  uint32_t node_id,
1277  int *is_leaf,
1278  struct rte_tm_error *error);
1279 
1292 __rte_experimental
1293 int
1294 rte_tm_capabilities_get(uint16_t port_id,
1295  struct rte_tm_capabilities *cap,
1296  struct rte_tm_error *error);
1297 
1313 __rte_experimental
1314 int
1316  uint32_t level_id,
1317  struct rte_tm_level_capabilities *cap,
1318  struct rte_tm_error *error);
1319 
1334 __rte_experimental
1335 int
1337  uint32_t node_id,
1338  struct rte_tm_node_capabilities *cap,
1339  struct rte_tm_error *error);
1340 
1360 __rte_experimental
1361 int
1362 rte_tm_wred_profile_add(uint16_t port_id,
1363  uint32_t wred_profile_id,
1364  struct rte_tm_wred_params *profile,
1365  struct rte_tm_error *error);
1366 
1384 __rte_experimental
1385 int
1387  uint32_t wred_profile_id,
1388  struct rte_tm_error *error);
1389 
1416 __rte_experimental
1417 int
1419  uint32_t shared_wred_context_id,
1420  uint32_t wred_profile_id,
1421  struct rte_tm_error *error);
1422 
1441 __rte_experimental
1442 int
1444  uint32_t shared_wred_context_id,
1445  struct rte_tm_error *error);
1446 
1466 __rte_experimental
1467 int
1468 rte_tm_shaper_profile_add(uint16_t port_id,
1469  uint32_t shaper_profile_id,
1470  struct rte_tm_shaper_params *profile,
1471  struct rte_tm_error *error);
1472 
1490 __rte_experimental
1491 int
1493  uint32_t shaper_profile_id,
1494  struct rte_tm_error *error);
1495 
1520 __rte_experimental
1521 int
1523  uint32_t shared_shaper_id,
1524  uint32_t shaper_profile_id,
1525  struct rte_tm_error *error);
1526 
1544 __rte_experimental
1545 int
1547  uint32_t shared_shaper_id,
1548  struct rte_tm_error *error);
1549 
1613 __rte_experimental
1614 int
1615 rte_tm_node_add(uint16_t port_id,
1616  uint32_t node_id,
1617  uint32_t parent_node_id,
1618  uint32_t priority,
1619  uint32_t weight,
1620  uint32_t level_id,
1621  struct rte_tm_node_params *params,
1622  struct rte_tm_error *error);
1623 
1647 __rte_experimental
1648 int
1649 rte_tm_node_delete(uint16_t port_id,
1650  uint32_t node_id,
1651  struct rte_tm_error *error);
1652 
1672 __rte_experimental
1673 int
1674 rte_tm_node_suspend(uint16_t port_id,
1675  uint32_t node_id,
1676  struct rte_tm_error *error);
1677 
1696 __rte_experimental
1697 int
1698 rte_tm_node_resume(uint16_t port_id,
1699  uint32_t node_id,
1700  struct rte_tm_error *error);
1701 
1738 __rte_experimental
1739 int
1740 rte_tm_hierarchy_commit(uint16_t port_id,
1741  int clear_on_fail,
1742  struct rte_tm_error *error);
1743 
1779 __rte_experimental
1780 int
1781 rte_tm_node_parent_update(uint16_t port_id,
1782  uint32_t node_id,
1783  uint32_t parent_node_id,
1784  uint32_t priority,
1785  uint32_t weight,
1786  struct rte_tm_error *error);
1787 
1809 __rte_experimental
1810 int
1811 rte_tm_node_shaper_update(uint16_t port_id,
1812  uint32_t node_id,
1813  uint32_t shaper_profile_id,
1814  struct rte_tm_error *error);
1815 
1837 __rte_experimental
1838 int
1840  uint32_t node_id,
1841  uint32_t shared_shaper_id,
1842  int add,
1843  struct rte_tm_error *error);
1844 
1865 __rte_experimental
1866 int
1867 rte_tm_node_stats_update(uint16_t port_id,
1868  uint32_t node_id,
1869  uint64_t stats_mask,
1870  struct rte_tm_error *error);
1871 
1894 __rte_experimental
1895 int
1897  uint32_t node_id,
1898  int *wfq_weight_mode,
1899  uint32_t n_sp_priorities,
1900  struct rte_tm_error *error);
1901 
1918 __rte_experimental
1919 int
1920 rte_tm_node_cman_update(uint16_t port_id,
1921  uint32_t node_id,
1922  enum rte_tm_cman_mode cman,
1923  struct rte_tm_error *error);
1924 
1943 __rte_experimental
1944 int
1946  uint32_t node_id,
1947  uint32_t wred_profile_id,
1948  struct rte_tm_error *error);
1949 
1969 __rte_experimental
1970 int
1972  uint32_t node_id,
1973  uint32_t shared_wred_context_id,
1974  int add,
1975  struct rte_tm_error *error);
1976 
2002 __rte_experimental
2003 int
2004 rte_tm_node_stats_read(uint16_t port_id,
2005  uint32_t node_id,
2006  struct rte_tm_node_stats *stats,
2007  uint64_t *stats_mask,
2008  int clear,
2009  struct rte_tm_error *error);
2010 
2040 __rte_experimental
2041 int
2042 rte_tm_mark_vlan_dei(uint16_t port_id,
2043  int mark_green,
2044  int mark_yellow,
2045  int mark_red,
2046  struct rte_tm_error *error);
2047 
2091 __rte_experimental
2092 int
2093 rte_tm_mark_ip_ecn(uint16_t port_id,
2094  int mark_green,
2095  int mark_yellow,
2096  int mark_red,
2097  struct rte_tm_error *error);
2098 
2140 __rte_experimental
2141 int
2142 rte_tm_mark_ip_dscp(uint16_t port_id,
2143  int mark_green,
2144  int mark_yellow,
2145  int mark_red,
2146  struct rte_tm_error *error);
2147 
2148 #ifdef __cplusplus
2149 }
2150 #endif
2151 
2152 #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:630
rte_tm_node_stats::n_pkts_queued
uint64_t n_pkts_queued
Definition: rte_tm.h:156
rte_tm_level_capabilities::leaf_nodes_identical
int leaf_nodes_identical
Definition: rte_tm.h:501
rte_tm_capabilities::cman_wred_byte_mode_supported
int cman_wred_byte_mode_supported
Definition: rte_tm.h:406
rte_tm_level_capabilities::n_nodes_max
uint32_t n_nodes_max
Definition: rte_tm.h:477
rte_tm_node_stats
Definition: rte_tm.h:134
rte_tm_node_capabilities::sched_wfq_weight_max
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:896
rte_tm_error::cause
const void * cause
Definition: rte_tm.h:1227
rte_tm_node_params::n_sp_priorities
uint32_t n_sp_priorities
Definition: rte_tm.h:1126
rte_tm_capabilities::shaper_private_dual_rate_n_max
int shaper_private_dual_rate_n_max
Definition: rte_tm.h:243
rte_tm_level_capabilities::cman_wred_packet_mode_supported
int cman_wred_packet_mode_supported
Definition: rte_tm.h:749
rte_tm_capabilities::mark_ip_dscp_supported
int mark_ip_dscp_supported[RTE_COLORS]
Definition: rte_tm.h:459
rte_tm_capabilities::shaper_shared_packet_mode_supported
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:311
rte_tm_node_params
Definition: rte_tm.h:1098
rte_tm_capabilities::shaper_private_packet_mode_supported
int shaper_private_packet_mode_supported
Definition: rte_tm.h:261
rte_meter.h
rte_tm_capabilities::shaper_pkt_length_adjust_min
int shaper_pkt_length_adjust_min
Definition: rte_tm.h:324
rte_tm_capabilities::sched_wfq_n_groups_max
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:369
rte_tm_capabilities::sched_wfq_packet_mode_supported
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:382
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:1014
rte_tm_shaper_params::pkt_length_adjust
int32_t pkt_length_adjust
Definition: rte_tm.h:1058
rte_tm_node_capabilities::shaper_private_byte_mode_supported
int shaper_private_byte_mode_supported
Definition: rte_tm.h:834
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:447
rte_tm_shaper_params
Definition: rte_tm.h:1045
rte_tm_wred_params
Definition: rte_tm.h:1000
rte_tm_capabilities::shaper_private_n_max
uint32_t shaper_private_n_max
Definition: rte_tm.h:234
RTE_TM_UPDATE_NODE_STATS
@ RTE_TM_UPDATE_NODE_STATS
Definition: rte_tm.h:197
rte_tm_wred_params::packet_mode
int packet_mode
Definition: rte_tm.h:1008
rte_tm_node_capabilities::sched_wfq_n_groups_max
uint32_t sched_wfq_n_groups_max
Definition: rte_tm.h:890
rte_tm_node_params::nonleaf
struct rte_tm_node_params::@167::@169 nonleaf
rte_tm_capabilities::cman_wred_context_shared_n_max
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:433
rte_tm_capabilities::sched_wfq_byte_mode_supported
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:390
rte_tm_node_capabilities::leaf
struct rte_tm_node_capabilities::@163::@166 leaf
rte_tm_stats_type
rte_tm_stats_type
Definition: rte_tm.h:95
rte_tm_node_params::shaper_profile_id
uint32_t shaper_profile_id
Definition: rte_tm.h:1103
rte_tm_capabilities::shaper_private_byte_mode_supported
int shaper_private_byte_mode_supported
Definition: rte_tm.h:269
rte_tm_level_capabilities::shaper_private_rate_max
uint64_t shaper_private_rate_max
Definition: rte_tm.h:536
rte_tm_capabilities::cman_wred_context_private_n_max
uint32_t cman_wred_context_private_n_max
Definition: rte_tm.h:428
rte_tm_level_capabilities::leaf
struct rte_tm_level_capabilities::@159::@162 leaf
rte_tm_node_capabilities::sched_wfq_byte_mode_supported
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:912
rte_tm_capabilities::non_leaf_nodes_identical
int non_leaf_nodes_identical
Definition: rte_tm.h:215
rte_tm_level_capabilities::shaper_shared_packet_mode_supported
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:571
rte_tm_node_capabilities::shaper_private_rate_min
uint64_t shaper_private_rate_min
Definition: rte_tm.h:814
rte_tm_node_capabilities::shaper_shared_n_max
uint32_t shaper_shared_n_max
Definition: rte_tm.h:840
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:168
rte_tm_level_capabilities::shaper_private_packet_mode_supported
int shaper_private_packet_mode_supported
Definition: rte_tm.h:545
rte_tm_node_capabilities::cman_wred_context_private_supported
int cman_wred_context_private_supported
Definition: rte_tm.h:928
rte_tm_error::type
enum rte_tm_error_type type
Definition: rte_tm.h:1226
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:146
rte_tm_level_capabilities::sched_sp_n_priorities_max
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:599
rte_tm_level_capabilities::cman_wred_byte_mode_supported
int cman_wred_byte_mode_supported
Definition: rte_tm.h:758
rte_tm_capabilities::cman_head_drop_supported
int cman_head_drop_supported
Definition: rte_tm.h:412
rte_tm_level_capabilities::sched_wfq_weight_max
uint32_t sched_wfq_weight_max
Definition: rte_tm.h:637
RTE_TM_UPDATE_NODE_CMAN
@ RTE_TM_UPDATE_NODE_CMAN
Definition: rte_tm.h:194
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:495
rte_tm_node_capabilities::cman_wred_byte_mode_supported
int cman_wred_byte_mode_supported
Definition: rte_tm.h:922
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:203
RTE_TM_ERROR_TYPE_NONE
@ RTE_TM_ERROR_TYPE_NONE
Definition: rte_tm.h:1178
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:773
rte_tm_capabilities::mark_ip_ecn_sctp_supported
int mark_ip_ecn_sctp_supported[RTE_COLORS]
Definition: rte_tm.h:456
RTE_TM_STATS_N_PKTS_RED_DROPPED
@ RTE_TM_STATS_N_PKTS_RED_DROPPED
Definition: rte_tm.h:109
rte_tm_node_capabilities::shaper_private_rate_max
uint64_t shaper_private_rate_max
Definition: rte_tm.h:820
rte_tm_node_params::shared_shaper_id
uint32_t * shared_shaper_id
Definition: rte_tm.h:1106
rte_tm_capabilities::shaper_shared_n_max
uint32_t shaper_shared_n_max
Definition: rte_tm.h:275
rte_tm_capabilities::n_levels_max
uint32_t n_levels_max
Definition: rte_tm.h:210
rte_tm_capabilities::sched_wfq_n_children_per_group_max
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:356
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:123
rte_tm_token_bucket::size
uint64_t size
Definition: rte_tm.h:1019
rte_tm_capabilities::n_nodes_max
uint32_t n_nodes_max
Definition: rte_tm.h:205
rte_tm_level_capabilities::sched_wfq_n_children_per_group_max
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:611
rte_tm_capabilities::shaper_shared_n_shapers_per_node_max
uint32_t shaper_shared_n_shapers_per_node_max
Definition: rte_tm.h:288
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:483
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:118
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:115
rte_tm_level_capabilities
Definition: rte_tm.h:475
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:106
rte_tm_capabilities::dynamic_update_mask
uint64_t dynamic_update_mask
Definition: rte_tm.h:464
rte_tm_level_capabilities::n_nodes_leaf_max
uint32_t n_nodes_leaf_max
Definition: rte_tm.h:489
rte_tm_error::message
const char * message
Definition: rte_tm.h:1228
rte_tm_node_stats::n_pkts
uint64_t n_pkts
Definition: rte_tm.h:136
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:784
rte_tm_capabilities::shaper_shared_rate_min
uint64_t shaper_shared_rate_min
Definition: rte_tm.h:299
RTE_TM_UPDATE_NODE_PARENT_KEEP_LEVEL
@ RTE_TM_UPDATE_NODE_PARENT_KEEP_LEVEL
Definition: rte_tm.h:173
RTE_TM_STATS_N_PKTS
@ RTE_TM_STATS_N_PKTS
Definition: rte_tm.h:97
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:972
rte_tm_red_params::wq_log2
uint16_t wq_log2
Definition: rte_tm.h:983
rte_tm_node_stats::n_bytes_dropped
uint64_t n_bytes_dropped[RTE_COLORS]
Definition: rte_tm.h:151
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:564
rte_tm_node_params::n_shared_shapers
uint32_t n_shared_shapers
Definition: rte_tm.h:1109
rte_common.h
rte_tm_node_params::wred_profile_id
uint32_t wred_profile_id
Definition: rte_tm.h:1143
rte_tm_node_capabilities::shaper_shared_packet_mode_supported
int shaper_shared_packet_mode_supported
Definition: rte_tm.h:846
rte_tm_node_params::wfq_weight_mode
int * wfq_weight_mode
Definition: rte_tm.h:1123
rte_tm_red_params::max_th
uint64_t max_th
Definition: rte_tm.h:975
rte_tm_capabilities::shaper_shared_dual_rate_n_max
uint32_t shaper_shared_dual_rate_n_max
Definition: rte_tm.h:294
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:100
rte_tm_level_capabilities::shaper_private_dual_rate_supported
int shaper_private_dual_rate_supported
Definition: rte_tm.h:522
RTE_TM_UPDATE_NODE_PARENT_CHANGE_LEVEL
@ RTE_TM_UPDATE_NODE_PARENT_CHANGE_LEVEL
Definition: rte_tm.h:179
RTE_TM_ERROR_TYPE_UNSPECIFIED
@ RTE_TM_ERROR_TYPE_UNSPECIFIED
Definition: rte_tm.h:1179
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:512
rte_tm_node_params::n_shared_wred_contexts
uint32_t n_shared_wred_contexts
Definition: rte_tm.h:1157
rte_tm_capabilities::shaper_shared_rate_max
uint64_t shaper_shared_rate_max
Definition: rte_tm.h:304
rte_tm_capabilities::shaper_private_rate_max
uint64_t shaper_private_rate_max
Definition: rte_tm.h:253
RTE_TM_UPDATE_NODE_SUSPEND_RESUME
@ RTE_TM_UPDATE_NODE_SUSPEND_RESUME
Definition: rte_tm.h:185
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_params::wred
struct rte_tm_node_params::@167::@170::@171 wred
rte_tm_node_capabilities::cman_head_drop_supported
int cman_head_drop_supported
Definition: rte_tm.h:925
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:963
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:329
rte_tm_level_capabilities::stats_mask
uint64_t stats_mask
Definition: rte_tm.h:665
rte_tm_node_capabilities::nonleaf
struct rte_tm_node_capabilities::@163::@165 nonleaf
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:438
rte_tm_node_stats::leaf
struct rte_tm_node_stats::@158 leaf
rte_tm_capabilities::leaf_nodes_identical
int leaf_nodes_identical
Definition: rte_tm.h:220
RTE_STD_C11
#define RTE_STD_C11
Definition: rte_common.h:39
rte_tm_level_capabilities::sched_wfq_byte_mode_supported
int sched_wfq_byte_mode_supported
Definition: rte_tm.h:656
rte_tm_node_capabilities
Definition: rte_tm.h:801
rte_tm_capabilities::mark_ip_ecn_tcp_supported
int mark_ip_ecn_tcp_supported[RTE_COLORS]
Definition: rte_tm.h:453
rte_tm_capabilities::sched_sp_n_priorities_max
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:346
rte_tm_level_capabilities::cman_head_drop_supported
int cman_head_drop_supported
Definition: rte_tm.h:766
rte_tm_shaper_params::peak
struct rte_tm_token_bucket peak
Definition: rte_tm.h:1050
rte_tm_node_params::cman
enum rte_tm_cman_mode cman
Definition: rte_tm.h:1132
rte_tm_token_bucket::rate
uint64_t rate
Definition: rte_tm.h:1016
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:248
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:182
RTE_TM_CMAN_WRED
@ RTE_TM_CMAN_WRED
Definition: rte_tm.h:964
rte_tm_level_capabilities::shaper_private_byte_mode_supported
int shaper_private_byte_mode_supported
Definition: rte_tm.h:554
RTE_TM_UPDATE_NODE_WFQ_WEIGHT_MODE
@ RTE_TM_UPDATE_NODE_WFQ_WEIGHT_MODE
Definition: rte_tm.h:188
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:318
rte_tm_cman_mode
rte_tm_cman_mode
Definition: rte_tm.h:961
RTE_TM_UPDATE_NODE_N_SP_PRIORITIES
@ RTE_TM_UPDATE_NODE_N_SP_PRIORITIES
Definition: rte_tm.h:191
rte_tm_level_capabilities::sched_n_children_max
uint32_t sched_n_children_max
Definition: rte_tm.h:586
rte_tm_node_capabilities::sched_wfq_n_children_per_group_max
uint32_t sched_wfq_n_children_per_group_max
Definition: rte_tm.h:876
rte_tm_node_capabilities::sched_n_children_max
uint32_t sched_n_children_max
Definition: rte_tm.h:859
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:1168
rte_tm_node_stats::n_bytes_queued
uint64_t n_bytes_queued
Definition: rte_tm.h:161
rte_tm_node_capabilities::shaper_private_dual_rate_supported
int shaper_private_dual_rate_supported
Definition: rte_tm.h:808
rte_tm_shaper_params::packet_mode
int packet_mode
Definition: rte_tm.h:1068
rte_tm_capabilities::cman_wred_context_n_max
uint32_t cman_wred_context_n_max
Definition: rte_tm.h:421
rte_tm_node_params::leaf
struct rte_tm_node_params::@167::@170 leaf
rte_tm_level_capabilities::shaper_private_rate_min
uint64_t shaper_private_rate_min
Definition: rte_tm.h:529
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:39
RTE_TM_CMAN_TAIL_DROP
@ RTE_TM_CMAN_TAIL_DROP
Definition: rte_tm.h:962
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:374
rte_tm_capabilities::shaper_n_max
uint32_t shaper_n_max
Definition: rte_tm.h:228
RTE_TM_STATS_N_BYTES_GREEN_DROPPED
@ RTE_TM_STATS_N_BYTES_GREEN_DROPPED
Definition: rte_tm.h:112
rte_tm_node_capabilities::sched_sp_n_priorities_max
uint32_t sched_sp_n_priorities_max
Definition: rte_tm.h:867
rte_tm_node_capabilities::shaper_private_supported
int shaper_private_supported
Definition: rte_tm.h:803
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:1150
rte_tm_capabilities::shaper_shared_n_nodes_per_shaper_max
uint32_t shaper_shared_n_nodes_per_shaper_max
Definition: rte_tm.h:280
rte_tm_node_stats::n_bytes
uint64_t n_bytes
Definition: rte_tm.h:139
rte_tm_error_type
rte_tm_error_type
Definition: rte_tm.h:1177
rte_tm_level_capabilities::nonleaf
struct rte_tm_level_capabilities::@159::@161 nonleaf
rte_tm_node_capabilities::cman_wred_packet_mode_supported
int cman_wred_packet_mode_supported
Definition: rte_tm.h:919
rte_tm_node_capabilities::shaper_private_packet_mode_supported
int shaper_private_packet_mode_supported
Definition: rte_tm.h:827
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:980
RTE_TM_STATS_N_PKTS_GREEN_DROPPED
@ RTE_TM_STATS_N_PKTS_GREEN_DROPPED
Definition: rte_tm.h:103
rte_tm_red_params
Definition: rte_tm.h:970
rte_tm_capabilities::cman_wred_packet_mode_supported
int cman_wred_packet_mode_supported
Definition: rte_tm.h:398
rte_tm_wred_params::red_params
struct rte_tm_red_params red_params[RTE_COLORS]
Definition: rte_tm.h:1002
rte_tm_capabilities::mark_vlan_dei_supported
int mark_vlan_dei_supported[RTE_COLORS]
Definition: rte_tm.h:450
rte_tm_node_capabilities::stats_mask
uint64_t stats_mask
Definition: rte_tm.h:942
rte_tm_node_capabilities::sched_wfq_packet_mode_supported
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:904
rte_tm_node_capabilities::shaper_shared_byte_mode_supported
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:852
rte_tm_level_capabilities::shaper_shared_byte_mode_supported
int shaper_shared_byte_mode_supported
Definition: rte_tm.h:578
rte_tm_shaper_params::committed
struct rte_tm_token_bucket committed
Definition: rte_tm.h:1047
rte_tm_capabilities::stats_mask
uint64_t stats_mask
Definition: rte_tm.h:469
rte_tm_error
Definition: rte_tm.h:1225
rte_tm_level_capabilities::sched_wfq_packet_mode_supported
int sched_wfq_packet_mode_supported
Definition: rte_tm.h:647
RTE_TM_STATS_N_BYTES_QUEUED
@ RTE_TM_STATS_N_BYTES_QUEUED
Definition: rte_tm.h:128
rte_tm_capabilities::sched_n_children_max
uint32_t sched_n_children_max
Definition: rte_tm.h:336
rte_tm_node_capabilities::cman_wred_context_shared_n_max
uint32_t cman_wred_context_shared_n_max
Definition: rte_tm.h:935