Easy RoCE
此内容尚不支持你的语言。
Easy RDMA over Converged Ethernet.
| URL | GET | POST | PATCH | PUT | DELETE |
|---|---|---|---|---|---|
| /rest/v1/rpc/qos-roce-no-accept-from-interface | N | Y | N | N | N |
| /rest/v1/rpc/show-counters-qos-roce | N | Y | N | N | N |
| /rest/v1/rpc/clear-counters-qos-roce | N | Y | N | N | N |
| /rest/v1/rpc/qos-roce-bind-interface | N | Y | N | N | N |
| /rest/v1/rpc/qos-roce-no-bind-interface | N | Y | N | N | N |
| /rest/v1/rpc/qos-roce-publish-via-interface | N | Y | N | N | N |
| /rest/v1/rpc/qos-roce-no-publish-via-interface | N | Y | N | N | N |
| /rest/v1/rpc/show-qos-roce-all | N | Y | N | N | N |
| /rest/v1/rpc/show-qos-roce-summary | N | Y | N | N | N |
| /rest/v1/running/roce | Y | N | Y | N | N |
| /rest/v1/running/roce/roce-accept | Y | N | Y | N | N |
| /rest/v1/running/roce/roce-profiles/{name} | Y | Y | Y | N | Y |
Examples
Section titled “Examples”Get the RoCE configuration.
Section titled “Get the RoCE configuration.”GET HTTPS://{switch IP}/rest/v1/running/roceresponse:
{ "roce-accept": {}, "roce-profiles": [ { "name": "roce_lossless_5m_medium", "mode": "lossless", "bind-interfaces": [ "Ethernet4:4", "Ethernet11:3", ...... "Ethernet24:3" ], "cable-length": "CABLE_5m", "incast-level": "medium", "class-maps": [ "roce_lossless_5m_medium_200g_class_map" ], "policy-maps": [ "roce_lossless_5m_medium_200g@queue-scheduler priority queue 6@queue-scheduler priority queue 7" ], "wred-profiles": [ "roce_lossless_5m_medium_200g_ecn" ], "buffer-profiles": [ "roce_lossless_5m_medium_200g_profile" ], "diffserv-maps": [ "roce_lossless_diffserv_map" ] } ]}Update the RoCE accept.
Section titled “Update the RoCE accept.”PATCH HTTPS://{switch IP}/rest/v1/running/roce/roce-accept{ "interfaces": ["Ethernet1", "Ethernet52"]}Create a RoCE profile.
Section titled “Create a RoCE profile.”POST HTTPS://{switch IP}/rest/v1/running/roce/roce-profiles{ "name": "roce_lossless", "mode": "lossless"}Tree Diagrams
Section titled “Tree Diagrams” +--rw roce +--rw roce-accept | +--rw interfaces* +--rw roce-profiles +--rw roce-profile* [name] +--rw name +--rw mode +--rw publish-via* +--rw bind-interfaces* +--rw cable-length? +--rw incast-level? +--rw traffic-model? +--ro class-maps* +--ro policy-maps* +--ro wred-profiles* +--ro buffer-profiles* +--ro diffserv-maps*Properties Descriptions
Section titled “Properties Descriptions”RoCE accept interfaces
Section titled “RoCE accept interfaces”Tree Diagrams
+--rw roce +--rw roce-accept | +--rw interfaces*Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| roce | M | Path-only node, has no configurable value. | |
| roce-accept | M | (sub-property of roce) | |
| Path-only node, has no configurable value. | |||
| interfaces | O | Ethernet name | (sub-property of roce-accept) |
| Accept or not RoCE configuration from specific port |
RoCE profiles
Section titled “RoCE profiles”Tree Diagrams
+--rw roce +--rw roce-profiles +--rw roce-profile* [name] +--rw name +--rw mode +--rw publish-via* +--rw bind-interfaces* +--rw cable-length? +--rw incast-level? +--rw traffic-model? +--ro class-maps* +--ro policy-maps* +--ro wred-profiles* +--ro buffer-profiles* +--ro diffserv-maps*Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| roce | M | Path-only node, has no configurable value. | |
| roce-profiles | M | (sub-property of roce) | |
| Path-only node, has no configurable value. | |||
| Easy RoCE top level container | |||
| name | M | string | (sub-property of roce-profiles) |
| RoCE profile name; The name normally likes “roce_xxx” and it would add three parts if “cable-length”, “incast-level”, “traffic-model” in body.For example, the name will be “roce_lossless_5m_low_latency” if user configures those three parts in body. | |||
| mode | M | ”lossless" | |
| "lossy” | (sub-property of roce-profiles) | ||
| Trans mode for RoCE profile. | |||
| publish-via | O | Ethernet name | (sub-property of roce-profiles) |
| Publish or not current RoCE configurations via specific ports. | |||
| bind-interfaces | O | Ethernet name | (sub-property of roce-profiles) |
| Apply or not current RoCE configuration on specific ports. | |||
| cable-length | O | ”CABLE_5m" | |
| "CABLE_40m" | |||
| "CABLE_100m" | |||
| "CABLE_300m” | (sub-property of roce-profiles) | ||
| Cable length on the link. | |||
| incast-level | O | ”low" | |
| "medium" | |||
| "high” | (sub-property of roce-profiles) | ||
| Traffic incast level on the link.The Incast phenomenon refers to a situation where multiple source nodes send data packets to a single destination node, causing these packets to converge on one or several intermediate nodes in the network. This results in those nodes or links experiencing excessive traffic pressure. We quantify three possible levels-low, medium, and high-as follows: low => 1:1, medium => 3:1, and high => 10:1. These ratios are then used to calculate the ratio of uplink to downlink ports on the switch, which helps determine the PFC (Priority-based Flow Control) dynamic threshold (dynamic_th). In cases where the actual convergence ratio does not match the quantified results, parameters should be selected based on the lower level.For example, a convergence ratio of 2:1 corresponds to low, while a ratio of 8:1 would correspond to medium. | |||
| traffic-model | O | ”throughput" | |
| "latency" | |||
| "balance” | (sub-property of roce-profiles) | ||
| Traffic model on the link.This parameter offers three options.According to the standard configuration manual, for throughput-sensitive services, it is recommended to set the ECN max_th (maximum threshold for Explicit Congestion Notification) to 10%; for latency-sensitive services, it is suggested to set the ECN max_th to 90%. Using the midpoint of these two values, (10% + 90%) / 2 = 50%, we quantify the traffic model into weights. Consequently, a weight of 0.2 is assigned for throughput-sensitive services and a weight of 1.8 for latency-sensitive services. | |||
| class-maps | RO | class-map name | (sub-property of roce-profiles) |
| Class-map that profile has bound. | |||
| policy-maps | RO | policy-map name | (sub-property of roce-profiles) |
| Policy-map that profile has bound. | |||
| wred-profiles | RO | wred-profile name | (sub-property of roce-profiles) |
| Wred-profile that profile has bound. | |||
| buffer-profiles | RO | buffer-profile name | (sub-property of roce-profiles) |
| Buffer-profile that profile has bound. | |||
| diffserv-maps | RO | dscp-tc-map name | |
| dot1p-tc-map name | (sub-property of roce-profiles) | ||
| Diffserv-map that profile has bound. |
Qos-roce-accept-from-interface
Section titled “Qos-roce-accept-from-interface”Tree Diagrams
+---x qos-roce-accept-from-interface | +---w input | | +---w interfaces | +--ro output | +--ro data?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos-roce-accept-from-interface | M | Path-only node, has no configurable value. | |
| Command “qos roce accept-from interface” means platform could receive roce configuration from a part of ethernet ports on the platform. | |||
| interfaces | M | ”all” Ethernet name range, eg. Ethernet1-Ethernet10 | (sub-property of input) |
| Accept RoCE configuration from specific port. | |||
| data | RO | (sub-property of output) |
Qos-roce-no-accept-from-interface
Section titled “Qos-roce-no-accept-from-interface”Tree Diagrams
+---x qos-roce-no-accept-from-interface | +---w input | | +---w interfaces | +--ro output | +--ro data?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos-roce-no-accept-from-interface | M | Path-only node, has no configurable value. | |
| Command “no qos roce accept-from interface” means platform could not receive roce configuration from a part of ethernet ports on the platform any more. | |||
| interfaces | M | ”all” Ethernet name range, eg. Ethernet1-Ethernet10 | (sub-property of input) |
| Accept RoCE configuration from specific port. | |||
| data | RO | (sub-property of output) |
Qos-roce-bind-interface
Section titled “Qos-roce-bind-interface”Tree Diagrams
+---x qos-roce-bind-interface | +---w input | | +---w name | | +---w interfaces | +--ro output | +--ro data?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos-roce-bind-interface | M | Path-only node, has no configurable value. | |
| Command “bind interface” means the roce profile under current view would be bound to a part of ethernet ports on the platform. | |||
| name | M | roce profile name | (sub-property of input) |
| RoCE profile name; The name normally likes “roce_xxx”. | |||
| interfaces | M | ”all” Ethernet name range, eg. Ethernet1-Ethernet10 | (sub-property of input) |
| Apply current RoCE configuration on specific ports. | |||
| data | RO | (sub-property of output) |
Qos-roce-no-bind-interface
Section titled “Qos-roce-no-bind-interface”Tree Diagrams
+---x qos-roce-no-bind-interface | +---w input | | +---w name | | +---w interfaces | +--ro output | +--ro data?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos-roce-no-bind-interface | M | Path-only node, has no configurable value. | |
| Command “bind interface all” means the roce profile under current view would not be bound to a part of ethernet ports on the platform any more. | |||
| name | M | roce profile name | (sub-property of input) |
| RoCE profile name; The name normally likes “roce_xxx”. | |||
| interfaces | M | ”all” Ethernet name range, eg. Ethernet1-Ethernet10 | (sub-property of input) |
| Apply current RoCE configuration on specific ports. | |||
| data | RO | (sub-property of output) |
Qos-roce-publish-via-interface
Section titled “Qos-roce-publish-via-interface”Tree Diagrams
+---x qos-roce-publish-via-interface | +---w input | | +---w name | | +---w interfaces | +--ro output | +--ro data?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos-roce-publish-via-interface | M | Path-only node, has no configurable value. | |
| Command “publish-via interface” means platform would publish roce profile configuration to all the ethernet ports on the platform. | |||
| name | M | roce profile name | (sub-property of input) |
| RoCE profile name; The name normally likes “roce_xxx”. | |||
| interfaces | M | ”all” Ethernet name range, eg. Ethernet1-Ethernet10 | (sub-property of input) |
| Publish or not current RoCE configurations via specific ports. | |||
| data | RO | (sub-property of output) |
Qos-roce-no-publish-via-interface
Section titled “Qos-roce-no-publish-via-interface”Tree Diagrams
+---x qos-roce-no-publish-via-interface | +---w input | | +---w name | | +---w interfaces | +--ro output | +--ro data?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| qos-roce-no-publish-via-interface | M | Path-only node, has no configurable value. | |
| Command “no publish-via interface” means platform would not publish roce profile configuration to all the ethernet ports on the platform. | |||
| name | M | roce profile name | (sub-property of input) |
| RoCE profile name; The name normally likes “roce_xxx”. | |||
| interfaces | M | ”all” Ethernet name range, eg. Ethernet1-Ethernet10 | (sub-property of input) |
| Apply current RoCE configuration on specific ports. | |||
| data | RO | (sub-property of output) |
Show-qos-roce-all
Section titled “Show-qos-roce-all”Tree Diagrams
+---x show-qos-roce-all | +--ro output | +--ro roce-profiles | +--ro roce-profile* [name] | +--ro name | +--ro mode? | +--ro cable-length? | +--ro policy-maps | +--ro policy-map* [name] | +--ro name | +--ro diffserv-map-type? | +--ro bind-interfaces* | +--ro congestion-control | | +--ro congestion-mode? | | +--ro enabled-tc* | | +--ro min-threshold? | | +--ro max-threshold? | +--ro priority-flow-control | | +--ro pfc-tc* | | +--ro tx-status? | | +--ro rx-status? | +--ro dscp-tc-mapping | | +--ro mapping* [dscp] | | +--ro dscp | | +--ro tc? | +--ro dot1-tc-mapping | | +--ro mapping* [dot1p] | | +--ro dot1p | | +--ro tc? | +--ro queue-schedulers | | +--ro queue-scheduler* [queue-id] | | +--ro queue-id | | +--ro algorithm? | | +--ro weight? | +--ro pfc-profiles | +--ro pfc-profile* [name] | +--ro name | +--ro switch-priority*Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-qos-roce-all | M | Path-only node, has no configurable value. | |
| Show all the RoCE profiles configured on the platform. | |||
| roce-profiles | RO | (sub-property of output) | |
| Path-only node, has no configurable value. | |||
| name | RO | roce profile name | (sub-property of roce-profiles) |
| mode | RO | ”lossless" | |
| "lossy” | (sub-property of roce-profiles) | ||
| cable-length | RO | ”CABLE_5m" | |
| "CABLE_40m" | |||
| "CABLE_100m" | |||
| "CABLE_300m” | (sub-property of roce-profiles) | ||
| policy-maps | RO | (sub-property of roce-profiles) | |
| Path-only node, has no configurable value. | |||
| name | RO | ”qos:qos/policy-maps/policy-map/name” | (sub-property of policy-maps) |
| diffserv-map-type | RO | ”dscp" | |
| "dot1p” | (sub-property of policy-maps) | ||
| bind-interfaces | RO | Ethernet name | (sub-property of policy-maps) |
| Bind status is a boolean which means roce profile is binded to ports or not. | |||
| congestion-control | RO | (sub-property of policy-maps) | |
| Path-only node, has no configurable value. | |||
| congestion-mode | RO | ”ecn" | |
| "drop” | (sub-property of congestion-control) | ||
| enabled-tc | RO | 0..7 | (sub-property of congestion-control) |
| min-threshold | RO | uint64 | (sub-property of congestion-control) |
| max-threshold | RO | uint64 | (sub-property of congestion-control) |
| priority-flow-control | RO | (sub-property of policy-maps) | |
| Path-only node, has no configurable value. | |||
| pfc-tc | RO | 0..7 | (sub-property of priority-flow-control) |
| tx-status | RO | ”true" | |
| "false” | (sub-property of priority-flow-control) | ||
| rx-status | RO | ”true" | |
| "false” | (sub-property of priority-flow-control) | ||
| dscp-tc-mapping | RO | (sub-property of policy-maps) | |
| Path-only node, has no configurable value. | |||
| Only applicable when diffserv-map-type = “dscp”. | |||
| mapping | RO | (sub-property of dscp-tc-mapping) | |
| Path-only node, has no configurable value. | |||
| Mapping relationship between dscp value and traffic class | |||
| dscp | RO | 0..63 | (sub-property of mapping) |
| The value of dscp | |||
| tc | RO | 0..7 | (sub-property of mapping) |
| The value of traffic class | |||
| dot1-tc-mapping | RO | (sub-property of policy-maps) | |
| Path-only node, has no configurable value. | |||
| Only applicable when diffserv-map-type = “dot1p”. | |||
| mapping | RO | (sub-property of dot1-tc-mapping) | |
| Path-only node, has no configurable value. | |||
| Mapping relationship between dot1p value and traffic class | |||
| dot1p | RO | 0..7 | (sub-property of mapping) |
| The value of dot1p | |||
| tc | RO | 0..7 | (sub-property of mapping) |
| The value of traffic class | |||
| queue-schedulers | RO | (sub-property of policy-maps) | |
| Path-only node, has no configurable value. | |||
| Only applicable when mode = “lossless”. | |||
| queue-id | RO | 0..7 | (sub-property of queue-schedulers) |
| algorithm | RO | ”STRICT" | |
| "DWRR” | (sub-property of queue-schedulers) | ||
| weight | RO | 0..100 | (sub-property of queue-schedulers) |
| Only applicable when algorithm = “DWRR”. | |||
| pfc-profiles | RO | (sub-property of policy-maps) | |
| Path-only node, has no configurable value. | |||
| name | RO | ”qos:qos/profiles/buffer-profiles/buffer-profile/name” | (sub-property of pfc-profiles) |
| switch-priority | RO | 0..7 | (sub-property of pfc-profiles) |
Show-qos-roce-summary
Section titled “Show-qos-roce-summary”Tree Diagrams
+---x show-qos-roce-summary | +--ro output | +--ro roce-profiles | +--ro roce-profile* [name] | +--ro name | +--ro mode? | +--ro bind-status?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-qos-roce-summary | M | Path-only node, has no configurable value. | |
| Show summary information of all the RoCE profiles configured on the platform. | |||
| roce-profiles | RO | (sub-property of output) | |
| Path-only node, has no configurable value. |
|| name | RO | roce profile name | (sub-property of roce-profiles) | | mode | RO | “lossless” “lossy” | (sub-property of roce-profiles) | | bind-status | RO | “true” “false” | (sub-property of roce-profiles) Bind status is a boolean which means roce profile is binded to ports or not. |
Show-counters-qos-roce
Section titled “Show-counters-qos-roce”Tree Diagrams
+---x show-counters-qos-roce | +---w input | | +---w interface-name | | +---w queue-id | +--ro output | +--ro roce-states | | +--ro interface-name? | | +--ro queue-id? | +--ro pfc-stats | | +--ro receive-stats? | | +--ro transmit-stats? | | +--ro pg-stats | | +--ro total-packets? | | +--ro total-bytes? | | +--ro drop-packets? | | +--ro curr-occupancy? | +--ro ecn-stats | | +--ro ecn-counters? | | +--ro ecn-buffer | | +--ro shared-use-watermark? | | +--ro total-use-watermark? | | +--ro total-use-count? | +--ro queue-stats | +--ro counter-packets? | +--ro counter-bytes? | +--ro drop-packets? | +--ro drop-bytes? | +--ro counter-rate-packets? | +--ro counter-rate-bytes? | +--ro drop-rate-packets? | +--ro drop-rate-bytes? | +--ro occupancy-bytes? | +--ro shared-occupancy-bytes?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| show-counters-qos-roce | M | Path-only node, has no configurable value. | |
| Show QoS RoCE counters | |||
| interface-name | M | Ethernet name | (sub-property of input) |
| Interface name | |||
| queue-id | M | 0..7 | (sub-property of input) |
| Queue id | |||
| roce-states | RO | (sub-property of output) | |
| Path-only node, has no configurable value. | |||
| interface-name | RO | Ethernet name | (sub-property of roce-states) |
| Ethernet port name | |||
| queue-id | RO | 0..7 | (sub-property of roce-states) |
| Specfic traffic queue of port | |||
| pfc-stats | RO | (sub-property of output) | |
| Path-only node, has no configurable value. | |||
| receive-stats | RO | uint64 | (sub-property of pfc-stats) |
| Pause frame statistics that port has recevied. | |||
| transmit-stats | RO | uint64 | (sub-property of pfc-stats) |
| Pause frame statistics that port has transmitted. | |||
| pg-stats | RO | (sub-property of pfc-stats) | |
| Path-only node, has no configurable value. | |||
| total-packets | RO | uint64 | (sub-property of pg-stats) |
| The total number of packets received by this priority group since the last polling (in packets). | |||
| total-bytes | RO | uint64 | (sub-property of pg-stats) |
| Counter/bytes: The total number of bytes received by this priority group since the last polling (in bytes). | |||
| drop-packets | RO | uint64 | (sub-property of pg-stats) |
| The number of packets dropped by this priority group due to queue overflow or policies (such as RED/PFCWD drop) since the last polling. | |||
| curr-occupancy | RO | uint64 | (sub-property of pg-stats) |
| The current or peak occupancy level of the per PG buffer, in bytes. | |||
| ecn-stats | RO | (sub-property of output) | |
| Path-only node, has no configurable value. | |||
| ecn-counters | RO | uint64 | (sub-property of ecn-stats) |
| Statistics of packets which is marked by wred-ecn function. | |||
| ecn-buffer | RO | (sub-property of ecn-stats) | |
| Path-only node, has no configurable value. | |||
| shared-use-watermark | RO | uint64 | (sub-property of ecn-buffer) |
| The maximum number of bytes occupied by this priority group in the shared buffer pool since the last water level reset. | |||
| total-use-watermark | RO | uint64 | (sub-property of ecn-buffer) |
| The maximum number of bytes occupied by the priority group in its private or total buffer. | |||
| total-use-count | RO | uint64 | (sub-property of ecn-buffer) |
| The priority group accumulates (total) the number of bytes read or written from the dedicated buffer during the query cycle. | |||
| queue-stats | RO | (sub-property of output) | |
| Path-only node, has no configurable value. | |||
| counter-packets | RO | uint64 | (sub-property of queue-stats) |
| The total number of successfully joined (or sent) messages in this queue since power on or reset. | |||
| counter-bytes | RO | uint64 | (sub-property of queue-stats) |
| The corresponding cumulative number of bytes (including frame headers), which is the total number of bytes occupied by these messages. | |||
| drop-packets | RO | uint64 | (sub-property of queue-stats) |
| The total number of messages that have been discarded in the queue due to congestion, policies (such as WRED, PFC exceeding limits), and other reasons. | |||
| drop-bytes | RO | uint64 | (sub-property of queue-stats) |
| The cumulative number of bytes corresponding to the discarded message. | |||
| counter-rate-packets | RO | 0.0..max | (sub-property of queue-stats) |
| The number of successfully queued messages per second. | |||
| counter-rate-bytes | RO | 0.0..max | (sub-property of queue-stats) |
| The number of bytes successfully logged in per second. | |||
| drop-rate-packets | RO | 0.0..max | (sub-property of queue-stats) |
| The number of messages discarded per second. | |||
| drop-rate-bytes | RO | 0.0..max | (sub-property of queue-stats) |
| The number of bytes discarded per second. | |||
| occupancy-bytes | RO | uint64 | (sub-property of queue-stats) |
| Indicates the size of the local buffer currently in use for the queue (in bytes), which is equivalent to the total size of unprocessed messages in the queue. Buffer occupancy can be considered as buffer occupancy: the amount of data in the queue that has not yet left the queue | |||
| shared-occupancy-bytes | RO | uint64 | (sub-property of queue-stats) |
| When the device uses a shared buffer pool, this field displays the number of bytes occupied by the queue in the shared pool. The shared buffer mechanism allows multiple queues to dynamically request larger memory to cope with sudden traffic |
Clear-counters-qos-roce
Section titled “Clear-counters-qos-roce”Tree Diagrams
+---x clear-counters-qos-roce +--ro output +--ro data?Table of Properties
| Name | Required | Type/Range | Description |
|---|---|---|---|
| clear-counters-qos-roce | M | Path-only node, has no configurable value. | |
| Clear QoS RoCE counters | |||
| data | RO | (sub-property of output) |