cleanup usage of ip6_mapped_addr_on and ip6_v6only. now,

ip6_mapped_addr_on is unified into ip6_v6only.

MFC after:	1 week
This commit is contained in:
Hajimu UMEMOTO 2002-07-25 17:40:45 +00:00
parent 72429e49f5
commit eccb7001ee
4 changed files with 7 additions and 10 deletions

View File

@ -159,7 +159,7 @@ in_pcballoc(so, pcbinfo, td)
}
#endif /*IPSEC*/
#if defined(INET6)
if (INP_SOCKAF(so) == AF_INET6 && !ip6_mapped_addr_on)
if (INP_SOCKAF(so) == AF_INET6 && ip6_v6only)
inp->inp_flags |= IN6P_IPV6_V6ONLY;
#endif
LIST_INSERT_HEAD(pcbinfo->listhead, inp, inp_list);

View File

@ -280,7 +280,7 @@ tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
}
inp->inp_vflag &= ~INP_IPV4;
inp->inp_vflag |= INP_IPV6;
if (ip6_mapped_addr_on && (inp->inp_flags & IN6P_IPV6_V6ONLY) == 0) {
if (!ip6_v6only && (inp->inp_flags & IN6P_IPV6_V6ONLY) == 0) {
if (IN6_IS_ADDR_UNSPECIFIED(&sin6p->sin6_addr))
inp->inp_vflag |= INP_IPV4;
else if (IN6_IS_ADDR_V4MAPPED(&sin6p->sin6_addr)) {
@ -333,8 +333,7 @@ tcp6_usr_listen(struct socket *so, struct thread *td)
COMMON_START();
if (inp->inp_lport == 0) {
inp->inp_vflag &= ~INP_IPV4;
if (ip6_mapped_addr_on &&
(inp->inp_flags & IN6P_IPV6_V6ONLY) == 0)
if (!ip6_v6only && (inp->inp_flags & IN6P_IPV6_V6ONLY) == 0)
inp->inp_vflag |= INP_IPV4;
error = in6_pcbbind(inp, (struct sockaddr *)0, td);
}
@ -408,8 +407,7 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
if (IN6_IS_ADDR_V4MAPPED(&sin6p->sin6_addr)) {
struct sockaddr_in sin;
if (!ip6_mapped_addr_on ||
(inp->inp_flags & IN6P_IPV6_V6ONLY))
if (ip6_v6only || (inp->inp_flags & IN6P_IPV6_V6ONLY))
return(EINVAL);
in6_sin6_2_sin(&sin, sin6p);

View File

@ -260,7 +260,6 @@ extern int ip6_gif_hlim; /* Hop limit for gif encap packet */
extern int ip6_use_deprecated; /* allow deprecated addr as source */
extern int ip6_rr_prune; /* router renumbering prefix
* walk list every 5 sec. */
#define ip6_mapped_addr_on (!ip6_v6only)
extern int ip6_v6only;
extern struct socket *ip6_mrouter; /* multicast routing daemon */

View File

@ -538,7 +538,7 @@ udp6_attach(struct socket *so, int proto, struct thread *td)
return error;
inp = (struct inpcb *)so->so_pcb;
inp->inp_vflag |= INP_IPV6;
if (ip6_mapped_addr_on)
if (!ip6_v6only)
inp->inp_vflag |= INP_IPV4;
inp->in6p_hops = -1; /* use kernel default */
inp->in6p_cksum = -1; /* just to be sure */
@ -627,7 +627,7 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
error = in6_pcbconnect(inp, nam, td);
splx(s);
if (error == 0) {
if (ip6_mapped_addr_on) { /* should be non mapped addr */
if (!ip6_v6only) { /* should be non mapped addr */
inp->inp_vflag &= ~INP_IPV4;
inp->inp_vflag |= INP_IPV6;
}
@ -703,7 +703,7 @@ udp6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr,
}
}
if (ip6_mapped_addr_on) {
if (!ip6_v6only) {
int hasv4addr;
struct sockaddr_in6 *sin6 = 0;