P_TXMODE
code: 320
# set
<module-index>/<port-index> P_TXMODE <mode>
# get
<module-index>/<port-index> P_TXMODE ?
Description
The scheduling mode for outgoing traffic from the port, specifying how multiple logical streams are merged onto one physical port.
There are four port transmission modes:
Normal Interleaved (default): The streams are treated independently, and are merged into a combined traffic pattern for the port, which honors each stream’s ideal packet placements as well as possible.
Strict Uniform: This is a slight variation of normal interleaved scheduling, which emphasizes strict uniformity of the inter-packet-gaps as more important than hitting the stream rates absolutely precisely.
Sequential: Each stream in turn contribute one or more packets, before continuing to the next stream, in a cyclical pattern. The count of packets for each stream is obtained from the P_TXPACKETLIMIT command value for the stream. The individual rates for each stream are ignored, and instead the overall rate is determined at the port-level. This in turn determines the rates for each stream, taking into account their packet lengths and counts. The maximum number of packets in a cycle (i.e. the sum of PS_PACKETLIMIT for all enabled streams) is 500. If the packet number is larger than 500, will be returned when attempting to start the traffic (P_TRAFFIC).
Burst: When this mode is selected, frames from the streams on a port are sent as bursts as depicted below:
The Burst Period is defined in the P_TXBURSTPERIOD command. For the individual streams the number of packets in a burst is defined by the PS_BURST command, while the Inter Packet Gap and the Inter Burst Gap are defined by the PS_BURSTGAP command.
Fig. 3.3 Port TX Burst Mode
Actions
set, get
Parameters
mode: byte, the scheduling mode for outgoing traffic from the port, containing the loopback mode for the port:
NORMAL = 0, interleaved packet scheduling (default).
STRICTUNIFORM = 1, strict uniform mode.
SEQUENTIAL = 2, sequential packet scheduling.
BURST = 3, burst mode.
Example
# set
input: 0/1 P_TXMODE NORMAL
output: <OK>
# get
input: 0/1 P_TXMODE ?
output: 0/1 P_TXMODE NORMAL