WL#798: MySQL IPv6 supportAffects: Server-6.0 — Status: In-Documentation — Priority: LowUpdates:
Applied Google Summer of Code Patch. Got feedback on what was wrong with it.
The patch has now been rewritten, and I am waiting for
* External Feedback
* Possible Patches from YASSL (don't go bugging Todd based on this message)
Previous patch, aka Google, used the second version gethostbyname and similar
calls. All code has been cleaned up in the server to use the modern IPV6 work:
http://people.redhat.com/drepper/userapi-ipv6.html
Code as is in Bitkeeper right now uses modern calls, but restricts to ipv4. Once
all cleanups in YASSL have been confirmed I will change the family calls from
ipv6 to "take anything". It uses calls recommended for all platforms (including
Windows).
This patch did not clean up any of the other code in the connection clients.
Support should be added for MySQL to work over IPv6
("Internet Protocol Version 6").
This means:
- users can connect with IPv6. this is partly a
connector problem.
- storage of user address information, e.g.
in mysql.user, can be in IPv6 format
- the proposed new data types CIDR and INET
allow IPv6 format as described in
WL#2037 "Add CIDR and INET data types"
- functions like inet_ntoa() need revision
Why this is a 5.2 task
----------------------
At one time there was a contract requirement.
We've had some feature requests.
Submissions
-----------
One of the feature requests (BUG#8836) contained a patch
http://www.ngn.euro6ix.org/IPv6/mysql/
The "Google summer of code" included an IPv6 project
http://lists.mysql.com/internals/34830
This appears to add data types that differ from WL#2037's description.
Support in other DBMSs
----------------------
PostgreSQL allows storage of IPv6 in its cidr and inet data types:
http://www.postgresql.org/docs/current/static/datatype-net-types.html
but in the authentication section we read that "... entries in IPv6
format will be rejected if the system's C library does not have
support for IPv6 addresses".
There is a promise that "Oracle Database and
Application Server will support IPv6 in an upcoming release."
http://www.6journal.org/archive/00000058/01/Marshall_Presser.pdf
But there is no mention of IPv6 in the master
index for Oracle10g Release 1
http://www.stanford.edu/dept/itss/docs/oracle/10g/mix.101/b12039/toc.htm
SQL Server 2005 can connect with ipv6, according to
http://blogs.msdn.com/sql_protocols/archive/2005/10/12/480192.aspx
IBM has anounced ipv6 support in DB2 9:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-
0606ahuja2/index.html
References
----------
"IPv6 information page"
http://www.ipv6.org/
Monty's comment in dev-sales thread "Re: IPv6 question":
[mysql intranet address]/secure/mailarchive/mail.php?folder=54&mail=1656
Sinisa's comment in dev-public thread "Support for IPv6 ..."
[mysql intranet address]/secure/mailarchive/mail.php?folder=5&mail=21961
Mark's comment in dev-sales thread "Which MySQL version is IPv6 compliant?"
[mysql intranet address]/secure/mailarchive/mail.php?folder=54&mail=9399
"MySQL IPv6 support" forum thread
http://forums.mysql.com/read.php?11,141295,141295
"The IPv6 Revolution is Nigh" discuss@mysql.com thread
[mysql intranet address]/secure/mailarchive/mail.php?folder=6&mail=8004
dev-private thread "IPv6"
[mysql intranet address]/secure/mailarchive/mail.php?folder=4&mail=24882
BUG#3318: Add support for IPv6 addresses (Feature Request)
BUG#6348: MySQL fails to handle IPv6 hosts (Closed)
BUG#8836: IPv6 support (Feature Request)
BUG#10093 MySQL is not IPv6 ready (Closed)
BUG#15127 Possibility to store IPv6 addresses
BUG#34037 ipv6-capable inet_aton and inet_ntoa functions needed
attached is an approximate patch of ipv6 changes pushed, extracted from a series Is this going to be in version 5.2? The first issue was files back in 2004, and as time is going by, people are resorting to the most ugly solutions to 'support' IPv6 addresses in their databases. |
VotesWatches7 members are watching this worklog
You must be logged in to track this worklog.
Provide Feedback
You must be logged in to comment
|
Thank you for this very useful post as usual