Download OpenAPI specification:Download
The Open Network Experiments API and Data Models
Sets the ONEx configuration.
Array of objects (Host) | |
object (Fabric) | |
object (Dataflow) | |
object (Chaos) Configuration of chaos experiments | |
object (Insights) Configuration of insights providing methods | |
Array of objects (L1SettingsProfile) A list of Layer 1 settings profiles |
{- "hosts": [
- {
- "name": "string",
- "address": "string",
- "prefix": 24,
- "l1_profile_name": "string"
}
], - "fabric": {
- "choice": "clos",
- "clos": {
- "spine": {
- "count": 1,
- "downlink_ecmp_mode": "random_spray",
- "qos_profile_name": "string"
}, - "pods": [
- {
- "count": 1,
- "pod_profile_name": "string"
}
], - "host_links": [
- {
- "host_name": "string",
- "host_type": "external",
- "front_panel_port": 0,
- "choice": "tor",
- "spine": 1,
- "pod": {
- "pod_index": 1,
- "switch_index": 1
}, - "tor": {
- "pod_index": 1,
- "switch_index": 1
}
}
], - "pod_profiles": [
- {
- "name": "string",
- "pod_switch": {
- "count": 1,
- "uplink_ecmp_mode": "random_spray",
- "downlink_ecmp_mode": "random_spray",
- "qos_profile_name": "string"
}, - "tors": [
- {
- "count": 1,
- "tor_profile_name": "string"
}
], - "pod_to_spine_oversubscription": "string"
}
], - "tor_profiles": [
- {
- "name": "string",
- "tor_mode": "layer2",
- "uplink_ecmp_mode": "random_spray",
- "qos_profile_name": "string",
- "tor_to_pod_oversubscription": {
- "ratio": "string",
- "mode": "use_host_capacity",
- "host_capacity": 1
}
}
], - "parallel_fabric_count": 1
}, - "qos_profiles": [
- {
- "name": "string",
- "ingress_admission": {
- "reserved_buffer_bytes": 0,
- "shared_buffer_bytes": 0,
- "priority_list": [
- "0"
]
}, - "scheduler": {
- "scheduler_mode": "strict_priority",
- "weight_list": [
- 0
]
}, - "packet_classification": {
- "map_dscp_to_traffic_class": {
- "property1": "string",
- "property2": "string"
}, - "map_traffic_class_to_queue": {
- "property1": "string",
- "property2": "string"
}
}, - "wred": {
- "queue_list": [
- 0
], - "ecn_marking_enabled": false,
- "min_threshold_bytes": 1,
- "max_threshold_bytes": 2,
- "max_probability_percent": 100
}, - "pfc": {
- "enabled": false,
- "priority_list": [
- 0
], - "headroom_buffer_bytes": 0,
- "resume_threshold_bytes": 0
}
}
]
}, - "dataflow": {
- "host_management": [
- {
- "host_name": "string",
- "nic_rx_buffer": 0,
- "nic_tx_buffer": 0,
- "nic_speed": 0,
- "management_address": "string",
- "nic_name": "string"
}
], - "workload": [
- {
- "name": "string",
- "choice": "scatter",
- "scatter": {
- "sources": [
- "string"
], - "destinations": [
- "string"
], - "flow_profile_name": "string"
}, - "gather": {
- "sources": [
- "string"
], - "destinations": [
- "string"
], - "flow_profile_name": "string"
}, - "loop": {
- "iterations": 0,
- "children": [
- { }
]
}, - "compute": {
- "nodes": [
- "string"
], - "choice": "simulated",
- "simulated": {
- "duration": 0
}
}, - "all_reduce": {
- "nodes": [
- "string"
], - "flow_profile_name": "string",
- "type": "ring"
}, - "broadcast": {
- "sources": [
- "string"
], - "destinations": [
- "string"
], - "flow_profile_name": "string"
}, - "all_to_all": {
- "nodes": [
- "string"
], - "flow_profile_name": "string"
}
}
], - "flow_profiles": [
- {
- "name": "string",
- "data_size": 0,
- "l2_protocol_choice": "ethernet",
- "ethernet": {
- "mtu": 1500
}, - "l4_protocol_choice": "tcp",
- "ip": {
- "dscp": 0
}, - "tcp": {
- "congestion_algorithm": "cubic",
- "initcwnd": 0,
- "send_buf": 0,
- "receive_buf": 0,
- "delayed_ack": 0,
- "selective_ack": true,
- "min_rto": 0,
- "mss": 1500,
- "ecn": true,
- "enable_timestamp": true,
- "destination_port": {
- "choice": "single_value",
- "single_value": {
- "value": 1
}, - "range": {
- "start_value": 1,
- "increment": 1
}
}, - "source_port": {
- "choice": "single_value",
- "single_value": {
- "value": 1
}, - "range": {
- "start_value": 1,
- "increment": 1
}
}
}, - "udp": { }
}
]
}, - "chaos": {
- "background_traffic": {
- "flows": [
- {
- "name": "string",
- "injection_port": "string",
- "choice": "stateless",
- "stateless": {
- "rate": 0,
- "transmission_mode": "continuous",
- "packet": {
- "src_address": "string",
- "dst_address": "string",
- "src_port": 1024,
- "dst_port": 1024,
- "size": 1000,
- "l4_protocol": "tcp",
- "ds_field": {
- "dscp": 0,
- "ecn": 0
}
}, - "burst": {
- "transmit_duration": 0,
- "transmit_gap": 0,
- "unit": "ms"
}
}
}
]
}, - "drop_frames": [
- {
- "name": "string",
- "link": "string",
- "mode": "percentage_time",
- "percentage": 5,
- "interval": 1
}
]
}, - "insights": {
- "port_mirroring": [
- {
- "name": "string",
- "source_port": "string",
- "destination_port": 0,
- "mirror_type": "ingress_frames"
}
]
}, - "layer1_profiles": [
- {
- "name": "string",
- "link_speed": "speed_100_gbps",
- "choice": "autonegotiation",
- "autonegotiation": {
- "advertise_fec": true
}, - "manual": {
- "fec_mode": "reed_solomon"
}
}
]
}
{- "warnings": [
- {
- "message": "string",
- "code": 0,
- "detail": "string"
}
]
}
{- "hosts": [
- {
- "name": "string",
- "address": "string",
- "prefix": 24,
- "l1_profile_name": "string"
}
], - "fabric": {
- "choice": "clos",
- "clos": {
- "spine": {
- "count": 1,
- "downlink_ecmp_mode": "random_spray",
- "qos_profile_name": "string"
}, - "pods": [
- {
- "count": 1,
- "pod_profile_name": "string"
}
], - "host_links": [
- {
- "host_name": "string",
- "host_type": "external",
- "front_panel_port": 0,
- "choice": "tor",
- "spine": 1,
- "pod": {
- "pod_index": 1,
- "switch_index": 1
}, - "tor": {
- "pod_index": 1,
- "switch_index": 1
}
}
], - "pod_profiles": [
- {
- "name": "string",
- "pod_switch": {
- "count": 1,
- "uplink_ecmp_mode": "random_spray",
- "downlink_ecmp_mode": "random_spray",
- "qos_profile_name": "string"
}, - "tors": [
- {
- "count": 1,
- "tor_profile_name": "string"
}
], - "pod_to_spine_oversubscription": "string"
}
], - "tor_profiles": [
- {
- "name": "string",
- "tor_mode": "layer2",
- "uplink_ecmp_mode": "random_spray",
- "qos_profile_name": "string",
- "tor_to_pod_oversubscription": {
- "ratio": "string",
- "mode": "use_host_capacity",
- "host_capacity": 1
}
}
], - "parallel_fabric_count": 1
}, - "qos_profiles": [
- {
- "name": "string",
- "ingress_admission": {
- "reserved_buffer_bytes": 0,
- "shared_buffer_bytes": 0,
- "priority_list": [
- "0"
]
}, - "scheduler": {
- "scheduler_mode": "strict_priority",
- "weight_list": [
- 0
]
}, - "packet_classification": {
- "map_dscp_to_traffic_class": {
- "property1": "string",
- "property2": "string"
}, - "map_traffic_class_to_queue": {
- "property1": "string",
- "property2": "string"
}
}, - "wred": {
- "queue_list": [
- 0
], - "ecn_marking_enabled": false,
- "min_threshold_bytes": 1,
- "max_threshold_bytes": 2,
- "max_probability_percent": 100
}, - "pfc": {
- "enabled": false,
- "priority_list": [
- 0
], - "headroom_buffer_bytes": 0,
- "resume_threshold_bytes": 0
}
}
]
}, - "dataflow": {
- "host_management": [
- {
- "host_name": "string",
- "nic_rx_buffer": 0,
- "nic_tx_buffer": 0,
- "nic_speed": 0,
- "management_address": "string",
- "nic_name": "string"
}
], - "workload": [
- {
- "name": "string",
- "choice": "scatter",
- "scatter": {
- "sources": [
- "string"
], - "destinations": [
- "string"
], - "flow_profile_name": "string"
}, - "gather": {
- "sources": [
- "string"
], - "destinations": [
- "string"
], - "flow_profile_name": "string"
}, - "loop": {
- "iterations": 0,
- "children": [
- { }
]
}, - "compute": {
- "nodes": [
- "string"
], - "choice": "simulated",
- "simulated": {
- "duration": 0
}
}, - "all_reduce": {
- "nodes": [
- "string"
], - "flow_profile_name": "string",
- "type": "ring"
}, - "broadcast": {
- "sources": [
- "string"
], - "destinations": [
- "string"
], - "flow_profile_name": "string"
}, - "all_to_all": {
- "nodes": [
- "string"
], - "flow_profile_name": "string"
}
}
], - "flow_profiles": [
- {
- "name": "string",
- "data_size": 0,
- "l2_protocol_choice": "ethernet",
- "ethernet": {
- "mtu": 1500
}, - "l4_protocol_choice": "tcp",
- "ip": {
- "dscp": 0
}, - "tcp": {
- "congestion_algorithm": "cubic",
- "initcwnd": 0,
- "send_buf": 0,
- "receive_buf": 0,
- "delayed_ack": 0,
- "selective_ack": true,
- "min_rto": 0,
- "mss": 1500,
- "ecn": true,
- "enable_timestamp": true,
- "destination_port": {
- "choice": "single_value",
- "single_value": {
- "value": 1
}, - "range": {
- "start_value": 1,
- "increment": 1
}
}, - "source_port": {
- "choice": "single_value",
- "single_value": {
- "value": 1
}, - "range": {
- "start_value": 1,
- "increment": 1
}
}
}, - "udp": { }
}
]
}, - "chaos": {
- "background_traffic": {
- "flows": [
- {
- "name": "string",
- "injection_port": "string",
- "choice": "stateless",
- "stateless": {
- "rate": 0,
- "transmission_mode": "continuous",
- "packet": {
- "src_address": "string",
- "dst_address": "string",
- "src_port": 1024,
- "dst_port": 1024,
- "size": 1000,
- "l4_protocol": "tcp",
- "ds_field": {
- "dscp": 0,
- "ecn": 0
}
}, - "burst": {
- "transmit_duration": 0,
- "transmit_gap": 0,
- "unit": "ms"
}
}
}
]
}, - "drop_frames": [
- {
- "name": "string",
- "link": "string",
- "mode": "percentage_time",
- "percentage": 5,
- "interval": 1
}
]
}, - "insights": {
- "port_mirroring": [
- {
- "name": "string",
- "source_port": "string",
- "destination_port": 0,
- "mirror_type": "ingress_frames"
}
]
}, - "layer1_profiles": [
- {
- "name": "string",
- "link_speed": "speed_100_gbps",
- "choice": "autonegotiation",
- "autonegotiation": {
- "advertise_fec": true
}, - "manual": {
- "fec_mode": "reed_solomon"
}
}
]
}
Updates the state of ONEx configured experiment(s).
object (State.Chaos) |
{- "chaos": {
- "drop_frames": [
- {
- "config_names": [
- "string"
], - "state": "started"
}
], - "background_traffic": [
- {
- "flow_names": [
- "string"
], - "state": "started"
}
]
}
}
{- "warnings": [
- {
- "message": "string",
- "code": 0,
- "detail": "string"
}
]
}