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