{
    "$id": "http://redfish.dmtf.org/schemas/v1/NetworkPort.v1_1_4.json",
    "$ref": "#/definitions/NetworkPort",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "Actions": {
            "additionalProperties": false,
            "description": "The available actions for this Resource.",
            "longDescription": "This type shall contain the available actions for this Resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "The available OEM-specific actions for this Resource.",
                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource.",
                    "versionAdded": "v1_1_0"
                }
            },
            "type": "object"
        },
        "FlowControl": {
            "enum": [
                "None",
                "TX",
                "RX",
                "TX_RX"
            ],
            "enumDescriptions": {
                "None": "No IEEE 802.3x flow control is enabled on this port.",
                "RX": "IEEE 802.3x flow control may be initiated by the link partner.",
                "TX": "IEEE 802.3x flow control may be initiated by this station.",
                "TX_RX": "IEEE 802.3x flow control may be initiated by this station or the link partner."
            },
            "type": "string"
        },
        "LinkNetworkTechnology": {
            "enum": [
                "Ethernet",
                "InfiniBand",
                "FibreChannel"
            ],
            "enumDescriptions": {
                "Ethernet": "The port is capable of connecting to an Ethernet network.",
                "FibreChannel": "The port is capable of connecting to a Fibre Channel network.",
                "InfiniBand": "The port is capable of connecting to an InfiniBand network."
            },
            "type": "string"
        },
        "LinkStatus": {
            "enum": [
                "Down",
                "Up"
            ],
            "enumDescriptions": {
                "Down": "The port is enabled but link is down.",
                "Up": "The port is enabled and link is good (up)."
            },
            "type": "string"
        },
        "NetDevFuncMaxBWAlloc": {
            "additionalProperties": false,
            "description": "A maximum bandwidth allocation percentage for a network device functions associated a port.",
            "longDescription": "This type shall describe a maximum bandwidth percentage allocation for a network device function associated with a port.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "MaxBWAllocPercent": {
                    "description": "The maximum bandwidth allocation percentage allocated to the corresponding network device function instance.",
                    "longDescription": "This property shall contain the maximum bandwidth percentage allocation for the associated network device function.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "%"
                },
                "NetworkDeviceFunction": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
                    "description": "The link to the NetworkDeviceFunction associated with this bandwidth setting of this network port.",
                    "longDescription": "This property shall contain a link of the NetworkDeviceFunction type that represents the network device function associated with this bandwidth setting of this network port.",
                    "readonly": true
                }
            },
            "type": "object"
        },
        "NetDevFuncMinBWAlloc": {
            "additionalProperties": false,
            "description": "A minimum bandwidth allocation percentage for a network device functions associated a port.",
            "longDescription": "This type shall describe a minimum bandwidth percentage allocation for a network device function associated with a port.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "MinBWAllocPercent": {
                    "description": "The minimum bandwidth allocation percentage allocated to the corresponding network device function instance.",
                    "longDescription": "This property shall contain the minimum bandwidth percentage allocation for the associated network device function.  The sum total of all minimum percentages shall not exceed 100.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "%"
                },
                "NetworkDeviceFunction": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
                    "description": "The link to the NetworkDeviceFunction associated with this bandwidth setting of this network port.",
                    "longDescription": "This property shall contain a link of the NetworkDeviceFunction type that represents the network device function associated with this bandwidth setting of this network port.",
                    "readonly": true
                }
            },
            "type": "object"
        },
        "NetworkPort": {
            "additionalProperties": false,
            "description": "A network port, which is a discrete physical port that can connect to a network.",
            "longDescription": "A network port represents a discrete physical port that can connect to a network.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this Resource.",
                    "longDescription": "This property shall contain the available actions for this Resource.",
                    "versionAdded": "v1_1_0"
                },
                "ActiveLinkTechnology": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LinkNetworkTechnology"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Network port active link technology.",
                    "longDescription": "This property shall contain the configured link technology of this port.",
                    "readonly": false
                },
                "AssociatedNetworkAddresses": {
                    "description": "An array of configured MAC or WWN network addresses that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain an array of configured network addresses that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
                    "readonly": true,
                    "type": "array"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EEEEnabled": {
                    "description": "An indication of whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled for this network port.",
                    "longDescription": "This property shall indicate whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled for this network port.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "FlowControlConfiguration": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FlowControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The locally configured 802.3x flow control setting for this network port.",
                    "longDescription": "This property shall contain the locally configured 802.3x flow control setting for this network port.",
                    "readonly": false
                },
                "FlowControlStatus": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FlowControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The 802.3x flow control behavior negotiated with the link partner for this network port (Ethernet-only).",
                    "longDescription": "This property shall contain the 802.3x flow control behavior negotiated with the link partner for this network port (Ethernet-only).",
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "LinkStatus": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LinkStatus"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The status of the link between this port and its link partner.",
                    "longDescription": "This property shall contain the link status between this port and its link partner.",
                    "readonly": true
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "NetDevFuncMaxBWAlloc": {
                    "description": "An array of maximum bandwidth allocation percentages for the network device functions associated with this port.",
                    "items": {
                        "$ref": "#/definitions/NetDevFuncMaxBWAlloc"
                    },
                    "longDescription": "This property shall contain an array of maximum bandwidth allocation percentages for the network device functions associated with this port.",
                    "type": "array"
                },
                "NetDevFuncMinBWAlloc": {
                    "description": "An array of minimum bandwidth allocation percentages for the network device functions associated with this port.",
                    "items": {
                        "$ref": "#/definitions/NetDevFuncMinBWAlloc"
                    },
                    "longDescription": "This property shall contain an array of minimum bandwidth percentage allocations for each of the network device functions associated with this port.",
                    "type": "array"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "PhysicalPortNumber": {
                    "description": "The physical port number label for this port.",
                    "longDescription": "This property shall contain the physical port number on the network adapter hardware that this network port corresponds to.  This value should match a value visible on the hardware.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "PortMaximumMTU": {
                    "description": "The largest maximum transmission unit (MTU) that can be configured for this network port.",
                    "longDescription": "This property shall contain the largest maximum transmission unit (MTU) that can be configured for this network port.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "SignalDetected": {
                    "description": "An indication of whether the port has detected enough signal on enough lanes to establish a link.",
                    "longDescription": "This property shall indicate whether the port has detected enough signal on enough lanes to establish a link.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the Resource and its subordinate or dependent Resources.",
                    "longDescription": "This property shall contain any status or health properties of the Resource."
                },
                "SupportedEthernetCapabilities": {
                    "description": "The set of Ethernet capabilities that this port supports.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/SupportedEthernetCapabilities"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain an array of zero or more Ethernet capabilities supported by this port.",
                    "readonly": true,
                    "type": "array"
                },
                "SupportedLinkCapabilities": {
                    "description": "The link capabilities of this port.",
                    "items": {
                        "$ref": "#/definitions/SupportedLinkCapabilities"
                    },
                    "longDescription": "This property shall describe the static capabilities of the port, irrespective of transient conditions such as cabling, interface module presence, or remote link parter status or configuration.",
                    "type": "array"
                },
                "WakeOnLANEnabled": {
                    "description": "An indication of whether Wake on LAN (WoL) is enabled for this network port.",
                    "longDescription": "This property shall indicate whether Wake on LAN (WoL) is enabled for this network port.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM-specific actions for this Resource.",
            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {},
            "type": "object"
        },
        "SupportedEthernetCapabilities": {
            "enum": [
                "WakeOnLAN",
                "EEE"
            ],
            "enumDescriptions": {
                "EEE": "IEEE 802.3az Energy-Efficient Ethernet (EEE) is supported on this port.",
                "WakeOnLAN": "Wake on LAN (WoL) is supported on this port."
            },
            "type": "string"
        },
        "SupportedLinkCapabilities": {
            "additionalProperties": false,
            "description": "The link capabilities of an assocaited port.",
            "longDescription": "This type shall describe the static capabilities of an associated port, irrespective of transient conditions such as cabling, interface module presence, or remote link parter status or configuration.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "LinkNetworkTechnology": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LinkNetworkTechnology"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The link network technology capabilities of this port.",
                    "longDescription": "This property shall contain a network technology capability of this port.",
                    "readonly": true
                },
                "LinkSpeedMbps": {
                    "description": "The speed of the link in Mbps when this link network technology is active.",
                    "longDescription": "This property shall contain the speed of the link in megabits per second (Mbps) for this port when this link network technology is active.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "Mbit/s"
                }
            },
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2017.1",
    "title": "#NetworkPort.v1_1_4.NetworkPort"
}