clarify flowlabel handling
This commit is contained in:
parent
4bb6552ed0
commit
175c9afa3f
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: tcp_input.c,v 1.181 2003/09/04 09:16:59 itojun Exp $ */
|
||||
/* $NetBSD: tcp_input.c,v 1.182 2003/09/06 03:12:51 itojun Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
||||
|
@ -148,7 +148,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.181 2003/09/04 09:16:59 itojun Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.182 2003/09/06 03:12:51 itojun Exp $");
|
||||
|
||||
#include "opt_inet.h"
|
||||
#include "opt_ipsec.h"
|
||||
|
@ -3203,10 +3203,6 @@ syn_cache_get(src, dst, th, hlen, tlen, so, m)
|
|||
if (in6p) {
|
||||
in6p->in6p_laddr = ((struct sockaddr_in6 *)dst)->sin6_addr;
|
||||
in6p->in6p_lport = ((struct sockaddr_in6 *)dst)->sin6_port;
|
||||
#if 0
|
||||
in6p->in6p_flowinfo = ip6->ip6_flow & IPV6_FLOWINFO_MASK;
|
||||
/*inp->inp_options = ip6_srcroute();*/ /* soon. */
|
||||
#endif
|
||||
in6_pcbstate(in6p, IN6P_BOUND);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: in6_pcb.c,v 1.56 2003/09/04 09:17:06 itojun Exp $ */
|
||||
/* $NetBSD: in6_pcb.c,v 1.57 2003/09/06 03:12:53 itojun Exp $ */
|
||||
/* $KAME: in6_pcb.c,v 1.84 2001/02/08 18:02:08 itojun Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -62,7 +62,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: in6_pcb.c,v 1.56 2003/09/04 09:17:06 itojun Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: in6_pcb.c,v 1.57 2003/09/06 03:12:53 itojun Exp $");
|
||||
|
||||
#include "opt_inet.h"
|
||||
#include "opt_ipsec.h"
|
||||
|
@ -326,7 +326,9 @@ in6_pcbbind(v, nam, p)
|
|||
in6_pcbstate(in6p, IN6P_BOUND);
|
||||
}
|
||||
|
||||
in6p->in6p_flowinfo = sin6 ? sin6->sin6_flowinfo : 0; /*XXX*/
|
||||
#if 0
|
||||
in6p->in6p_flowinfo = 0; /* XXX */
|
||||
#endif
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
@ -450,11 +452,10 @@ in6_pcbconnect(v, nam)
|
|||
in6p->in6p_faddr = sin6->sin6_addr;
|
||||
in6p->in6p_fport = sin6->sin6_port;
|
||||
in6_pcbstate(in6p, IN6P_CONNECTED);
|
||||
/*
|
||||
* xxx kazu flowlabel is necessary for connect?
|
||||
* but if this line is missing, the garbage value remains.
|
||||
*/
|
||||
in6p->in6p_flowinfo = sin6->sin6_flowinfo;
|
||||
in6p->in6p_flowinfo &= ~IPV6_FLOWLABEL_MASK;
|
||||
if (ip6_auto_flowlabel)
|
||||
in6p->in6p_flowinfo |=
|
||||
(htonl(ip6_flow_seq++) & IPV6_FLOWLABEL_MASK);
|
||||
#ifdef IPSEC
|
||||
if (in6p->in6p_socket->so_type == SOCK_STREAM)
|
||||
ipsec_pcbconn(in6p->in6p_sp);
|
||||
|
@ -469,6 +470,7 @@ in6_pcbdisconnect(in6p)
|
|||
bzero((caddr_t)&in6p->in6p_faddr, sizeof(in6p->in6p_faddr));
|
||||
in6p->in6p_fport = 0;
|
||||
in6_pcbstate(in6p, IN6P_BOUND);
|
||||
in6p->in6p_flowinfo &= ~IPV6_FLOWLABEL_MASK;
|
||||
if (in6p->in6p_socket->so_state & SS_NOFDREF)
|
||||
in6_pcbdetach(in6p);
|
||||
#ifdef IPSEC
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: raw_ip6.c,v 1.60 2003/09/05 23:20:49 itojun Exp $ */
|
||||
/* $NetBSD: raw_ip6.c,v 1.61 2003/09/06 03:12:54 itojun Exp $ */
|
||||
/* $KAME: raw_ip6.c,v 1.82 2001/07/23 18:57:56 jinmei Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -62,7 +62,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: raw_ip6.c,v 1.60 2003/09/05 23:20:49 itojun Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: raw_ip6.c,v 1.61 2003/09/06 03:12:54 itojun Exp $");
|
||||
|
||||
#include "opt_ipsec.h"
|
||||
|
||||
|
@ -164,9 +164,6 @@ rip6_input(mp, offp, proto)
|
|||
bzero(&rip6src, sizeof(rip6src));
|
||||
rip6src.sin6_len = sizeof(struct sockaddr_in6);
|
||||
rip6src.sin6_family = AF_INET6;
|
||||
#if 0 /* XXX inbound flowlabel */
|
||||
rip6src.sin6_flowinfo = ip6->ip6_flow & IPV6_FLOWINFO_MASK;
|
||||
#endif
|
||||
/* KAME hack: recover scopeid */
|
||||
(void)in6_recoverscope(&rip6src, &ip6->ip6_src, m->m_pkthdr.rcvif);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: udp6_usrreq.c,v 1.58 2003/09/04 09:17:09 itojun Exp $ */
|
||||
/* $NetBSD: udp6_usrreq.c,v 1.59 2003/09/06 03:12:55 itojun Exp $ */
|
||||
/* $KAME: udp6_usrreq.c,v 1.86 2001/05/27 17:33:00 itojun Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -62,7 +62,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: udp6_usrreq.c,v 1.58 2003/09/04 09:17:09 itojun Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: udp6_usrreq.c,v 1.59 2003/09/06 03:12:55 itojun Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/malloc.h>
|
||||
|
@ -335,11 +335,6 @@ udp6_usrreq(so, req, m, addr6, control, p)
|
|||
}
|
||||
s = splsoftnet();
|
||||
error = in6_pcbconnect(in6p, addr6);
|
||||
if (ip6_auto_flowlabel) {
|
||||
in6p->in6p_flowinfo &= ~IPV6_FLOWLABEL_MASK;
|
||||
in6p->in6p_flowinfo |=
|
||||
(htonl(ip6_flow_seq++) & IPV6_FLOWLABEL_MASK);
|
||||
}
|
||||
splx(s);
|
||||
if (error == 0)
|
||||
soisconnected(so);
|
||||
|
|
Loading…
Reference in New Issue