1description: > 2 This defines an ethernet interface. An object implementing this interface 3 must implement xyz.openbmc_project.State.OperationalStatus. 4 5properties: 6 - name: InterfaceName 7 type: string 8 flags: 9 - const 10 description: > 11 Name of the ethernet interface. 12 - name: Speed 13 type: uint32 14 flags: 15 - readonly 16 description: > 17 Current speed of the ethernet interface, in Mbps. 18 - name: AutoNeg 19 type: boolean 20 flags: 21 - readonly 22 description: > 23 This indicates if the speed and duplex are automatically negotiated 24 and configured on this ethernet interface. 25 - name: MTU 26 type: size 27 default: 0 28 description: > 29 This indicates the size in bytes of largest protocol data unit, which 30 can be passed in an Ethernet frame on the interface. 31 - name: DomainName 32 type: array[string] 33 description: > 34 Domain names of the ethernet interface. 35 - name: DHCPEnabled 36 type: enum[self.DHCPConf] 37 description: > 38 Address mode of the ethernet interface. Deprecated in favor of split 39 options to avoid combinatorics. 40 - name: DHCP4 41 type: boolean 42 description: > 43 Enable or disable IPv4 DHCP. 44 - name: DHCP6 45 type: boolean 46 description: > 47 Enable or disable IPv6 DHCP. 48 - name: Nameservers 49 type: array[string] 50 description: > 51 DNS servers that are currently in use on this interface. 52 flags: 53 - readonly 54 - name: StaticNameServers 55 type: array[string] 56 description: > 57 A statically defined set of DNS server IP addresses to be used when 58 DHCP provisioning is not enabled for name server configuration. As an 59 implementation option this may also be used in addition to DHCP 60 provided addresses, or in cases where the DHCP server provides no DNS 61 assignments. 62 errors: 63 - xyz.openbmc_project.Common.Error.InvalidArgument 64 - name: NTPServers 65 type: array[string] 66 description: > 67 NTP servers that are currently in use on this interface. This includes 68 both DHCP and static NTP server addresses. 69 - name: StaticNTPServers 70 type: array[string] 71 description: > 72 This property describes statically defined NTPServers on the 73 interface. This property supports read/write operation. Configure the 74 NTP servers on the system during write operation. 75 - name: LinkLocalAutoConf 76 type: enum[self.LinkLocalConf] 77 description: > 78 This indicates link local auto configuration on this ethernet 79 interface and configured on this ethernet interface. 80 - name: IPv6AcceptRA 81 type: boolean 82 description: > 83 Boolean for accepting router advertisements in IPv6. 84 - name: NICEnabled 85 type: boolean 86 description: > 87 Boolean for to enabling or disabling the ethernet port 88 - name: LinkUp 89 type: boolean 90 flags: 91 - readonly 92 description: > 93 This property reports the link status for the NIC. The read-only 94 boolean value is TRUE when the network cable is inserted, or there is 95 a carrier signal. It is FALSE when the cable is unplugged, or the 96 carrier signal is missing. 97 - name: DefaultGateway 98 type: string 99 description: > 100 Default IPv4 gateway of the ethernet interface. 101 errors: 102 - xyz.openbmc_project.Common.Error.InvalidArgument 103 - name: DefaultGateway6 104 type: string 105 description: > 106 Default IPv6 gateway of the ethernet interface. For supported address 107 formats refer RFC 2373. Refer below man page for both v4 and v6 108 address format details 109 https://man7.org/linux/man-pages/man3/inet_pton.3.html 110 errors: 111 - xyz.openbmc_project.Common.Error.InvalidArgument 112 - name: EmitLLDP 113 type: boolean 114 default: false 115 description: > 116 Boolean for controlling LLDP packet emission on the ethernet 117 interface. The Link Layer Discovery Protocol is a link layer protocol 118 used by network devices for advertising their identity, capabilities, 119 and neighbors on a local area network based on IEEE 802 technology. 120enumerations: 121 - name: LinkLocalConf 122 description: > 123 Possible link local auto configuration values. 124 values: 125 - name: fallback 126 - name: both 127 - name: v4 128 - name: v6 129 - name: none 130 131 - name: DHCPConf 132 description: > 133 High level definitions of available DHCP states. These definitions do 134 not have a 1:1 correlation to the systemd.network configuration file 135 contents. both: Enable IPv4 DHCP and IPv6 Stateful DHCP v4v6stateless: 136 Enable IPv4 DHCP and IPv6 SLAAC v6: Enable IPv6 Stateful DHCP 137 v6stateless: Enable IPv6 SLAAC v4: Enable IPv4 DHCP none: Disable DHCP 138 for IPv4 and IPv6 139 values: 140 - name: both 141 - name: v4v6stateless 142 - name: v6 143 - name: v6stateless 144 - name: v4 145 - name: none 146