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

properties:
    - name: InterfaceName
      type: string
      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
