Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
4a40136
Add RoCEv2 model
satyamsinghKey Mar 12, 2025
510a852
Update auto generated content
actions-user Mar 12, 2025
e51555c
Merge branch 'master' into dev2_rocev2
satyamsinghKey Mar 12, 2025
847b940
Update auto generated content
actions-user Mar 12, 2025
12a41fa
Review comment change
satyamsinghKey Mar 17, 2025
19fcb34
Update auto generated content
actions-user Mar 17, 2025
41aa68f
review comments
satyamsinghKey Mar 17, 2025
7968f71
Update auto generated content
actions-user Mar 17, 2025
9634dec
rename nack to nak
satyamsinghKey Mar 17, 2025
99bdbd5
Update auto generated content
actions-user Mar 17, 2025
622ccbf
remove dummy field
satyamsinghKey Mar 17, 2025
e98873d
Update auto generated content
actions-user Mar 17, 2025
62d2f14
rename Rocev2 to RoCEv2 in descriptions
satyamsinghKey Mar 18, 2025
a3fa23c
Update auto generated content
actions-user Mar 18, 2025
6eb2bd0
review changes
satyamsinghKey Mar 18, 2025
1a6c8a8
Merge branch 'dev2_rocev2' of https://github.com/open-traffic-generat…
satyamsinghKey Mar 18, 2025
5e2ac09
Update auto generated content
actions-user Mar 18, 2025
e37ad42
review changes for port.protocols
satyamsinghKey Mar 18, 2025
9dcae16
Update auto generated content
actions-user Mar 18, 2025
3744428
fruther review comment changes
satyamsinghKey Mar 24, 2025
a56d748
Update auto generated content
actions-user Mar 24, 2025
aeebb98
correct type and format of float values
satyamsinghKey Mar 24, 2025
8fad3e4
Update auto generated content
actions-user Mar 24, 2025
a806fda
review changes
satyamsinghKey Mar 25, 2025
960a841
Update auto generated content
actions-user Mar 25, 2025
c4fbb5c
rename RoCEv2 Traffic metric to per_qp
satyamsinghKey Mar 26, 2025
77b8d14
Update auto generated content
actions-user Mar 26, 2025
f0c8f14
fix typo in avg_latency
satyamsinghKey Mar 28, 2025
4d399f5
Update auto generated content
actions-user Mar 28, 2025
ad22b79
Merge branch 'master' into dev2_rocev2
satyamsinghKey Mar 28, 2025
9afe5ee
Update auto generated content
actions-user Mar 28, 2025
b249945
fix typo in data_frames_tx and rx
satyamsinghKey Mar 28, 2025
0c1d23b
Update auto generated content
actions-user Mar 28, 2025
35a5fa4
add remaining descriptions
satyamsinghKey Apr 2, 2025
99f9e5a
Update auto generated content
actions-user Apr 2, 2025
69aa2a1
Review comment changes
satyamsinghKey Apr 4, 2025
2adfc9c
Update auto generated content
actions-user Apr 4, 2025
f806c0b
Merge remote-tracking branch 'origin/master' into dev2_rocev2
satyamsinghKey Apr 22, 2025
30ebf91
Update openapiart version
satyamsinghKey Apr 22, 2025
f8fe09b
Update openapiart version
satyamsinghKey Apr 22, 2025
abd6517
Update auto generated content
actions-user Apr 22, 2025
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
20 changes: 12 additions & 8 deletions artifacts/openapi.html

Large diffs are not rendered by default.

8,070 changes: 4,864 additions & 3,206 deletions artifacts/openapi.yaml

Large diffs are not rendered by default.

1,218 changes: 1,124 additions & 94 deletions artifacts/otg.proto

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion build.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
USE_OPENAPIART_DIR = None

# supported values - branch name or None
USE_OPENAPIART_BRANCH = None
USE_OPENAPIART_BRANCH = "fix_array_of_choices"

OPENAPIART_REPO = "https://github.com/open-traffic-generator/openapiart.git"

Expand Down
8 changes: 7 additions & 1 deletion config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ components:
items:
$ref: '../lldp/lldp.yaml#/components/schemas/Lldp'
x-field-uid: 9
stateful_flows:
$ref: '../flow/statefulflow.yaml#/components/schemas/StatefulFlow'
x-field-uid: 10
Config.Options:
description: |-
Global configuration options.
Expand All @@ -74,4 +77,7 @@ components:
x-field-uid: 1
protocol_options:
$ref: '../device/device.yaml#/components/schemas/Protocol.Options'
x-field-uid: 2
x-field-uid: 2
per_port_options:
$ref: '../port/perportoptions.yaml#/components/schemas/PerPort.Options'
x-field-uid: 3
46 changes: 46 additions & 0 deletions control/protocol.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,52 @@ components:
If the desired state is 'down', would bring down OSPFv2 session(s) with respective peer(s).
type: string
x-field-uid: 2
x-enum:
up:
x-field-uid: 1
down:
x-field-uid: 2
State.Protocol.Rocev2:
description: >-
Sets state of configured Rocev2 peers.
type: object
required:
- choice
properties:
choice:
type: string
x-enum:
peers:
x-field-uid: 1
x-field-uid: 1
peers:
$ref: '#/components/schemas/State.Protocol.Rocev2.Peers'
x-field-uid: 2
State.Protocol.Rocev2.Peers:
description: >-
Sets state of configured Rocev2 peers.
required:
- state
properties:
peer_names:
description: >-
The names of Rocev2 peers for which the state has to be applied.
An empty or null list will control all Rocev2 peers.
type: array
items:
type: string
x-constraint:
- "/components/schemas/Rocev2.V4Peer/properties/name"
- "/components/schemas/Rocev2.V6Peer/properties/name"
x-field-uid: 1
state:
description: >-
The desired state of Rocev2 peer.
If the desired state is 'up', underlying IP interface(s) would be brought up automatically (if not already up),
would attempt to bring up the Rocev2 session(s).
If the desired state is 'down', Rocev2 session(s) would be brought down.
type: string
x-field-uid: 2
x-enum:
up:
x-field-uid: 1
Expand Down
5 changes: 4 additions & 1 deletion control/state.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,7 @@ components:
x-field-uid: 6
ospfv2:
$ref: './protocol.yaml#/components/schemas/State.Protocol.Ospfv2'
x-field-uid: 7
x-field-uid: 7
rocev2:
$ref: './protocol.yaml#/components/schemas/State.Protocol.Rocev2'
x-field-uid: 8
5 changes: 5 additions & 0 deletions device/device.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ components:
Configuration of MACsec device.
$ref: './macsec/macsec.yaml#/components/schemas/Device.Macsec'
x-field-uid: 11
rocev2:
description: >-
Configuration for Rocev2 .
$ref: './rocev2/rocev2.yaml#/components/schemas/Device.Rocev2Peer'
x-field-uid: 12
required: [name]
Protocol.Options:
description: >-
Expand Down
97 changes: 97 additions & 0 deletions device/rocev2/qps.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
components:
schemas:
Rocev2.QPs:
description: >-
This allows the user to set QP properties between a particular source and destination.
type: object
required: [qp_name]
properties:
qp_name:
Comment thread
satyamsinghKey marked this conversation as resolved.
x-include: ../../common/common.yaml#/components/schemas/Named.Object/properties/name
x-field-uid: 1
connection_type:
$ref : '#/components/schemas/Rocev2.ConnectionType'
x-field-uid: 2
Rocev2.ConnectionType:
description: >-
It describes the degree of reliability and to what and how the QP transfers data. There are different types.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: object
properties:
choice:
type: string
default: reliable_connection
x-enum:
reliable_connection:
x-field-uid: 1
x-field-uid: 1
reliable_connection:
$ref: '#/components/schemas/Rocev2.QPParameters'
x-field-uid: 2
Rocev2.QPParameters:
description: |-
****Description here****
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: object
properties:
source_qp_number:
description: >-
Configure Source QP.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: integer
format: uint32
default: 2
minimum: 2
maximum: 33554431
x-field-uid: 1
dscp:
description: >-
DSCP value for data transfer verbs for this QP, for eg: RDMA Write.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: integer
format: uint32
default: 24
minimum: 0
maximum: 63
x-field-uid: 2
ecn:
Comment thread
satyamsinghKey marked this conversation as resolved.
description: >-
This field allows to configure bits of the Traffic Class field in the IPv4 or IPv6 header to encode four different code points.
Comment thread
satyamsinghKey marked this conversation as resolved.
type: integer
format: uint32
default: 1
minimum: 0
maximum: 3
x-field-uid: 3
udp_source_port:
description: >-
UDP source port number for this QP.
type: integer
format: uint32
default: 49152
minimum: 0
maximum: 65535
x-field-uid: 4
initial_psn:
description: >-
Initial PSN of the data transfer packet generated for this QP.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: integer
format: uint64
default: 0
minimum: 0
maximum: 33554431
x-field-uid: 5
virtual_address:
description: >-
Virtual Address where the data transfer from the remote QP will write to/read from. Applicable for RDMA verbs.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: string
format: hex
default: "0000000000000000"
maxLength: 16
x-field-uid: 6
remote_key:
description: >-
Remote Key associated with the virtual address for this QP.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: string
format: hex
default: "00000000"
maxLength: 8
x-field-uid: 7


23 changes: 23 additions & 0 deletions device/rocev2/rocev2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
components:
schemas:
Device.Rocev2Peer:
description: >-
Configuration for one or more IPv4 or IPv6 Rocev2 Peers.
type: object
properties:
ipv4_interfaces:
description: >-
This contains an array of references to IPv4 interfaces, each of which
will have list of peers to different destinations.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: array
items:
$ref: './rocev2ipv4.yaml#/components/schemas/Rocev2.V4Interface'
x-field-uid: 1
ipv6_interfaces:
description: >-
This contains an array of references to IPv6 interfaces, each of which
will have list of peers to different destinations.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: array
items:
$ref: './rocev2ipv6.yaml#/components/schemas/Rocev2.V6Interface'
x-field-uid: 2
54 changes: 54 additions & 0 deletions device/rocev2/rocev2ipv4.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
components:
schemas:
Rocev2.V4Interface:
description: >-
Configuration for Rocev2 IPv4 peers.
type: object
required: [ipv4_name]
properties:
ipv4_name:
Comment thread
satyamsinghKey marked this conversation as resolved.
description: >-
The unique name of the IPv4, used as the source IP for this list of Rocev2 peers.
type: string
x-constraint:
- '/components/schemas/Device.Ipv4/properties/name'
x-field-uid: 1
ib_mtu:
description: >-
InfiniBand protocol Maximum Transmission Unit (MTU) defines several fix size MTU: 256, 512, 1024, 2048 or 4096 bytes.
RDMA write message will have payload size same as configured IB MTU. You can configure custom size also.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: integer
default: 1024
format: uint32
minimum: 0
maximum: 14000
x-field-uid: 2
peers:
description: >-
This contains the list of Rocev2 peers configured on this interface.
type: array
items:
$ref: './rocev2ipv4.yaml#/components/schemas/Rocev2.V4Peer'
x-field-uid: 3
Rocev2.V4Peer:
description: >-
Configuration for Rocev2 IPv4 peers.
type: object
required: [name, destination_ip_address]
properties:
name:
x-include: ../../common/common.yaml#/components/schemas/Named.Object/properties/name
x-field-uid: 1
destination_ip_address:
description: |-
Specify the IP address of External NIC i.e Destination Point IP Address.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
type: string
format: ipv4
x-field-uid: 2
qps:
type: array
description: >-
This allows the user to set QP properties between a pair of source and destination RoCEv2 devices.
Comment thread
satyamsinghKey marked this conversation as resolved.
Outdated
items:
$ref: './qps.yaml#/components/schemas/Rocev2.QPs'
x-field-uid: 3
57 changes: 57 additions & 0 deletions device/rocev2/rocev2ipv6.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
components:
Comment thread
satyamsinghKey marked this conversation as resolved.
schemas:
Rocev2.V6Interface:
description: >-
Configuration for Rocev2 IPv6 peers.
type: object
required: [ipv6_name]
properties:
ipv6_name:
description: >-
The unique name of IPv6 used as the source IP for this list of Rocev2 peers.
type: string
x-constraint:
- '/components/schemas/Device.Ipv6/properties/name'
x-field-uid: 1
ib_mtu:
description: >-
InfiniBand protocol Maximum Transmission Unit (MTU) defines several fix size MTU: 256, 512, 1024, 2048 or 4096 bytes.
RDMA write message will have payload size same as configured IB MTU. You can configure custom size also.
type: integer
default: 1024
format: uint32
minimum: 0
maximum: 14000
x-field-uid: 2
peers:
description: >-
This contains the list of Rocev2 IPv6 peers configured on this interface.
type: array
items:
$ref: './rocev2ipv6.yaml#/components/schemas/Rocev2.V6Peer'
x-field-uid: 3
Rocev2.V6Peer:
description: >-
Configuration for Rocev2 IPv6 peer settings.
type: object
required: [name, destination_ip_address]
properties:
name:
x-include: ../../common/common.yaml#/components/schemas/Named.Object/properties/name
x-field-uid: 1
destination_ip_address:
description: |-
Specify the IP address of External NIC i.e Destination Point IP Address.
type: string
format: ipv6
x-field-uid: 2
qps:
type: array
description: >-
This allows the user to set QP properties between a pair of source and destination RoCEv2 devices.
items:
$ref: './qps.yaml#/components/schemas/Rocev2.QPs'
x-field-uid: 3



Loading