diff options
author | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-08-17 16:08:56 +0000 |
---|---|---|
committer | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-08-17 16:08:56 +0000 |
commit | 65033d4fcb0ca36843d95f0c57e5a5991fd3a7b6 (patch) | |
tree | 5de686db3979a1e1925cbfb4e39a00ae71dd81e4 /usr.sbin/route6d/route6d.c | |
parent | 1dd7cfc46fcae4a597ac1fc86dd98e7ea11302b9 (diff) | |
download | src-65033d4fcb0ca36843d95f0c57e5a5991fd3a7b6.tar.gz src-65033d4fcb0ca36843d95f0c57e5a5991fd3a7b6.zip |
set IPV6_V6ONLY.
Obtained from: KAME
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=119034
Diffstat (limited to 'usr.sbin/route6d/route6d.c')
-rw-r--r-- | usr.sbin/route6d/route6d.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/usr.sbin/route6d/route6d.c b/usr.sbin/route6d/route6d.c index 6d7fddd7c60a..769799c5a1c8 100644 --- a/usr.sbin/route6d/route6d.c +++ b/usr.sbin/route6d/route6d.c @@ -585,7 +585,8 @@ ripalarm() void init() { - int i, int0, int255, error; + int error; + const int int0 = 0, int1 = 1, int255 = 255; struct addrinfo hints, *res; char port[10]; @@ -609,12 +610,18 @@ init() /*NOTREACHED*/ } - int0 = 0; int255 = 255; ripsock = socket(res->ai_family, res->ai_socktype, res->ai_protocol); if (ripsock < 0) { fatal("rip socket"); /*NOTREACHED*/ } +#ifdef IPV6_V6ONLY + if (setsockopt(ripsock, IPPROTO_IPV6, IPV6_V6ONLY, + &int1, sizeof(int1)) < 0) { + fatal("rip IPV6_V6ONLY"); + /*NOTREACHED*/ + } +#endif if (bind(ripsock, res->ai_addr, res->ai_addrlen) < 0) { fatal("rip bind"); /*NOTREACHED*/ @@ -630,16 +637,15 @@ init() /*NOTREACHED*/ } - i = 1; #ifdef IPV6_RECVPKTINFO - if (setsockopt(ripsock, IPPROTO_IPV6, IPV6_RECVPKTINFO, &i, - sizeof(i)) < 0) { + if (setsockopt(ripsock, IPPROTO_IPV6, IPV6_RECVPKTINFO, + &int1, sizeof(int1)) < 0) { fatal("rip IPV6_RECVPKTINFO"); /*NOTREACHED*/ } #else /* old adv. API */ - if (setsockopt(ripsock, IPPROTO_IPV6, IPV6_PKTINFO, &i, - sizeof(i)) < 0) { + if (setsockopt(ripsock, IPPROTO_IPV6, IPV6_PKTINFO, + &int1, sizeof(int1)) < 0) { fatal("rip IPV6_PKTINFO"); /*NOTREACHED*/ } |