some updates to how i handle address allocation for he_ipv6
This commit is contained in:
		
							parent
							
								
									e7ca17b24a
								
							
						
					
					
						commit
						0be3cfc386
					
				| @ -18,7 +18,17 @@ | |||||||
|   <xs:complexType name="e_he_ipv6_tunnel"> |   <xs:complexType name="e_he_ipv6_tunnel"> | ||||||
|     <xs:all> |     <xs:all> | ||||||
|       <xs:element name="server" type="t_net_addr_ip4"/> |       <xs:element name="server" type="t_net_addr_ip4"/> | ||||||
|       <xs:element name="allocs"> |       <xs:element name="client" minOccurs="1" maxOccurs="1"> | ||||||
|  |         <xs:complexType> | ||||||
|  |           <xs:simpleContent> | ||||||
|  |             <xs:extension base="t_net_addr_ip6"> | ||||||
|  |               <!-- VERY most likely "64" but we can't define a default with required. --> | ||||||
|  |               <xs:attribute name="prefix" type="t_he_ipv6_prefix" use="required"/> | ||||||
|  |             </xs:extension> | ||||||
|  |           </xs:simpleContent> | ||||||
|  |         </xs:complexType> | ||||||
|  |       </xs:element> | ||||||
|  |       <xs:element name="allocations"> | ||||||
|         <xs:complexType> |         <xs:complexType> | ||||||
|           <xs:sequence minOccurs="1"> |           <xs:sequence minOccurs="1"> | ||||||
|             <!-- HE only allocates a single /64 and, upon request, a single /48 per tunnel. --> |             <!-- HE only allocates a single /64 and, upon request, a single /48 per tunnel. --> | ||||||
| @ -28,7 +38,7 @@ | |||||||
|                   <xs:extension base="t_net_addr_ip6"> |                   <xs:extension base="t_net_addr_ip6"> | ||||||
|                     <!-- VERY most likely "64" but we can't define a default with required. --> |                     <!-- VERY most likely "64" but we can't define a default with required. --> | ||||||
|                     <xs:attribute name="prefix" type="t_he_ipv6_prefix" use="required"/> |                     <xs:attribute name="prefix" type="t_he_ipv6_prefix" use="required"/> | ||||||
|                     <xs:attribute name="iface" type="t_linux_iface_name" use="required"/> |                     <xs:attribute name="id" type="xs:token" use="required"/> | ||||||
|                   </xs:extension> |                   </xs:extension> | ||||||
|                 </xs:simpleContent> |                 </xs:simpleContent> | ||||||
|               </xs:complexType> |               </xs:complexType> | ||||||
| @ -43,15 +53,25 @@ | |||||||
|           <xs:selector xpath=".//*"/> |           <xs:selector xpath=".//*"/> | ||||||
|           <xs:field xpath="@prefix"/> |           <xs:field xpath="@prefix"/> | ||||||
|         </xs:unique> |         </xs:unique> | ||||||
|  |         <xs:unique name="uniq_alloc_id"> | ||||||
|  |           <xs:selector xpath=".//*"/> | ||||||
|  |           <xs:field xpath="@id"/> | ||||||
|  |         </xs:unique> | ||||||
|       </xs:element> |       </xs:element> | ||||||
|       <xs:element name="client" minOccurs="1" maxOccurs="1"> |       <xs:element name="assignments" minOccurs="1" maxOccurs="1"> | ||||||
|         <xs:complexType> |         <xs:complexType> | ||||||
|           <xs:simpleContent> |           <xs:sequence minOccurs="1" maxOccurs="unbounded"> | ||||||
|             <xs:extension base="t_net_addr_ip6"> |             <xs:element name="assign" minOccurs="1" maxOccurs="unbounded"> | ||||||
|               <!-- VERY most likely "64" but we can't define a default with required. --> |               <xs:complexType> | ||||||
|               <xs:attribute name="prefix" type="t_he_ipv6_prefix" use="required"/> |                 <xs:attribute name="prefix" type="t_he_ipv6_prefix" use="optional" default="64"/> | ||||||
|             </xs:extension> |                 <!-- TODO: alloc must be a defined alloc "id" attribute value. --> | ||||||
|           </xs:simpleContent> |                 <xs:attribute name="alloc" type="xs:token" use="required"/> | ||||||
|  |                 <xs:attribute name="iface" type="t_linux_iface_name" use="required"/> | ||||||
|  |               </xs:complexType> | ||||||
|  |             </xs:element> | ||||||
|  |           </xs:sequence> | ||||||
|  |           <xs:attribute name="radvd" type="xs:boolean" use="optional" default="false"/> | ||||||
|  |           <xs:attribute name="radvdDns" type="xs:boolean" use="optional" default="false"/> | ||||||
|         </xs:complexType> |         </xs:complexType> | ||||||
|       </xs:element> |       </xs:element> | ||||||
|     </xs:all> |     </xs:all> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user