Skip to content
Was this article helpful?

IPV6_ADDRESS_AT


Provides operations for the 128-bit IPv6 address value. Some general information regarding IPv6 expressions:
IPv6 PIXL expressions can be combined with other PIXL expressions using the '+' operator. The output is expected to be the concatenation of the string representations of the individual PIXL expressions. No other operator other than '+' is expected to work when any of the operands is an IPv6 PIXL expression. Also, IPv6 PIXL expressions can be combined with any other type of PIXL expression except a PIXL expression that produces a bool result. In other words, if A and/or B are two IPv6 addresses, A+B should result in the string AB. When one of A or B is an IPv6 address, the other can only be a number or a string and not a boolean. Further, when A and/or B is an IPv6 address, the only operator allowed between them is '+'.

Example: Let the client source IPv6 address be ABCD:1234::ABCD. Let the server destination IPv4 address be 10.100.10.100. Then the expression CLIENT.IPV6.SRC + SERVER.IP.DST should produce the output "ABCD:1234::ABCD10.100.10.100".
Similarly, CLIENT.IPV6.SRC + 5 should produce the result ABCD:1234::ABCD5

This topic lists the expressions that are provided by this class.

APPEND (text_t str)

Appends the given string to the string representation of the current IPv6 address.

Parameters:

str- the string to append.

Returns: text_t


APPLY_MASK (ipv6_address_at i)

Returns IPV6 Address Value after applying subnet mask which can take values between 0.0.0.0.0.0.0.0 and ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

Parameters (expressions not allowed):

i- IP Address

Returns: ipv6_address_at


EQ (ipv6_address_at i)

Returns Boolean TRUE if the IP address value is same as the argument. IPv6 Address specified in one of the valid IPv6 forms like CLIENT.IPV6.DST.EQ(1000:1001:CD10:0000:0000:89AB:4567:CDEF). All valid forms of specifying an IPv6 address are supported.

Parameters (expressions not allowed):

i- IP Address

Returns: bool_at


GET1

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return 1000, the first set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET1.EQ(0x2058) will return true.

Returns: num_at


GET2

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return 1001, the second set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET2.EQ(0x2) will return true.

Returns: num_at


GET3

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return CD10, the third set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET3.EQ(0x0) will return true.

Returns: num_at


GET4

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return 0000, the fourth set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET4.EQ(0x0) will return true.

Returns: num_at


GET5

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return 0000, the fifth set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET5.EQ(0x0) will return true.

Returns: num_at


GET6

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return 89AB, the sixth set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET6.EQ(0x0) will return true.

Returns: num_at


GET7

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return 4567, the seventh set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET7.EQ(0x230) will return true.

Returns: num_at


GET8

If the IP address in the current context is 1000:1001:CD10:0000:0000:89AB:4567:CDEF then it will return CDEF, the eighth set of 128 bits of the IP address. The IPv6 address is printed using hexadecimal digits. If the Client's IPv6 address is 2058:2::230:3a5a then CLIENT.IPV6.SRC.GET8.EQ(0x3a5a) will return true.

Returns: num_at


IN_SUBNET (ipv6_subnet_at s)

Returns Boolean TRUE if the IP address value is in the subnet specified by the argument. IPv6 Subnet specified in one of the valid IPv6 forms like CLIENT.IPV6.DST.EQ(1000:1001:CD10:0000:0000:89AB:4567:CDEF/60). All valid forms of specifying an IPv6 address are supported.

Parameters (expressions not allowed):

s- IP Subnet

Returns: bool_at


IPREP_IS_MALICIOUS

IP Reputation. Returns TRUE if the client IP is categorized as malicious else returns FALSE.

Returns: bool_at


IPREP_THREAT_CATEGORY (ip_protocol_iprep_category_e category)

IP Reputation. Returns TRUE if the client IP is categorized as malicious and threat category matches category argument, else returns FALSE.

Parameters (expressions not allowed):

category- is IP category

Returns: bool_at


IS_IPV4

Returns TRUE or FALSE depending on whether this is an IPv4 client.

Returns: bool_at


LAT_LONG

Results in text_t containing location as cordinates. Location will be of the form: Latitude,Longitude
Expression example: CLIENT.IPV6.SRC.LAT_LONG For example: 36,-119

Returns: text_t


LOCATION

Results in list_t containing location. Location will be of the form: qual1.qual2.qual3.qual4.qual5.qual6
Expression example: CLIENT.IPV6.SRC.LOCATION For example: NorthAmerica.US.*.*.*.*

Returns: list_t


LOCATION (num_at n)

Results in list_t containing location. Location will be of the form: qual1.qual2.qual3.qual4.qual5.qual6
Expression example: CLIENT.IPV6.SRC.LOCATION(2) For example: NorthAmerica.US

Parameters (expressions not allowed):

n- is the level up to which location will be returned, the first qualifier is numbered 1.

Returns: list_t


MATCHES_LOCATION (text_t location)

Results in Boolean TRUE value if and only if the location of the IP matches the location argument. Location string will be of the form: qual1.qual2.qual3.qual4.qual5.qual6
Expression example: CLIENT.IPV6.SRC.MATCHES_LOCATION("qual1.qual2.qual3.*.*.*") For example: CLIENT.IPV6.SRC.MATCHES_LOCATION("NorthAmerica.US.California.*.*.*")

Parameters (expressions not allowed):

location- Location to be matched.

Returns: bool_at


MATCHES (text_t hostname)

Returns Boolean TRUE if hostname IPV6 address matches the current IPV6 address. The hostname string cannot be bigger than 255 characters.

Parameters (expressions not allowed):

hostname- HostName

Returns: bool_at


NE (ipv6_address_at i)

Returns Boolean TRUE if the IP address value is not same as the argument. IPv6 Address specified in one of the valid IPv6 forms like CLIENT.IPV6.DST.EQ(1000:1001:CD10:0000:0000:89AB:4567:CDEF). All valid forms of specifying an IPv6 address are supported.

Parameters (expressions not allowed):

i- IP Address

Returns: bool_at


SUBNET (num_at n)

Returns IPV6 Address Value after applying the subnet which can take values between 0 and 128.
For Example: CLIENT.IPV6.SRC.SUBNET(24)

Parameters (expressions not allowed):

n- Subnet value. It can take values between 0 and 128.

Returns: ipv6_address_at


TYPECAST_TEXT_T

Typecast the IPv6 Address Value to its string representation.

Returns: text_t


Was this article helpful?