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 primary modes:
Normal Interleaved: 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. This is the default mode.
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 PS_PACKETLIMIT
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 ON
).
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.
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.
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