description: >
    This defines an ethernet interface.
    An object implementing this interface must implement
    xyz.openbmc_project.State.OperationalStatus.

properties:
    - name: InterfaceName
      type: string
      flags:
          - const
      description: >
          Name of the ethernet interface.
    - name: Speed
      type: uint32
      flags:
          - readonly
      description: >
          Current speed of the ethernet interface, in Mbps.
    - name: AutoNeg
      type: boolean
      flags:
          - readonly
      description: >
          This indicates if the speed and duplex are automatically negotiated
          and configured on this ethernet interface.
    - name: MTU
      type: size
      default: 0
      description: >
          This indicates the size in bytes of largest protocol data unit,
          which can be passed in an Ethernet frame on the interface.
    - name: DomainName
      type: array[string]
      description: >
          Domain names of the ethernet interface.
    - name: DHCPEnabled
      type: enum[self.DHCPConf]
      description: >
          Address mode of the ethernet interface.
    - name: Nameservers
      type: array[string]
      description: >
          DNS servers that are currently in use on this interface.
      errors:
          - xyz::openbmc_project.Common.Error.NotAllowed
    - name: StaticNameServers
      type: array[string]
      description: >
          A statically defined set of DNS server IP addresses to be used when
          DHCP provisioning is not enabled for name server configuration. As
          an implementation option this may also be used in addition to DHCP
          provided addresses, or in cases where the DHCP server provides no DNS
          assigments.
      errors:
          - xyz.openbmc_project.Common.Error.InvalidArgument
    - name: NTPServers
      type: array[string]
      flags:
          - readonly
      description: >
          NTP servers that are currently in use on this interface.
          This includes both DHCP and static NTP server addresses.
    - name: StaticNTPServers
      type: array[string]
      description: >
          This property describes statically defined NTPServers on the
          interface. This property supports read/write operation.
          Configure the NTP servers on the system during write operation.
    - name: LinkLocalAutoConf
      type: enum[self.LinkLocalConf]
      description: >
          This indicates link local auto configuration on this ethernet
          interface and configured on this ethernet interface.
    - name: IPv6AcceptRA
      type: boolean
      description: >
          Boolean for accepting router advertisements in IPv6. This control is
          being deprecated in favor of the DHCPConf enumerations
          below. Removal of this entry is deferred.
    - name: NICEnabled
      type: boolean
      description: >
          Boolean for to enabling or disabling the ethernet port
    - name: LinkUp
      type: boolean
      flags:
          - readonly
      description: >
          This property reports the link status for the NIC. The read-only
          boolean value is TRUE when the network cable is inserted, or there
          is a carrier signal. It is FALSE when the cable is unplugged, or the
          carrier signal is missing.
    - name: DefaultGateway
      type: string
      description: >
          Default IPv4 gateway of the ethernet interface.
      errors:
          - xyz.openbmc_project.Common.Error.InvalidArgument
    - name: DefaultGateway6
      type: string
      description: >
          Default IPv6 gateway of the ethernet interface.
          For supported address formats refer RFC 2373.
          Refer below man page for both v4 and v6 address format details
          https://man7.org/linux/man-pages/man3/inet_pton.3.html
      errors:
          - xyz.openbmc_project.Common.Error.InvalidArgument

enumerations:
    - name: LinkLocalConf
      description: >
          Possible link local auto configuration values.
      values:
          - name: fallback
          - name: both
          - name: v4
          - name: v6
          - name: none

    - name: DHCPConf
      description: >
          High level definitions of available DHCP states.
          These definitions do not have a 1:1 correlation to the
          systemd.network configuration file contents.
          both: Enable IPv4 DHCP and IPv6 Stateful DHCP
          v4v6stateless: Enable IPv4 DHCP and IPv6 SLAAC
          v6: Enable IPv6 Stateful DHCP
          v6stateless: Enable IPv6 SLAAC
          v4: Enable IPv4 DHCP
          none: Disable DHCP for IPv4 and IPv6
      values:
          - name: both
          - name: v4v6stateless
          - name: v6
          - name: v6stateless
          - name: v4
          - name: none
