blob: f45cac795f8a27ce67bbe5e94d50e3ac5ce6976e [file] [log] [blame]
Ratan Gupta4c8247b2017-03-16 16:23:06 +05301description: >
2 This defines an ethernet interface.
3 An object implementing this interface must implement
4 xyz.openbmc_project.State.OperationalStatus.
5
Ratan Gupta4c8247b2017-03-16 16:23:06 +05306properties:
7 - name: InterfaceName
8 type: string
Jiaqing Zhao9ac27782022-04-14 10:55:35 +08009 flags:
10 - const
Ratan Gupta4c8247b2017-03-16 16:23:06 +053011 description: >
12 Name of the ethernet interface.
Ratan Gupta4c8247b2017-03-16 16:23:06 +053013 - name: Speed
14 type: uint32
Jiaqing Zhao13feabc2022-04-14 10:36:16 +080015 flags:
16 - readonly
Ratan Gupta4c8247b2017-03-16 16:23:06 +053017 description: >
18 Current speed of the ethernet interface, in Mbps.
19 - name: AutoNeg
20 type: boolean
Jiaqing Zhao13feabc2022-04-14 10:36:16 +080021 flags:
22 - readonly
Ratan Gupta4c8247b2017-03-16 16:23:06 +053023 description: >
24 This indicates if the speed and duplex are automatically negotiated
25 and configured on this ethernet interface.
Tejas Patil0ef46c12021-07-19 17:34:57 +053026 - 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.
Ratan Gupta4c8247b2017-03-16 16:23:06 +053032 - name: DomainName
33 type: array[string]
34 description: >
35 Domain names of the ethernet interface.
36 - name: DHCPEnabled
Johnathan Mantey19770592020-06-16 09:25:19 -070037 type: enum[self.DHCPConf]
Ratan Gupta4c8247b2017-03-16 16:23:06 +053038 description: >
William A. Kennington IIIbcb24e12022-07-06 16:01:31 -070039 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.
Ratan Gupta4c8247b2017-03-16 16:23:06 +053049 - name: Nameservers
50 type: array[string]
51 description: >
Manojkiran Eda496741a2019-10-13 18:46:11 +053052 DNS servers that are currently in use on this interface.
William A. Kennington III6a0b5032022-08-25 14:39:56 -070053 flags:
54 - readonly
Manojkiran Eda496741a2019-10-13 18:46:11 +053055 - 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:
Patrick Williams8da396c2022-03-14 14:21:02 -050064 - xyz.openbmc_project.Common.Error.InvalidArgument
Ratan Guptaa51dea72017-08-23 18:13:33 +053065 - name: NTPServers
66 type: array[string]
67 description: >
Sunitha Harishe11e2fa2022-02-03 04:25:31 -060068 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.
Ratan Guptaa51dea72017-08-23 18:13:33 +053075 Configure the NTP servers on the system during write operation.
Ravi Teja0edc82d2019-04-24 00:57:20 -050076 - 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.
Johnathan Mantey8d6cb9b2019-06-25 09:20:50 -070081 - name: IPv6AcceptRA
82 type: boolean
83 description: >
William A. Kennington IIIbcb24e12022-07-06 16:01:31 -070084 Boolean for accepting router advertisements in IPv6.
Johnathan Manteyb43056f2019-10-29 16:15:18 -070085 - name: NICEnabled
86 type: boolean
87 description: >
88 Boolean for to enabling or disabling the ethernet port
Johnathan Mantey97b51292020-01-08 10:56:19 -080089 - name: LinkUp
90 type: boolean
91 flags:
Jiaqing Zhao1bf1b7b2022-04-13 15:59:17 +080092 - readonly
Johnathan Mantey97b51292020-01-08 10:56:19 -080093 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.
Ravi Teja0f572912020-07-06 09:37:59 -050098 - name: DefaultGateway
99 type: string
100 description: >
101 Default IPv4 gateway of the ethernet interface.
102 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -0500103 - xyz.openbmc_project.Common.Error.InvalidArgument
Ravi Teja0f572912020-07-06 09:37:59 -0500104 - 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:
Patrick Williams8da396c2022-03-14 14:21:02 -0500112 - xyz.openbmc_project.Common.Error.InvalidArgument
Ravi Teja0edc82d2019-04-24 00:57:20 -0500113
114enumerations:
115 - name: LinkLocalConf
116 description: >
117 Possible link local auto configuration values.
118 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500119 - name: fallback
120 - name: both
121 - name: v4
122 - name: v6
123 - name: none
Andrew Geisslerfcc419b2020-06-04 10:26:16 -0500124
Johnathan Mantey19770592020-06-16 09:25:19 -0700125 - name: DHCPConf
126 description: >
Johnathan Mantey8db5d8d2021-12-22 14:40:37 -0800127 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
Johnathan Mantey19770592020-06-16 09:25:19 -0700136 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500137 - name: both
Johnathan Mantey8db5d8d2021-12-22 14:40:37 -0800138 - name: v4v6stateless
Patrick Williams8da396c2022-03-14 14:21:02 -0500139 - name: v6
Johnathan Mantey8db5d8d2021-12-22 14:40:37 -0800140 - name: v6stateless
141 - name: v4
Patrick Williams8da396c2022-03-14 14:21:02 -0500142 - name: none