Open
Description
There is a need to properly handle IPv6 zone_id's , see #37107.
The IP data type only allows 128 bits to be indexed and an IPv6 address with a zone_id fails will fail to parse as an IP. Elasticsearch can't simply ignore the zone_id from indexing since that would silently change the fidelity of that data and there is no desire to support zone_id's at a low level.
A current solution is to use Grok to split the address and zone_id, which works, but can be cumbersome to implement.
For these reasons, I propose an IP Address Processor for the ingest node.
The IP Address Processor will be able to
- split the IPv6 into it's 128bit address and it's zone_id.
It may also be
- categorize an IP as either IPv4 or IPv6.
- categorize an IPv4 address class (A -> E).
- categorize an IPv6 type (Unicast, AnyCast, MultiCast, loopback, or unspecified )
- extract an IPv4 that is encoded inside an IPv6.
IPv6 zone_id : https://tools.ietf.org/html/rfc4007
IPv6 address: https://tools.ietf.org/html/rfc3513