1description: >
2    This defines an IP address.
3
4# TODO Fix it through https://github.com/openbmc/openbmc/issues/1438
5# creatable: true
6
7properties:
8    - name: Address
9      type: string
10      description: >
11          The value of this property shall be an IP address assigned to
12          the ethernet interface.
13      errors:
14          - xyz::openbmc_project.Common.Error.NotAllowed
15
16    - name: PrefixLength
17      type: byte
18      description: >
19          This is the number of network bits in the ipaddress.
20      errors:
21          - xyz::openbmc_project.Common.Error.NotAllowed
22
23    - name: Origin
24      type: enum[self.AddressOrigin]
25      description: >
26          This indicates how the address was determined.
27      errors:
28          - xyz::openbmc_project.Common.Error.NotAllowed
29
30    - name: Gateway
31      type: string
32      description: >
33          This is the IP gateway for this address.
34      errors:
35          - xyz::openbmc_project.Common.Error.NotAllowed
36
37    - name: Type
38      type: enum[self.Protocol]
39      description: >
40          IP protocol type which can be IPv4 or IPv6 etc.
41      errors:
42          - xyz::openbmc_project.Common.Error.NotAllowed
43
44enumerations:
45    - name: Protocol
46      description: >
47          Possible IP protocol types.
48      values:
49        - name: IPv4
50        - name: IPv6
51
52    - name: AddressOrigin
53      description: >
54          Possible IP address origin types.
55      values:
56        - name: Static
57          description: >
58              Static address configured by the server.
59        - name: DHCP
60          description: >
61              Address is provided by a DHCP service.
62        - name: LinkLocal
63          description: >
64              Address is valid only for this network segment.
65        - name: SLAAC
66          description: >
67              Address is provided by a Stateless Address Autoconfiguration.
68