Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions artifacts/openapi.html

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions artifacts/openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 24 additions & 0 deletions artifacts/otg.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 46 additions & 0 deletions port/port.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,49 @@ components:
type: boolean
default: false
x-field-uid: 2
frame_ordering_mode:
$ref: '#/components/schemas/Port.Options.FrameOrderingMode'
x-field-uid: 3
Port.Options.FrameOrderingMode:
description: >-
Controls how an implementation arranges (interleaves) the frames of multiple
flows that share source ports and destination ports.

A flow transmits frames from its source port(s) to its
destination port(s). When multiple flows transmit simultaneously towards a
common destination port, the transmit ordering determines how the frames of the
different flows are interleaved on the wire from the source ports. This is
independent of the per-flow payload sequence used for loss and latency
measurement.

type: object
properties:
choice:
description: >-
The type of frame ordering mode.
type: string
default: no_ordering
x-field-uid: 1
x-enum:
no_ordering:
description: >-

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also add the enum descriptions to the object documentation. As is now, the documentation matches what I expect but is not visible in redocli at all.

No specific ordering is applied across flows when frames are
transmitted from the source ports. The implementation is free to interleave the
frames of concurrent flows towards the destination ports in whatever manner is most
efficient. This is the lowest-overhead setting and is appropriate when per-flow
transmit sequence integrity is not being measured, for example pure throughput or
line-rate saturation, loss-only or latency-only measurements, a single flow from
one source port to one destination port, and protocol emulation traffic whose
ordering is governed by the protocol itself.
x-field-uid: 1
rfc2889:
description: >-
Transmit ordering follows the methodology defined in RFC 2889, "Benchmarking
Methodology for LAN Switching Devices". The interleaved frames of flow that share source ports and destination ports are arranged using round-robin
sequencing before they are transmitted from the source ports. This prevents a
destination port from being overloaded by simultaneous flows arriving from multiple
source ports and keeps per-flow sequencing valid under load. It is appropriate for
RFC 2889 test types such as fully-meshed (many source ports to many destination
ports) forwarding, congestion control / head-of-line blocking (many source ports to
one destination port), and maximum forwarding rate measurements.
x-field-uid: 2