1description: >
2    This defines an ethernet interface.
3    An object implementing this interface must implement
4    xyz.openbmc_project.State.OperationalStatus.
5
6
7properties:
8    - name: InterfaceName
9      type: string
10      description: >
11          Name of the ethernet interface.
12    - name: Speed
13      type: uint32
14      description: >
15          Current speed of the ethernet interface, in Mbps.
16    - name: AutoNeg
17      type: boolean
18      description: >
19          This indicates if the speed and duplex are automatically negotiated
20          and configured on this ethernet interface.
21    - name: DomainName
22      type: array[string]
23      description: >
24          Domain names of the ethernet interface.
25    - name: DHCPEnabled
26      type: enum[self.DHCPConf]
27      description: >
28          Address mode of the ethernet interface.
29    - name: Nameservers
30      type: array[string]
31      description: >
32          DNS servers that are currently in use on this interface.
33      errors:
34          - xyz::openbmc_project.Common.Error.NotAllowed
35    - name: StaticNameServers
36      type: array[string]
37      description: >
38          A statically defined set of DNS server IP addresses to be used when
39          DHCP provisioning is not enabled for name server configuration. As
40          an implementation option this may also be used in addition to DHCP
41          provided addresses, or in cases where the DHCP server provides no DNS
42          assigments.
43      errors:
44         - xyz.openbmc_project.Common.Error.InvalidArgument
45    - name: NTPServers
46      type: array[string]
47      description: >
48          This property describes the NTP Servers on the interface.
49          Implementation of this Dbus-interface is required to implement this property.
50          This property supports read/write operation.
51          Configure the NTP servers on the system during write operation.
52    - name: LinkLocalAutoConf
53      type: enum[self.LinkLocalConf]
54      description: >
55          This indicates link local auto configuration on this ethernet
56          interface and configured on this ethernet interface.
57    - name: IPv6AcceptRA
58      type: boolean
59      description: >
60          Boolean for accepting router advertisements in IPv6
61    - name: NICEnabled
62      type: boolean
63      description: >
64          Boolean for to enabling or disabling the ethernet port
65    - name: LinkUp
66      type: boolean
67      flags:
68          - const
69      description: >
70          This property reports the link status for the NIC. The read-only
71          boolean value is TRUE when the network cable is inserted, or there
72          is a carrier signal. It is FALSE when the cable is unplugged, or the
73          carrier signal is missing.
74    - name: DefaultGateway
75      type: string
76      description: >
77          Default IPv4 gateway of the ethernet interface.
78      errors:
79        - xyz.openbmc_project.Common.Error.InvalidArgument
80    - name: DefaultGateway6
81      type: string
82      description: >
83          Default IPv6 gateway of the ethernet interface.
84          For supported address formats refer RFC 2373.
85          Refer below man page for both v4 and v6 address format details
86          https://man7.org/linux/man-pages/man3/inet_pton.3.html
87      errors:
88        - xyz.openbmc_project.Common.Error.InvalidArgument
89
90enumerations:
91    - name: LinkLocalConf
92      description: >
93          Possible link local auto configuration values.
94      values:
95        - name: fallback
96        - name: both
97        - name: v4
98        - name: v6
99        - name: none
100
101    - name: DHCPConf
102      description: >
103          A list of the permitted DHCP settings used by systemd.
104      values:
105        - name: both
106        - name: v4
107        - name: v6
108        - name: none
109