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. Deprecated in favor of
          split options to avoid combinatorics.
    - name: DHCP4
      type: boolean
      description: >
          Enable or disable IPv4 DHCP.
    - name: DHCP6
      type: boolean
      description: >
          Enable or disable IPv6 DHCP.
    - 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]
      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.
    - 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
