On 05/31/2016 02:37 AM, Haribabu Kommi wrote:
The following is the content of IPV6 representation from RFC 4007
The following addresses
fe80::1234 (on the 1st link of the node)
ff02::5678 (on the 5th link of the node)
ff08::9abc (on the 10th organization of the node)
would be represented as follows:
fe80::1234%1
ff02::5678%5
ff08::9abc%10
(Here we assume a natural translation from a zone index to the
<zone_id> part, where the Nth zone of any scope is translated into
"N".)
If we use interface names as <zone_id>, those addresses could also be
represented as follows:
fe80::1234%ne0
ff02::5678%pvc1.3
ff08::9abc%interface10
The digit and string both are considered as proper format.
Since we cannot tell if %1 is the same interface as %ne0, isn't the best
thing we can do to just store them as raw strings and treat them as
different addresses from PostgreSQL's point of view? I do not see any
problem with doing so.
The % delimiter character is not only used at the end of the IPV6 address,
from the RFC document, it is possible as follows also.
fe80::%2/64
we need to handle both the scenarios, it may not be a straight
forward to store the zone id data.
This case needs to be handled by the parser for at least the cidr type,
but I do not think it would make parsing any trickier.
Andreas
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers