1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  IPAddresses v1.1.5                                                  -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2024 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
18    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
19    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
20  </edmx:Reference>
21  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
22    <edmx:Include Namespace="Resource"/>
23  </edmx:Reference>
24
25  <edmx:DataServices>
26
27    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses">
28      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
29      <Annotation Term="Redfish.Language" String="en"/>
30
31      <ComplexType Name="IPv4Address" Abstract="true">
32        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
33        <Annotation Term="OData.Description" String="This type describes an IPv4 address."/>
34        <Annotation Term="OData.LongDescription" String="This type shall describe an IPv4 address assigned to an interface."/>
35      </ComplexType>
36
37      <ComplexType Name="IPv6Address" Abstract="true">
38        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
39        <Annotation Term="OData.Description" String="This type describes an IPv6 address."/>
40        <Annotation Term="OData.LongDescription" String="This type shall describe an IPv6 address assigned to an interface."/>
41      </ComplexType>
42
43      <ComplexType Name="IPv6StaticAddress" Abstract="true">
44        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
45        <Annotation Term="OData.Description" String="This type represents a single IPv6 static address to be assigned on a network interface."/>
46        <Annotation Term="OData.LongDescription" String="This type shall represent a single IPv6 static address to be assigned on a network interface."/>
47      </ComplexType>
48
49      <ComplexType Name="IPv6GatewayStaticAddress" Abstract="true">
50        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
51        <Annotation Term="OData.Description" String="This type represents a single IPv6 static address to be assigned on a network interface."/>
52        <Annotation Term="OData.LongDescription" String="This type shall represent a single IPv6 static address to be assigned on a network interface."/>
53      </ComplexType>
54    </Schema>
55
56    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_0">
57      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
58      <Annotation Term="Redfish.Release" String="1.0"/>
59
60      <ComplexType Name="IPv4Address" BaseType="IPAddresses.IPv4Address">
61        <Property Name="Oem" Type="Resource.Oem" Nullable="false">
62          <Annotation Term="OData.Description" String="The OEM extension property."/>
63          <Annotation Term="OData.LongDescription" String="This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."/>
64        </Property>
65        <Property Name="Address" Type="Edm.String">
66          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
67          <Annotation Term="OData.Description" String="The IPv4 address."/>
68          <Annotation Term="OData.LongDescription" String="This property shall contain an IPv4 address assigned to this interface.  If DHCPv4 is enabled on the interface, this property becomes read-only."/>
69          <Annotation Term="Validation.Pattern" String="^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$"/>
70        </Property>
71        <Property Name="SubnetMask" Type="IPAddresses.v1_0_0.SubnetMask">
72          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
73          <Annotation Term="OData.Description" String="The IPv4 subnet mask."/>
74          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv4 subnet mask for this address.  If DHCPv4 is enabled on the interface, this property becomes read-only."/>
75        </Property>
76        <Property Name="AddressOrigin" Type="IPAddresses.v1_0_0.IPv4AddressOrigin">
77          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
78          <Annotation Term="OData.Description" String="This indicates how the address was determined."/>
79          <Annotation Term="OData.LongDescription" String="This property shall contain the IP address origin for this network interface."/>
80        </Property>
81        <Property Name="Gateway" Type="Edm.String">
82          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
83          <Annotation Term="OData.Description" String="The IPv4 gateway for this address."/>
84          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv4 default gateway address for this interface.  If DHCPv4 is enabled on the interface and is configured to set the IPv4 default gateway address, this property becomes read-only.  If multiple IPv4 addresses are present on the same interface, only a single default gateway is allowed.  Any additional IPv4 addresses shall not have a default gateway specified."/>
85          <Annotation Term="Validation.Pattern" String="^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$"/>
86        </Property>
87      </ComplexType>
88
89      <ComplexType Name="IPv6Address" BaseType="IPAddresses.IPv6Address">
90        <Property Name="Oem" Type="Resource.Oem" Nullable="false">
91          <Annotation Term="OData.Description" String="The OEM extension property."/>
92          <Annotation Term="OData.LongDescription" String="This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."/>
93        </Property>
94        <Property Name="Address" Type="Edm.String">
95          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
96          <Annotation Term="OData.Description" String="The IPv6 address."/>
97          <Annotation Term="OData.LongDescription" String="This property lists an IPv6 address that is currently assigned on this interface."/>
98          <Annotation Term="Redfish.IPv6Format"/>
99        </Property>
100        <Property Name="PrefixLength" Type="IPAddresses.v1_0_0.PrefixLength">
101          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
102          <Annotation Term="OData.Description" String="The IPv6 address prefix Length."/>
103          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv6 address prefix length for this interface."/>
104        </Property>
105        <Property Name="AddressOrigin" Type="IPAddresses.v1_0_0.IPv6AddressOrigin">
106          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
107          <Annotation Term="OData.Description" String="This indicates how the address was determined."/>
108          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv6 address origin for this interface."/>
109        </Property>
110        <Property Name="AddressState" Type="IPAddresses.v1_0_0.AddressState">
111          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
112          <Annotation Term="OData.Description" String="The current RFC4862-defined state of this address."/>
113          <Annotation Term="OData.LongDescription" String="This property shall contain the current RFC4862-defined state of this address.  Preferred and Deprecated states follow the definitions in RFC4862, section 5.5.4.  The Tentative state indicates that the address is undergoing Duplicate Address Detection (DAD), as defined in RFC4862, section 5.4.  The Failed state indicates a static address that did not pass DAD.  A static address in the Failed state is not in use on the network stack, and corrective action is required to remedy this condition."/>
114        </Property>
115      </ComplexType>
116
117      <EnumType Name="IPv4AddressOrigin">
118        <Member Name="Static">
119          <Annotation Term="OData.Description" String="A user-configured static address."/>
120        </Member>
121        <Member Name="DHCP">
122          <Annotation Term="OData.Description" String="A DHCPv4 service-provided address."/>
123        </Member>
124        <Member Name="BOOTP">
125          <Annotation Term="OData.Description" String="A BOOTP service-provided address."/>
126        </Member>
127        <Member Name="IPv4LinkLocal">
128          <Annotation Term="OData.Description" String="The address is valid for only this network segment, or link."/>
129        </Member>
130      </EnumType>
131
132      <EnumType Name="IPv6AddressOrigin">
133        <Member Name="Static">
134          <Annotation Term="OData.Description" String="A static user-configured address."/>
135        </Member>
136        <Member Name="DHCPv6">
137          <Annotation Term="OData.Description" String="A DHCPv6 service-provided address."/>
138        </Member>
139        <Member Name="LinkLocal">
140          <Annotation Term="OData.Description" String="The address is valid for only this network segment, or link."/>
141        </Member>
142        <Member Name="SLAAC">
143          <Annotation Term="OData.Description" String="A stateless autoconfiguration (SLAAC) service-provided address."/>
144        </Member>
145      </EnumType>
146
147      <TypeDefinition Name="SubnetMask" UnderlyingType="Edm.String">
148        <Annotation Term="Validation.Pattern" String="^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$"/>
149      </TypeDefinition>
150
151      <TypeDefinition Name="PrefixLength" UnderlyingType="Edm.Int64">
152        <Annotation Term="Validation.Minimum" Int="0"/>
153        <Annotation Term="Validation.Maximum" Int="128"/>
154      </TypeDefinition>
155
156      <EnumType Name="AddressState">
157        <Member Name="Preferred">
158          <Annotation Term="OData.Description" String="This address is currently within both its RFC4862-defined valid and preferred lifetimes."/>
159        </Member>
160        <Member Name="Deprecated">
161          <Annotation Term="OData.Description" String="This address is currently within its valid lifetime but is now outside its RFC4862-defined preferred lifetime."/>
162        </Member>
163        <Member Name="Tentative">
164          <Annotation Term="OData.Description" String="This address is currently undergoing Duplicate Address Detection (DAD) testing, as defined in RFC4862, section 5.4."/>
165        </Member>
166        <Member Name="Failed">
167          <Annotation Term="OData.Description" String="This address has failed Duplicate Address Detection (DAD) testing, as defined in RFC4862, section 5.4, and is not currently in use."/>
168        </Member>
169      </EnumType>
170
171      <ComplexType Name="IPv6StaticAddress" BaseType="IPAddresses.IPv6StaticAddress">
172        <Property Name="Oem" Type="Resource.Oem" Nullable="false">
173          <Annotation Term="OData.Description" String="The OEM extension property."/>
174          <Annotation Term="OData.LongDescription" String="This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."/>
175        </Property>
176        <Property Name="Address" Type="Edm.String">
177          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
178          <Annotation Term="OData.Description" String="A valid IPv6 address."/>
179          <Annotation Term="OData.LongDescription" String="This property provides access to a static IPv6 address that is currently assigned on a network interface."/>
180          <Annotation Term="Redfish.Required"/>
181          <Annotation Term="Redfish.IPv6Format"/>
182        </Property>
183        <Property Name="PrefixLength" Type="IPAddresses.v1_0_0.PrefixLength">
184          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
185          <Annotation Term="OData.Description" String="The prefix length, in bits, of this IPv6 address."/>
186          <Annotation Term="OData.LongDescription" String="This property shall contain the IPv6 network prefix length, in bits, for this address."/>
187          <Annotation Term="Redfish.Required"/>
188        </Property>
189      </ComplexType>
190    </Schema>
191
192    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_2">
193      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
194      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
195    </Schema>
196
197    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_3">
198      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
199      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
200    </Schema>
201
202    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_4">
203      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
204      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
205    </Schema>
206
207    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_5">
208      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
209      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
210    </Schema>
211
212    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_6">
213      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
214      <Annotation Term="OData.Description" String="This version was created to add an abstract base type for `IPv4Address`, `IPv6Address`, and `IPv6StaticAddress`.  It was also created to make `PrefixLength` in `IPv6StaticAddress` writable."/>
215    </Schema>
216
217    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_7">
218      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
219      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number.  It was also created to add an abstract base type for `IPv6GatewayStaticAddress`.  It was also created to remove the requirement for `PrefixLength` in `IPv6StaticAddress` when used for gateway addresses."/>
220    </Schema>
221
222    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_8">
223      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
224      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
225    </Schema>
226
227    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_9">
228      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
229      <Annotation Term="OData.Description" String="This version was created to correct the minimum value allowed for PrefixLength."/>
230    </Schema>
231
232    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_10">
233      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
234      <Annotation Term="OData.Description" String="This version was created to clarify language around the IPv4 Gateway property."/>
235    </Schema>
236
237    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_11">
238      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
239      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
240    </Schema>
241
242    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_0_12">
243      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
244      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
245    </Schema>
246
247    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_1_0">
248      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
249      <Annotation Term="Redfish.Release" String="2018.2"/>
250
251      <ComplexType Name="IPv6GatewayStaticAddress" BaseType="IPAddresses.IPv6GatewayStaticAddress">
252        <Property Name="Oem" Type="Resource.Oem" Nullable="false">
253          <Annotation Term="OData.Description" String="The OEM extension property."/>
254          <Annotation Term="OData.LongDescription" String="This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."/>
255        </Property>
256        <Property Name="Address" Type="Edm.String">
257          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
258          <Annotation Term="OData.Description" String="A valid IPv6 address."/>
259          <Annotation Term="OData.LongDescription" String="This property provides access to a static IPv6 address that is currently assigned on a network interface."/>
260          <Annotation Term="Redfish.Required"/>
261          <Annotation Term="Redfish.IPv6Format"/>
262        </Property>
263        <Property Name="PrefixLength" Type="IPAddresses.v1_0_0.PrefixLength">
264          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
265          <Annotation Term="OData.Description" String="The IPv6 network prefix length, in bits, for this address."/>
266          <Annotation Term="OData.LongDescription" String="Provides the IPv6 network prefix length, in bits, for this address."/>
267        </Property>
268      </ComplexType>
269    </Schema>
270
271    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_1_1">
272      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
273      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
274    </Schema>
275
276    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_1_2">
277      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
278      <Annotation Term="OData.Description" String="This version was created to correct the minimum value allowed for `PrefixLength`."/>
279    </Schema>
280
281    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_1_3">
282      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
283      <Annotation Term="OData.Description" String="This version was created to clarify language around the IPv4 `Gateway` property."/>
284    </Schema>
285
286    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_1_4">
287      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
288      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
289    </Schema>
290
291    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="IPAddresses.v1_1_5">
292      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
293      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
294    </Schema>
295
296  </edmx:DataServices>
297</edmx:Edmx>
298