---
sourceDocument: Xanadu ServiceNow AI Platform Administration
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/platform-administration

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu ServiceNow AI Platform Administration

ft:clusterId :

    - platadm

bundleId :

    - platadm

workflow :

    - Platform


---

# IP address field type

# IP address field type {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

The IP Address (Validated IPV4, IPV6) \[ip_addr\] field type
stores valid IPv4 and IPv6 addresses.

## Support for IPv4 and IPv6

Standard dot-decimal notation is supported for IPv4 and standard hex notation is supported
for IPv6. For IPv6, you can use canonical notation to compress zeros. Familiarize yourself
with [IETF
RFC5952](https://tools.ietf.org/html/rfc5952) for examples and guidelines on text representation for IPv6 addresses.  
The following are examples of valid IP addresses:

* A standard IPv4 address in dot-decimal notation:

  `10.34.51.20`
* An expanded IPv4 address would be zero padded:

  `10.1.10.210` would be represented as
  `010.001.010.210`
* An IPv6 address in fully expanded notation:

  `1507:f0d0:1002:0051:0000:0000:0000:0004`
* The same IPv6 address above using the canonical notation:

  `1507:f0d0:1002:51::4`
{#r-IPAddressFieldType__ul_uv5_rtn_zx}

## How IP addresses are stored in the database

The IP address `ip_addr` field is a Variable Character (VARCHAR) field with
a length of 40 characters. The values are normally stored in standard (dot-decimal or
canonical) notation for both IPv4 and IPv6 addresses regardless of the notation you use when
you input values in the field.

For example, if you enter an IPv6 address in a non-canonical format (expanded or any other
valid formats per [IETF RFC5952](https://tools.ietf.org/html/rfc5952)), by default, the system will store it in canonical
format unless an IP Data Control attribute value is defined on that column with a different
address format. See the \[ip_data_control\] glide attribute section in [Altering tables and fields using dictionary attributes](https://servicenow-prod.fluidtopics.net/W62P_HvztvVqWYI5duwoKQ "Dictionary attributes alter the behavior of the table or field that the dictionary record describes. Administrators can add or modify dictionary attributes.") for more details.

## Support for data migration {#r-IPAddressFieldType__section_p3s_tvq_ktb}

Provide support in migrating IP addresses stored as string fields to the new IP Address(Validated IPV4,IPV6) type. The new IP address type accepts only a valid IP address. The existing data is formatted according to the ip_data_control attribute. The ip_data_control attriute can be set to exactly one of the following four values:

* canonical: Incoming IP addresses are validated and canonicalized before they are entered in the database. Invalid IP addresses are rejected.
* canonicalize_when_possible: Valid IP addresses are canonicalized before before being entered in to the database. Invalid IP addresses are also entered in to the database without being changed.  
  Note:  
  canonicalize_when_possible is the default value for the ip_data_control attribute, unless it's otherwise specified.
* expanded: The IP addresses are validated and stored in an expanded form to support efficient database range queries. Invalid IP addresses are rejected.
* none: No validation or normalization is performed in this value type. It is used only as an emergency mechanism as it essentially reverts this type to a plain string field.
{#r-IPAddressFieldType__ul_otl_yzq_ktb}

