From owner-IPv6-jp@jp.freebsd.org  Thu Feb  3 10:49:49 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id KAA83601;
	Thu, 3 Feb 2000 10:49:49 +0900 (JST)
	(envelope-from owner-IPv6-jp@jp.FreeBSD.org)
Received: from tortoise.jp.freebsd.org (root@tortoise.jp.FreeBSD.ORG [210.157.158.41])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id KAA83592
	for <IPv6-jp@jp.freebsd.org>; Thu, 3 Feb 2000 10:49:49 +0900 (JST)
	(envelope-from itojun@itojun.org)
Received: from lychee.itojun.org ([3ffe:507:1:1:220:d8ff:fe00:6f28])
	by tortoise.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP/IPv6 id KAA04683
	for <IPv6-jp@jp.freebsd.org>; Thu, 3 Feb 2000 10:49:47 +0900 (JST)
	(envelope-from itojun@itojun.org)
Received: from kiwi.itojun.org (localhost [127.0.0.1])
	by itojun.org (8.9.3+3.2W/3.7W) with ESMTP id KAA10674
	for <IPv6-jp@jp.freebsd.org>; Thu, 3 Feb 2000 10:49:31 +0900 (JST)
To: IPv6-jp@jp.freebsd.org
In-reply-to: seirios's message of Wed, 02 Feb 2000 19:29:19 JST.
      <20000202192919R.seirios@Matrix.iri.co.jp> 
X-Template-Reply-To: itojun@itojun.org
X-Template-Return-Receipt-To: itojun@itojun.org
X-PGP-Fingerprint: F8 24 B4 2C 8C 98 57 FD  90 5F B4 60 79 54 16 E2
From: Jun-ichiro itojun Hagino <itojun@iijlab.net>
Date: Thu, 03 Feb 2000 10:49:31 +0900
Message-ID: <10672.949542571@lychee.itojun.org>
Reply-To: IPv6-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: IPv6-jp 551
Subject: [IPv6-jp 551] Re: source address selection via gif 
Errors-To: owner-IPv6-jp@jp.freebsd.org
Sender: owner-IPv6-jp@jp.freebsd.org
X-Originator: itojun@itojun.org


	- IPv6$B$N(Bautoconfiguration$B$G$O(Bdefault route$B$7$+@_Dj$7$J$$$3$H$K(B
	  $B$J$C$F$$$k(B($B!V(Bhost$B$N%b%G%k$OC1=c$K!W(B)
	$B$H$$$&$N$H7v2^$9$k$H$$$&$N$b!"8D?ME*$K$3$N$F$NJ#;(2=$K5$$,8~$+$J$$(B
	$BM}M3$N$R$H$D$G$9!#(B
	$B:n$C$F$bKhF|;H$$$=$&$K$J$$$7!#(B

>> 	- $B$G!"$=$l$,$o$+$C$F$k$J$i$J$s$G(Bbind(2)$B$8$c$$$1$J$$$N(B?
>	bind$B$G2r7h$9$kJ}K!$,$o$+$i$J$$$G$9!#(B
>	socket$B$r(Bopen$B$9$kA0$K(Baddress selection$B$9$k$O$:$@$H;W$C$F$$$k$N$G!"(B
>	bind(2)$B$G$O$G$-$J$$$h$&$K$b;W$($k$N$G$9$,!D(B

	struct addrinfo *dest;	/*destination I would like to connect*/
	struct sockaddr *src;	/*source address I've picked*/

	s = socket(dest->ai_family, dest->ai_socktype, dest->ai_protocol);
	if (s < 0)
		err(1, "socket");
	/* tell my source address to the kernel */
	if (bind(s, src, src->sa_len) < 0)
		err(1, "bind");
	/* connect to the destination */
	if (connect(s, res->ai-addr, res->ai_addrlen) < 0)
		err(1, "connect");

itojun
