>>>>> On Wed, 18 Sep 2002 21:44:33 -0400 (EDT),
>>>>> Trish Lynch <[EMAIL PROTECTED]> said:
> sysctl net.inet6.ip6.v6only=0
This should also work:
*** foo.c.orig Thu Sep 19 12:05:04 2002
--- foo.c Thu Sep 19 12:05:56 2002
***************
*** 14,19 ****
--- 14,20 ----
struct sockaddr_in6 addr;
struct hostent *hostinfo;
int sock;
+ int off;
memset(&addr, 0, sizeof(struct sockaddr_in6));
***************
*** 30,35 ****
--- 31,40 ----
addr.sin6_port = htons((u_short)5555);
sock = socket(AF_INET6, SOCK_STREAM, 0);
+ #ifdef IPV6_V6ONLY
+ off = 0;
+ setsockopt(sock, IPPROTO_IPV6, &off, sizeof(off));
+ #endif
bind(sock, (struct sockaddr *)&addr, sizeof(struct sockaddr_in6));
listen(sock, 5);
I'd recommend this approach rather than to use sysctl, particularly
for new applications built from the scratch, because we can control
the policy per-socket basis.
You may have to note that draft-ietf-ipngwg-rfc2553bis-06.txt
specifies 0 as the default value of the option while FreeBSD does not
follow the specification. Even though the clear specification, there
is a certain amount of stack developers who have a different opinion
on this and intentionally reverse the default. So, the safest way is
to set the value explicitly.
JINMEI, Tatuya
Communication Platform Lab.
Corporate R&D Center, Toshiba Corp.
[EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message