blob: f39fd13a2e537a225cd6e34cebe25235649529d6 [file] [log] [blame]
Ratan Gupta4c8247b2017-03-16 16:23:06 +05301description: >
Patrick Williamsa1347412022-12-06 10:56:22 -06002 This defines an ethernet interface. An object implementing this interface
3 must implement xyz.openbmc_project.State.OperationalStatus.
Ratan Gupta4c8247b2017-03-16 16:23:06 +05304
Ratan Gupta4c8247b2017-03-16 16:23:06 +05305properties:
6 - name: InterfaceName
7 type: string
Jiaqing Zhao9ac27782022-04-14 10:55:35 +08008 flags:
9 - const
Ratan Gupta4c8247b2017-03-16 16:23:06 +053010 description: >
11 Name of the ethernet interface.
Ratan Gupta4c8247b2017-03-16 16:23:06 +053012 - name: Speed
13 type: uint32
Jiaqing Zhao13feabc2022-04-14 10:36:16 +080014 flags:
15 - readonly
Ratan Gupta4c8247b2017-03-16 16:23:06 +053016 description: >
17 Current speed of the ethernet interface, in Mbps.
18 - name: AutoNeg
19 type: boolean
Jiaqing Zhao13feabc2022-04-14 10:36:16 +080020 flags:
21 - readonly
Ratan Gupta4c8247b2017-03-16 16:23:06 +053022 description: >
23 This indicates if the speed and duplex are automatically negotiated
24 and configured on this ethernet interface.
Tejas Patil0ef46c12021-07-19 17:34:57 +053025 - name: MTU
26 type: size
27 default: 0
28 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060029 This indicates the size in bytes of largest protocol data unit, which
30 can be passed in an Ethernet frame on the interface.
Ratan Gupta4c8247b2017-03-16 16:23:06 +053031 - name: DomainName
32 type: array[string]
33 description: >
34 Domain names of the ethernet interface.
35 - name: DHCPEnabled
Johnathan Mantey19770592020-06-16 09:25:19 -070036 type: enum[self.DHCPConf]
Ratan Gupta4c8247b2017-03-16 16:23:06 +053037 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060038 Address mode of the ethernet interface. Deprecated in favor of split
39 options to avoid combinatorics.
William A. Kennington IIIbcb24e12022-07-06 16:01:31 -070040 - 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.
Ratan Gupta4c8247b2017-03-16 16:23:06 +053048 - name: Nameservers
49 type: array[string]
50 description: >
Manojkiran Eda496741a2019-10-13 18:46:11 +053051 DNS servers that are currently in use on this interface.
William A. Kennington III6a0b5032022-08-25 14:39:56 -070052 flags:
53 - readonly
Manojkiran Eda496741a2019-10-13 18:46:11 +053054 - name: StaticNameServers
55 type: array[string]
56 description: >
57 A statically defined set of DNS server IP addresses to be used when
Patrick Williamsa1347412022-12-06 10:56:22 -060058 DHCP provisioning is not enabled for name server configuration. As an
59 implementation option this may also be used in addition to DHCP
Manojkiran Eda496741a2019-10-13 18:46:11 +053060 provided addresses, or in cases where the DHCP server provides no DNS
61 assigments.
62 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -050063 - xyz.openbmc_project.Common.Error.InvalidArgument
Ratan Guptaa51dea72017-08-23 18:13:33 +053064 - name: NTPServers
65 type: array[string]
66 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060067 NTP servers that are currently in use on this interface. This includes
68 both DHCP and static NTP server addresses.
Sunitha Harishe11e2fa2022-02-03 04:25:31 -060069 - name: StaticNTPServers
70 type: array[string]
71 description: >
72 This property describes statically defined NTPServers on the
Patrick Williamsa1347412022-12-06 10:56:22 -060073 interface. This property supports read/write operation. Configure the
74 NTP servers on the system during write operation.
Ravi Teja0edc82d2019-04-24 00:57:20 -050075 - 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.
Johnathan Mantey8d6cb9b2019-06-25 09:20:50 -070080 - name: IPv6AcceptRA
81 type: boolean
82 description: >
William A. Kennington IIIbcb24e12022-07-06 16:01:31 -070083 Boolean for accepting router advertisements in IPv6.
Johnathan Manteyb43056f2019-10-29 16:15:18 -070084 - name: NICEnabled
85 type: boolean
86 description: >
87 Boolean for to enabling or disabling the ethernet port
Johnathan Mantey97b51292020-01-08 10:56:19 -080088 - name: LinkUp
89 type: boolean
90 flags:
Jiaqing Zhao1bf1b7b2022-04-13 15:59:17 +080091 - readonly
Johnathan Mantey97b51292020-01-08 10:56:19 -080092 description: >
93 This property reports the link status for the NIC. The read-only
Patrick Williamsa1347412022-12-06 10:56:22 -060094 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
Johnathan Mantey97b51292020-01-08 10:56:19 -080096 carrier signal is missing.
Ravi Teja0f572912020-07-06 09:37:59 -050097 - name: DefaultGateway
98 type: string
99 description: >
100 Default IPv4 gateway of the ethernet interface.
101 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -0500102 - xyz.openbmc_project.Common.Error.InvalidArgument
Ravi Teja0f572912020-07-06 09:37:59 -0500103 - name: DefaultGateway6
104 type: string
105 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -0600106 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
Ravi Teja0f572912020-07-06 09:37:59 -0500109 https://man7.org/linux/man-pages/man3/inet_pton.3.html
110 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -0500111 - xyz.openbmc_project.Common.Error.InvalidArgument
Ravi Teja0edc82d2019-04-24 00:57:20 -0500112
113enumerations:
114 - name: LinkLocalConf
115 description: >
116 Possible link local auto configuration values.
117 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500118 - name: fallback
119 - name: both
120 - name: v4
121 - name: v6
122 - name: none
Andrew Geisslerfcc419b2020-06-04 10:26:16 -0500123
Johnathan Mantey19770592020-06-16 09:25:19 -0700124 - name: DHCPConf
125 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -0600126 High level definitions of available DHCP states. These definitions do
127 not have a 1:1 correlation to the systemd.network configuration file
128 contents. both: Enable IPv4 DHCP and IPv6 Stateful DHCP v4v6stateless:
129 Enable IPv4 DHCP and IPv6 SLAAC v6: Enable IPv6 Stateful DHCP
130 v6stateless: Enable IPv6 SLAAC v4: Enable IPv4 DHCP none: Disable DHCP
131 for IPv4 and IPv6
Johnathan Mantey19770592020-06-16 09:25:19 -0700132 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500133 - name: both
Johnathan Mantey8db5d8d2021-12-22 14:40:37 -0800134 - name: v4v6stateless
Patrick Williams8da396c2022-03-14 14:21:02 -0500135 - name: v6
Johnathan Mantey8db5d8d2021-12-22 14:40:37 -0800136 - name: v6stateless
137 - name: v4
Patrick Williams8da396c2022-03-14 14:21:02 -0500138 - name: none