diff --git a/control/rocev2.yaml b/control/rocev2.yaml deleted file mode 100644 index 5e78926f..00000000 --- a/control/rocev2.yaml +++ /dev/null @@ -1,79 +0,0 @@ -openapi: 3.0.3 -info: - title: RoCEv2 Control models - description: >- - All RoCEv2 control schemas - version: ^0.0.0 -components: - schemas: - Action.Protocol.RoCEv2: - description: >- - Actions associated with RoCEv2 on configured resources. - type: object - required: - - choice - properties: - choice: - type: string - x-enum: - notification: - x-field-uid: 1 - initiate_graceful_restart: - x-field-uid: 2 - x-field-uid: 1 - notification: - $ref: "#/components/schemas/Action.Protocol.RoCEv2.Notification" - x-field-uid: 2 - initiate_graceful_restart: - $ref: "#/components/schemas/Action.Protocol.RoCEv2.InitiateGracefulRestart" - x-field-uid: 3 - - Action.Protocol.RoCEv2.Notification: - description: >- - A NOTIFICATION message is sent when an error is detected with the RoCEv2 session, such as hold timer expiring, misconfigured AS number - or a RoCEv2 session reset is requested. This causes the RoCEv2 connection to close. Send explicit NOTIFICATIONs for list of specified - RoCEv2 peers. If a user wants to send custom Error Code and Error Subcode the custom object should be configured. - A user can send IANA defined RoCEv2 NOTIFICATIONs according to https://www.iana.org/assignments/rocev2-parameters/rocev2-parameters.xhtml. - type: object - properties: - names: - description: >- - The names of RoCEv2 Peers to send NOTIFICATION to. If no name is specified then NOTIFICATION will be sent to all configured 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 - - Action.Protocol.RoCEv2.InitiateGracefulRestart: - description: >- - Initiates RoCEv2 Graceful Restart process for the selected RoCEv2 peers. - If no name is specified then Graceful Restart will be sent to all configured RoCEv2 peers. - To emulate scenarios where a peer sends a Notification and stops the session, an optional - Notification object is included. If the remote peer and the local peer are both configured - to perform Graceful Restart for Notification triggered session , this will result in - Graceful Restart scenario to be triggered as per RFC8538. - type: object - properties: - peer_names: - description: >- - The names of device RoCEv2 peers objects to control. - type: array - items: - type: string - x-constraint: - - /components/schemas/RoCEv2.V4Peer/properties/name - - /components/schemas/RoCEv2.V6Peer/properties/name - x-field-uid: 1 - restart_delay: - description: |- - Duration (in seconds) after which selected RoCEv2 peers will initiate - Graceful restart by sending the Open Message with Restart State bit set in the Graceful Restart capability. - type: integer - format: uint32 - maximum: 3600 - default: 30 - x-field-uid: 2 - \ No newline at end of file diff --git a/device/rocev2/flowsettings.yaml b/device/rocev2/flowsettings.yaml index 7b18d365..c3e58bb3 100644 --- a/device/rocev2/flowsettings.yaml +++ b/device/rocev2/flowsettings.yaml @@ -8,18 +8,6 @@ components: Default value for commands at Remote peer is set to None. So that by default, this remote peer does not initiate any traffic flow. type: object - properties: - local_end: - $ref: './flowsettings.yaml#/components/schemas/RoCEv2.FlowSettings.LocalEnd' - x-field-uid: 1 - remote_end: - $ref: './flowsettings.yaml#/components/schemas/RoCEv2.FlowSettings.RemoteEnd' - x-field-uid: 2 - - RoCEv2.FlowSettings.LocalEnd: - description: >- - Local End Flow Settings - type: object properties: custom_qp: description: |- @@ -63,15 +51,21 @@ components: minimum: 0 maximum: 65535 x-field-uid: 5 - execute_commands: + rocev2_verb: description: >- - UDP source port number for this flow. + RoCEv2 Verb, Available options are: RDMA WRITE None: The corresponding flow will not take part in traffic.. type: string x-enum: none: x-field-uid: 1 - RDMAWrite: + write: x-field-uid: 2 + write_with_immediate: + x-field-uid: 3 + send: + x-field-uid: 4 + send_with_immediate: + x-field-uid: 5 x-field-uid: 6 immediate_data: description: >- @@ -119,130 +113,4 @@ components: minimum: 0 maximum: 33554431 x-field-uid: 10 - RoCEv2.FlowSettings.RemoteEnd: - description: >- - Remote End Flow Settings - type: object - properties: - custom_qp: - description: |- - Turn on to define QP number. - type: boolean - default: false - x-field-uid: 1 - custom_qp_number: - description: >- - Configure the QP range. - type: integer - format: uint32 - default: 2 - minimum: 2 - maximum: 33554431 - x-field-uid: 2 - dscp: - description: >- - DSCP value for this flow - type: integer - format: uint32 - default: 24 - minimum: 0 - maximum: 63 - x-field-uid: 3 - ecn: - description: >- - This field allows to configure bits of the Traffic Class field in the IPv4 or IPv6 header to encode four different code points. - type: integer - format: uint32 - default: 1 - minimum: 0 - maximum: 3 - x-field-uid: 4 - udp_source_port: - description: >- - UDP source port number for this flow. - type: integer - format: uint32 - default: 49152 - minimum: 0 - maximum: 65535 - x-field-uid: 5 - execute_commands: - description: >- - UDP source port number for this flow. - type: string - x-enum: - none: - x-field-uid: 1 - RDMAWrite: - x-field-uid: 2 - x-field-uid: 6 - immediate_data: - description: >- - Immediate Data field required for SEND/WRITE with immediate verb. - type: string - format: hex - default: "00000000" - x-field-uid: 7 - message_size: - description: >- - The Maximum message size that is allowed to transfer depends on the MTU size and the number of VLANs configured on the interfaces. - For any MTU, the maximum number of segmented RDMA WRITE packets for a single WRITE MESSAGE is 65535. - That is, a single RDMA WRITE message can be broken into 1 WRITE FIRST, 1 WRITE LAST and (65535-2) WRITE MIDDLE messages. - The maximum message size that is allowed to be transferred for a given MTU is constrained by the above conditions. - For example, for an MTU size of 1500 bytes, - the common header of the RDMA WRITE MIDDLE/LAST will comprise of - Ethernet Header + IP Header + UDP Header + BTH Header + iCRC size + Ethernet Trailer size. This works out to be 14+20+8+12+4+4 = 62 bytes. - For RDMA WRITE FIRST, we need to add the RETH header size of 16 bytes to the above, which adds up to 78 bytes. - Then the maximum message size for 1500 MTU without VLAN becomes: - 1500 - WRITE FIRST common header + 65534 * (1500 - WRITE LAST/MIDDLE header size) = 1500 - 78 + 65534 * (1500 - 62) = 94239314 bytes or 89 MB. - type: integer - format: uint32 - default: 1 - minimum: 0 - maximum: 65535 - x-field-uid: 8 - message_size_unit: - description: >- - Unit of the transfer message size. Available options are Bytes, KB, MB. - type: string - x-enum: - Byte: - x-field-uid: 1 - KB: - x-field-uid: 2 - MB: - x-field-uid: 3 - x-field-uid: 9 - remote_qp_number: - description: >- - Remote QP Number. - type: integer - format: uint32 - default: 0 - minimum: 0 - maximum: 33554431 - x-field-uid: 10 - virtual_address: - description: >- - Remote virtual address. - type: string - format: hex - default: "0000000000000000" - x-field-uid: 11 - remote_key: - description: >- - Remote Key. - type: string - format: hex - default: "00000000" - x-field-uid: 12 - initial_psn: - description: >- - Initial PSN. - type: integer - format: uint32 - default: 0 - minimum: 0 - maximum: 33554431 - x-field-uid: 13 - + \ No newline at end of file diff --git a/device/rocev2/rocev2.yaml b/device/rocev2/rocev2.yaml index ef42e8f8..9aae66d9 100644 --- a/device/rocev2/rocev2.yaml +++ b/device/rocev2/rocev2.yaml @@ -29,14 +29,14 @@ components: properties: max_num_of_qp: description: >- - Maximum number of QP per External Endpoint. + Maximum number of QP per Endpoint. type: integer x-field-uid: 1 remote_end_point_ip_address: description: >- - Specify the IPv4 address of External NIC i.e Remote End Point IP Address. + Specify the IP address of External NIC i.e Remote End Point IP Address. type: string - format: ipv4 + format: ip x-field-uid: 2 ib_mtu: description: >-