Create an FC interface
POST /network/fc/interfaces
Introduced In: 9.6
Creates an FC interface.
Required properties
-
svm.uuid
orsvm.name
- Existing SVM in which to create the FC interface. -
name
- Name of the FC interface. -
location.port.uuid
or bothlocation.port.name
andlocation.port.node.name
- FC port on which to create the FC interface. -
data_protocol
- Data protocol for the FC interface.
Default property values
If not specified in POST, the following default property values are assigned.
-
enabled
- true
Related ONTAP commands
-
network interface create
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
comment |
string |
A user configurable comment. Optional in POST; valid in PATCH. To clear a prior comment, set the property to an empty string in PATCH. |
data_protocol |
string |
The data protocol for which the FC interface is configured. Required in POST. |
enabled |
boolean |
The administrative state of the FC interface. The FC interface can be disabled to block all FC communication with the SVM through this interface. Optional in POST and PATCH; defaults to true (enabled) in POST. |
location |
The location of the FC interface is defined by the location of its port. An FC port is identified by its UUID, or a combination of its cluster node name and port name. Either the UUID or the cluster node name and port name are required for POST. To move an interface, supply either the port UUID or the cluster node name and port name in a PATCH.
|
|
metric |
Performance numbers, such as IOPS latency and throughput |
|
name |
string |
The name of the FC interface. Required in POST; optional in PATCH. |
port_address |
string |
The port address of the FC interface. Each FC port in an FC switched fabric has its own unique FC port address for routing purposes. The FC port address is assigned by a switch in the fabric when that port logs in to the fabric. This property refers to the address given by a switch to the FC interface when the SVM performs a port login (PLOGI). This is useful for obtaining statistics and diagnostic information from FC switches. This is a hexadecimal encoded numeric value. |
state |
string |
The current operational state of the FC interface. The state is set to down if the interface is not enabled. If the cluster node hosting the port is down or unavailable, no state value is returned. |
statistics |
These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
svm |
||
uuid |
string |
The unique identifier of the FC interface. Required in the URL. |
wwnn |
string |
The world wide node name (WWNN) of the FC interface SVM. The WWNN is generated by ONTAP when Fibre Channel Protocol or the NVMe service is created for the FC interface SVM.
|
wwpn |
string |
The world wide port name (WWPN) of the FC interface. The WWPN is generated by ONTAP when the FC interface is created.
|
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"comment": "string",
"data_protocol": "string",
"location": {
"home_node": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"home_port": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "0a",
"node": {
"name": "node1"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"node": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"port": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "0a",
"node": {
"name": "node1"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"metric": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"duration": "PT15S",
"iops": {
"read": 200,
"total": 1000,
"write": 100
},
"latency": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25T11:20:13Z"
},
"name": "fc_lif1",
"port_address": "5060F",
"state": "string",
"statistics": {
"iops_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"latency_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25T11:20:13Z"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "bce9827d-4d8f-60af-c771-6e8e9af2c6f0",
"wwnn": "20:00:00:50:56:b4:13:01",
"wwpn": "20:00:00:50:56:b4:13:a8"
}
Response
Status: 201, Created
Name | Type | Description |
---|---|---|
_links |
||
num_records |
integer |
The number of records in the response. |
recommend |
Response properties specific to the FC interface placement functionality. See the Interface placement recommendations section of DOC /network/fc/interfaces |
|
records |
array[fc_interface] |
Example response
{
"_links": {
"next": {
"href": "/api/resourcelink"
},
"self": {
"href": "/api/resourcelink"
}
},
"num_records": 1,
"recommend": {
"messages": [
{
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "5375959",
"message": "Network ports are disabled.",
"severity": "informational"
}
]
},
"records": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"comment": "string",
"data_protocol": "string",
"location": {
"home_node": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"home_port": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "0a",
"node": {
"name": "node1"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"node": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"port": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "0a",
"node": {
"name": "node1"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"metric": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"duration": "PT15S",
"iops": {
"read": 200,
"total": 1000,
"write": 100
},
"latency": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25T11:20:13Z"
},
"name": "fc_lif1",
"port_address": "5060F",
"state": "string",
"statistics": {
"iops_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"latency_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25T11:20:13Z"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "bce9827d-4d8f-60af-c771-6e8e9af2c6f0",
"wwnn": "20:00:00:50:56:b4:13:01",
"wwpn": "20:00:00:50:56:b4:13:a8"
}
]
}
Headers
Name | Description | Type |
---|---|---|
Location |
Useful for tracking the resource location |
string |
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
1966140 |
An interface with the same name already exists. |
1966217 |
The specified port is not valid on the node provided. |
2621462 |
The supplied SVM does not exist. |
2621706 |
The specified |
2621707 |
No SVM was specified. Either |
5373966 |
A Fibre Channel interface with the fcp protocol cannot be created in an SVM that is configured for NVMe. |
5374102 |
The specified Fibre Channel interface cannot be created because the Fibre Channel adapter is down. Bring the adapter up and try again. |
5374871 |
The Fibre Channel port identified by the specified UUID does not refer to the same port as that identified by the specified node name and/or port name. |
5374872 |
If either |
5374873 |
The Fibre Channel port must be specified using either |
72089652 |
An NVMe service must be created before creating a Fibre Channel interface using the NVMe over FC data protocol. |
72089672 |
The specified Fibre Channel port does not support the NVMe over FC data protocol. |
72089900 |
A Fibre Channel interface with the fc_nvme protocol cannot be created in an SVM that is configured for a SAN protocol. |
Name | Type | Description |
---|---|---|
error |
Example error
{
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
}
}
Definitions
See Definitions
href
Name | Type | Description |
---|---|---|
href |
string |
_links
Name | Type | Description |
---|---|---|
self |
home_node
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
node
The node on which the FC port is located.
Name | Type | Description |
---|---|---|
name |
string |
The name of the node on which the FC port is located. |
home_port
An FC port is the physical port of an FC adapter on a cluster node that can be connected to an FC network.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the FC port. |
node |
The node on which the FC port is located. |
|
uuid |
string |
The unique identifier of the FC port. |
node
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
port
An FC port is the physical port of an FC adapter on a cluster node that can be connected to an FC network.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the FC port. |
node |
The node on which the FC port is located. |
|
uuid |
string |
The unique identifier of the FC port. |
location
The location of the FC interface is defined by the location of its port. An FC port is identified by its UUID, or a combination of its cluster node name and port name. Either the UUID or the cluster node name and port name are required for POST. To move an interface, supply either the port UUID or the cluster node name and port name in a PATCH.
location.node
and location.port
refer to the current location of the FC interface. This can be different from location.home_node
and location.home_port
in instances where the FC interface has failed over to its HA partner node. The location.node
, location.port
, and location.is_home
properties are not available for interfaces on the inactive side of a MetroCluster relationship.
Name | Type | Description |
---|---|---|
home_node |
||
home_port |
An FC port is the physical port of an FC adapter on a cluster node that can be connected to an FC network. |
|
is_home |
boolean |
Indicates if the FC interface is currently on its home node. |
node |
||
port |
An FC port is the physical port of an FC adapter on a cluster node that can be connected to an FC network. |
iops
The rate of I/O operations observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
latency
The round trip latency in microseconds observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
throughput
The rate of throughput bytes per second observed at the storage object.
Name | Type | Description |
---|---|---|
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
metric
Performance numbers, such as IOPS latency and throughput
Name | Type | Description |
---|---|---|
_links |
||
duration |
string |
The duration over which this sample is calculated. The time durations are represented in the ISO-8601 standard format. Samples can be calculated over the following durations: |
iops |
The rate of I/O operations observed at the storage object. |
|
latency |
The round trip latency in microseconds observed at the storage object. |
|
status |
string |
Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, "ok" on success, or "error" on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_ delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data. |
throughput |
The rate of throughput bytes per second observed at the storage object. |
|
timestamp |
string |
The timestamp of the performance data. |
iops_raw
The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
latency_raw
The raw latency in microseconds observed at the storage object. This should be divided by the raw IOPS value to calculate the average latency per I/O operation.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
throughput_raw
Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time.
Name | Type | Description |
---|---|---|
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
statistics
These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.
Name | Type | Description |
---|---|---|
iops_raw |
The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time. |
|
latency_raw |
The raw latency in microseconds observed at the storage object. This should be divided by the raw IOPS value to calculate the average latency per I/O operation. |
|
status |
string |
Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, "ok" on success, or "error" on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data. |
throughput_raw |
Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time. |
|
timestamp |
string |
The timestamp of the performance data. |
svm
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
fc_interface
A Fibre Channel (FC) interface is the logical endpoint for FC network connections to an SVM. An FC interface provides FC access to storage within the interface SVM using either Fibre Channel Protocol or NVMe over Fibre Channel (NVMe/FC).
An FC interface is created on an FC port which is located on a cluster node. The FC port must be specified to identify the location of the interface for a POST or PATCH operation that relocates an interface. You can identify the port by supplying either the cluster node and port names or the port UUID.
Name | Type | Description |
---|---|---|
_links |
||
comment |
string |
A user configurable comment. Optional in POST; valid in PATCH. To clear a prior comment, set the property to an empty string in PATCH. |
data_protocol |
string |
The data protocol for which the FC interface is configured. Required in POST. |
enabled |
boolean |
The administrative state of the FC interface. The FC interface can be disabled to block all FC communication with the SVM through this interface. Optional in POST and PATCH; defaults to true (enabled) in POST. |
location |
The location of the FC interface is defined by the location of its port. An FC port is identified by its UUID, or a combination of its cluster node name and port name. Either the UUID or the cluster node name and port name are required for POST. To move an interface, supply either the port UUID or the cluster node name and port name in a PATCH.
|
|
metric |
Performance numbers, such as IOPS latency and throughput |
|
name |
string |
The name of the FC interface. Required in POST; optional in PATCH. |
port_address |
string |
The port address of the FC interface. Each FC port in an FC switched fabric has its own unique FC port address for routing purposes. The FC port address is assigned by a switch in the fabric when that port logs in to the fabric. This property refers to the address given by a switch to the FC interface when the SVM performs a port login (PLOGI). This is useful for obtaining statistics and diagnostic information from FC switches. This is a hexadecimal encoded numeric value. |
state |
string |
The current operational state of the FC interface. The state is set to down if the interface is not enabled. If the cluster node hosting the port is down or unavailable, no state value is returned. |
statistics |
These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
svm |
||
uuid |
string |
The unique identifier of the FC interface. Required in the URL. |
wwnn |
string |
The world wide node name (WWNN) of the FC interface SVM. The WWNN is generated by ONTAP when Fibre Channel Protocol or the NVMe service is created for the FC interface SVM.
|
wwpn |
string |
The world wide port name (WWPN) of the FC interface. The WWPN is generated by ONTAP when the FC interface is created.
|
_links
Name | Type | Description |
---|---|---|
next |
||
self |
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
fc_interface_recommend_message
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
The message substitution arguments. |
code |
string |
The message code. Possible messages: ONTAP Error Response Codes Error Code — Description 5375959 — Network ports are disabled. 5375960 — Network ports are enabled, but not reporting a connected FC fabric. 5375961 — The limit for the number of FC network interfaces on a cluster node has been reached. 5375962 — The limit for the number of FC network interfaces on a port has been reached. 5375963 — An HA pair of cluster nodes has a discrepancy in the presence of FC ports. 5375964 — An HA pair of cluster nodes has a discrepancy in support for an FC data protocol. 5375965 — An HA pair of cluster nodes cannot be reached from the same FC fabrics. 5375966 — A cluster node cannot be reached from all of the FC fabrics from which other cluster nodes with FC interfaces in the SVM can be reached. 5375967 — The limit for the number of FC network interfaces on a cluster node has been exceeded. 5375968 — The limit for the number of FC network interfaces on an FC port has been exceeded. 5375969 — The requested number of network interfaces per FC fabric per cluster node has not been achieved. 5375970 — The SVM cannot be reached from all of the FC fabrics to which the cluster is connected. 5375971 — The limit for the number of NVMe network interfaces on a cluster node has been exceeded. 5375972 — The limit for the number of cluster nodes containing NVMe network interfaces for the SVM has been exceeded. 5375973 — The SVM can be reached from a number of FC fabrics other than what is preferred. |
message |
string |
The message text. |
severity |
string |
The severity of the message. Message severities are as follows:
|
recommend
Response properties specific to the FC interface placement functionality. See the Interface placement recommendations section of DOC /network/fc/interfaces
Name | Type | Description |
---|---|---|
messages |
Messages describing the results of a FC network interface placement operation or evaluation of caller-proposed locations. |
error
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
Message arguments |
code |
string |
Error code |
message |
string |
Error message |
target |
string |
The target parameter that caused the error. |