ipv6-address

Pattern: 
'((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' 
  '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' 
  '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' Pattern: 
  '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' 
  '(%[\p{N}\p{L}]+)?' 
Pattern: 
'(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' 
 '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' 
 '(%.+)?' 

The ipv6-address type represents an IPv6 address in full, mixed, shortened, and shortened-mixed notation. The IPv6 address may include a zone index, separated by a % sign.

The zone index is used to disambiguate identical address values. For link-local addresses, the zone index will typically be the interface index number or the name of an interface. If the zone index is not present, the default zone of the device will be used.

The canonical format of IPv6 addresses uses the textual representation defined in Section 4 of RFC 5952. The canonical format for the zone index is the numerical format as described in Section 11.2 of RFC 4007.

Reference:

  • RFC 4291: IP Version 6 Addressing Architecture

  • RFC 4007: IPv6 Scoped Address Architecture

  • RFC 5952: A Recommendation for IPv6 Address Text Representation