Re: macaddr 64 bit (EUI-64) datatype support
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Julien Rouhaud <julien.rouhaud@dalibo.com>
Cc: Craig Ringer <craig@2ndquadrant.com>, Haribabu Kommi <kommi.haribabu@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2016-10-12T16:19:35Z
Lists: pgsql-hackers
Julien Rouhaud wrote: > On 12/10/2016 14:32, Alvaro Herrera wrote: > > Julien Rouhaud wrote: > > > >> and you can instead make macaddr64 support both format, and provide a > >> macaddr::macaddr64 cast > > > > Having macaddr64 support both formats sounds nice, but how does it work? > > Will we have to reserve one additional bit to select the representation? > > That would make the type be 65 bits which is a clear loser IMO. > > > > Is it allowed to just leave 16 bits as zeroes which would indicate that > > the address is EUI48? I wouldn't think so ... > > From what I read, you can indicate it's an EUI-48 address by storing > FF:FF (or FF:FE for MAC-48) in 4th and 5th bytes of the EUI-64 address. That seems reasonable at first glance; so the new type would be able to store both 48-bit and 64-bit values, and there would be assignment casts in both directions and a suite of operators to enable interoperability of 48-bit values in macaddr8 with values in type macaddr. Right? (The cast function from macaddr8 to macaddr would raise error if the 4th and 5th bytes are not either FF:FF or FF:FE -- I don't think we can in practice distinguish EUI-48 from MAC-48 in this context. The cast in the other direction would have no restriction and should probably always use FF:FE). -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Add support for EUI-64 MAC addresses as macaddr8
- c7a9fa399d55 10.0 landed
-
perltidy pg_dump TAP tests
- 6af8b89adba1 10.0 cited