nanog mailing list archives
Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications"....
From: Owen DeLong <owen () delong com>
Date: Wed, 28 Nov 2012 11:37:10 -0800
On Nov 28, 2012, at 10:47 AM, Ingo Flaschberger <if () xip at> wrote:
Am 28.11.2012 19:30, schrieb david peahi:Many years ago the standard books on application network programming were based on C language. Books such as "Adventures in UNIX Network Programming", and Professor Comer's "Internetworking with TCP/IP Vol 3" detailed how to write C programs using BSD sockets where binding to a socket brought the program up in listening mode on an 2 tuple IP v4 IP address/TCP well known port. Once the program opened and bound to a socket "netstat -n" would show that program to be "listening" on the 2-tuple. Do today's programmers still use basic BSD socket programming? Is there an equivalent set of called procedures for IPv6 network application programming? On the practical side: Have all programmers created a 128 bit field to store the IPv6 address, where IPv4 programs use a 32 bit field to store the IP address? This would seem to be similar to the year 2000 case where almost all programs required auditing to see if they took into account dates after 1999.on linux/unix: if the program only opens a tcp-connection or listen on it, it's simple. socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) -> socket = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP)
You left out some structure changes an the need to use getaddrinfo()/getnameinfo() in place of get*by*(). Depending on your implementation, you might also need to make some changes to your bind() call and/or the way you iterate through the returns from getaddrinfo() calling connect().
It's more work, to build a dual-stack program - then 2 sockets needs to be opened and handled. But overall - it's trivial.
Not if your system properly supports IPV6_V6ONLY=false default sock opt. If you're stuck on something based on BSD or WinSock where this is broken, then, yes, you may have to open 2 sockets or at the very least make a deliberate setsockopt() call or specify the option in the socket() call. Owen
Current thread:
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications"...., (continued)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Owen DeLong (Nov 30)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Mark Andrews (Nov 29)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Owen DeLong (Nov 29)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Michael Thomas (Nov 27)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... William Herrin (Nov 27)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Mark Andrews (Nov 27)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... William Herrin (Nov 27)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... david peahi (Nov 28)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Mikael Abrahamsson (Nov 28)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Ingo Flaschberger (Nov 28)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Owen DeLong (Nov 28)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... Michael Thomas (Nov 28)
- Re: "Programmers can't get IPv6 thus that is why they do not have IPv6 in their applications".... William Herrin (Nov 29)
- RE: Big day for IPv6 - 1% native penetration Lee Howard (Nov 27)
- Re: Big day for IPv6 - 1% native penetration Dobbins, Roland (Nov 26)
- Re: Big day for IPv6 - 1% native penetration Owen DeLong (Nov 26)
- Re: Big day for IPv6 - 1% native penetration Dobbins, Roland (Nov 26)
- Re: Big day for IPv6 - 1% native penetration Randy Bush (Nov 27)
- Re: Big day for IPv6 - 1% native penetration Dobbins, Roland (Nov 27)
- Re: Big day for IPv6 - 1% native penetration Randy Bush (Nov 27)
- Re: Big day for IPv6 - 1% native penetration Dobbins, Roland (Nov 27)