API Reference Manual
1.46.0
|
TM Capabilities Record. More...
#include <traffic_mngr.h>
Data Fields | |
char * | name |
The name is an optional name associated with a capabilities record. More... | |
uint32_t | max_tm_queues |
max_tm_queues specifies the maximum number of tm_queues that can be in existence for this TM System. | |
uint8_t | max_levels |
max_levels specifies that maximum number of levels of hierarchical scheduling allowed by this TM System. More... | |
odp_bool_t | egress_fcn_supported |
egress_fcn_supported indicates whether the tm system supports egress function. More... | |
odp_bool_t | tm_queue_shaper_supported |
Shaper is supported in rate shape mode. | |
odp_bool_t | tm_queue_rate_limiter_supported |
Shaper is supported in rate limit mode. | |
odp_bool_t | tm_queue_shaper_packet_mode |
tm_queue_shaper_packet_mode indicates that tm_queues support shaper in packet mode | |
odp_bool_t | tm_queue_wred_supported |
tm_queue_wred_supported indicates that the tm_queues support some form of Random Early Detection. | |
odp_bool_t | tm_queue_dual_slope_supported |
tm_queue_dual_slope_supported indicates that the tm_queues support the dual slope WRED capability. More... | |
odp_bool_t | vlan_marking_supported |
vlan_marking_supported indicates that this TM system supports SOME form of VLAN egress marking using the odp_tm_vlan_marking() function. More... | |
odp_bool_t | ecn_marking_supported |
ecn_marking_supported indicates that this TM system supports Explicit Congestion Notification egress marking by using the odp_tm_ip_ecn_marking() function. More... | |
odp_bool_t | drop_prec_marking_supported |
drop_prec_marking_supported indicates that this TM system supports SOME form of IPv4/IPv6 egress marking by using the odp_tm_drop_prec_marking() function. More... | |
odp_bool_t | marking_colors_supported [ODP_NUM_PACKET_COLORS] |
The marking_colors_supported array is used to indicate which colors can be used for marking. More... | |
odp_tm_level_capabilities_t | per_level [ODP_TM_MAX_LEVELS] |
The per_level array specifies the TM system capabilities that can vary based upon the tm_node level. | |
odp_bool_t | dynamic_topology_update |
dynamic_topology_update indicates support for TM system dynamic topology update. More... | |
odp_bool_t | dynamic_shaper_update |
dynamic_shaper_update indicates support for TM system's dynamic shaper profile changes. More... | |
odp_bool_t | dynamic_sched_update |
dynamic_sched_update indicates support for TM system's dynamic sched profile changes. More... | |
odp_bool_t | dynamic_wred_update |
dynamic_wred_update indicates support for TM system's dynamic wred profile changes. More... | |
odp_bool_t | dynamic_threshold_update |
dynamic_threshold_update indicates support for TM system's dynamic threshold profile changes. More... | |
odp_tm_queue_stats_capability_t | queue_stats |
TM queue statistics counter capabilities. | |
struct { | |
uint8_t byte: 1 | |
Threshold given as bytes. | |
uint8_t packet: 1 | |
Threshold given as packets. | |
uint8_t byte_and_packet: 1 | |
Threshold given as bytes and packets simultaneously. | |
} | tm_queue_threshold |
TM queue threshold profile support. | |
uint32_t | tm_queue_query_flags |
tm_queue_query_flags indicates supported types of TM queue query. More... | |
odp_bool_t | pkt_prio_modes [ODP_TM_PKT_PRIO_MODE_MAX] |
Indicates the packet priority modes supported by TM systems on a platform. More... | |
uint8_t | max_schedulers_per_node |
Maximum number of schedulers supported by a TM node at any level. More... | |
TM Capabilities Record.
The odp_tm_capabilities_t record type is used to describe the feature set and limits of a TM system.
Definition at line 393 of file api/spec/traffic_mngr.h.
char* odp_tm_capabilities_t::name |
The name is an optional name associated with a capabilities record.
This name, if present, can be used by odp_tm_find to return a TM system matching this set of capabilities.
Definition at line 397 of file api/spec/traffic_mngr.h.
uint8_t odp_tm_capabilities_t::max_levels |
max_levels specifies that maximum number of levels of hierarchical scheduling allowed by this TM System.
This is a count of the tm_node stages and does not include tm_queues or tm_egress objects. Hence any given tm_node will have associated tm_node_level in the range 0 to max_levels - 1, where tm_node's at level 0 output's only go to egress objects and tm_nodes whose level is max_levels - 1 have their fan_in only from tm_queues.
Definition at line 410 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::egress_fcn_supported |
egress_fcn_supported indicates whether the tm system supports egress function.
It is an optional feature used to receive the packet from the tm system and its performance might be limited.
Definition at line 416 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::tm_queue_dual_slope_supported |
tm_queue_dual_slope_supported indicates that the tm_queues support the dual slope WRED capability.
This field is ignored if tm_queue_wred_supported above is false.
Definition at line 435 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::vlan_marking_supported |
vlan_marking_supported indicates that this TM system supports SOME form of VLAN egress marking using the odp_tm_vlan_marking() function.
This being true does not imply that all colors and subfield values and changes are supported. Unsupported features can be detected by the marking function returning an error code.
Definition at line 442 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::ecn_marking_supported |
ecn_marking_supported indicates that this TM system supports Explicit Congestion Notification egress marking by using the odp_tm_ip_ecn_marking() function.
Note that the ECN is the bottom two bits of the IPv4 TOS field or the analogous IPv6 Traffic Class (TC) field. Note that the ecn_marking_supported boolean being true does not imply that all colors are supported.
Definition at line 450 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::drop_prec_marking_supported |
drop_prec_marking_supported indicates that this TM system supports SOME form of IPv4/IPv6 egress marking by using the odp_tm_drop_prec_marking() function.
Note that the actually field modified for IPv4 pkts is called TOS, whereas the field modified for IPv6 pkts is called Traffic Class (TC) - but they are analogous fields. Note that the drop_prec_marking_supported boolean being true does not imply that all colors and subfield values and changes are supported. Unsupported features can be detected by the marking function returning an error code.
Definition at line 461 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::marking_colors_supported[ODP_NUM_PACKET_COLORS] |
The marking_colors_supported array is used to indicate which colors can be used for marking.
A value of FALSE means that this color should not be enabled for either vlan marking, ecn marking or drop precedence marking. A value of TRUE means that this color is supported for at least one of (and ideally all of) vlan marking, ecn marking or drop precedence marking.
Definition at line 469 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::dynamic_topology_update |
dynamic_topology_update indicates support for TM system dynamic topology update.
A dynamic topology update is defined as update to a TM system topology while TM system is not in stopped state. When TRUE, application can update topology dynamically without bringing the TM system to stopped state. When FALSE, application has to call odp_tm_stop() before updating the topology and odp_tm_start() after completing the update.
Definition at line 483 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::dynamic_shaper_update |
dynamic_shaper_update indicates support for TM system's dynamic shaper profile changes.
When TRUE, application can update shaper profile of a TM queue or TM node dynamically. When FALSE, it implies that TM system should be brought to stopped state before changing the shaper profile or updating the parameters of the shaper profile of any TM node or TM queue.
Definition at line 492 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::dynamic_sched_update |
dynamic_sched_update indicates support for TM system's dynamic sched profile changes.
When TRUE, application can update sched profile of a TM queue or TM node dynamically. When FALSE, it implies that TM system should be brought to stopped state before changing the sched profile or updating the parameters of the sched profile of any TM node or TM queue.
Definition at line 501 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::dynamic_wred_update |
dynamic_wred_update indicates support for TM system's dynamic wred profile changes.
When TRUE, application can update wred profile of a TM queue or TM node dynamically. When FALSE, it implies that TM system should be brought to stopped state before changing the wred profile or updating the parameters of the wred profile of any TM node or TM queue.
Definition at line 510 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::dynamic_threshold_update |
dynamic_threshold_update indicates support for TM system's dynamic threshold profile changes.
When TRUE, application can update threshold profile of a TM queue or TM node dynamically. When FALSE, it implies that TM system should be brought to stopped state before changing the threshold profile or updating the parameters of the threshold profile of any TM node or TM queue.
Definition at line 519 of file api/spec/traffic_mngr.h.
uint32_t odp_tm_capabilities_t::tm_queue_query_flags |
tm_queue_query_flags indicates supported types of TM queue query.
Types of TM queue query are same as query_flags that are passed to odp_tm_queue_query(), odp_tm_priority_query() and odp_tm_total_query(). When zero, none of the queue query API's are supported. When non-zero, only the only supported types of passed query_flags are taken into account and corresponding fields updated.
Definition at line 547 of file api/spec/traffic_mngr.h.
odp_bool_t odp_tm_capabilities_t::pkt_prio_modes[ODP_TM_PKT_PRIO_MODE_MAX] |
Indicates the packet priority modes supported by TM systems on a platform.
A platform can support multiple packet priority modes. The actual mode a TM system runs with is defined by odp_tm_requirements_t.
Definition at line 554 of file api/spec/traffic_mngr.h.
uint8_t odp_tm_capabilities_t::max_schedulers_per_node |
Maximum number of schedulers supported by a TM node at any level.
A TM node contains a WFQ/WRR scheduler for each packet priority level for which the node has more than one possible input. TM topology and priority configuration must be made so that the resulting number of WFQ/WRR schedulers does not exceed this capability in any TM node.
The value can vary between 0 and ODP_TM_MAX_PRIORITIES.
Definition at line 564 of file api/spec/traffic_mngr.h.