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. flags: - readonly - 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 assignments. 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 - name: EmitLLDP type: boolean default: false description: > Boolean for controlling LLDP packet emission on the ethernet interface. The Link Layer Discovery Protocol is a link layer protocol used by network devices for advertising their identity, capabilities, and neighbors on a local area network based on IEEE 802 technology. 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