summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2001-09-12 08:38:13 +0000
committerjulian <julian@FreeBSD.org>2001-09-12 08:38:13 +0000
commit5596676e6c6c1e81e899cd0531f9b1c28a292669 (patch)
treeb1a19fcdf05759281fab0d89efb13f0fdf42102e /sys/netinet
parent83e00d4274950d2b531c24692cd123538ffbddb9 (diff)
downloadFreeBSD-src-5596676e6c6c1e81e899cd0531f9b1c28a292669.zip
FreeBSD-src-5596676e6c6c1e81e899cd0531f9b1c28a292669.tar.gz
KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/in.c22
-rw-r--r--sys/netinet/in_gif.c2
-rw-r--r--sys/netinet/in_pcb.c17
-rw-r--r--sys/netinet/in_pcb.h6
-rw-r--r--sys/netinet/in_var.h2
-rw-r--r--sys/netinet/ip_divert.c12
-rw-r--r--sys/netinet/ip_output.c6
-rw-r--r--sys/netinet/ipprotosw.h1
-rw-r--r--sys/netinet/raw_ip.c12
-rw-r--r--sys/netinet/tcp_input.c4
-rw-r--r--sys/netinet/tcp_reass.c4
-rw-r--r--sys/netinet/tcp_usrreq.c70
-rw-r--r--sys/netinet/udp_usrreq.c32
13 files changed, 95 insertions, 95 deletions
diff --git a/sys/netinet/in.c b/sys/netinet/in.c
index c0b45c3..d56d28e 100644
--- a/sys/netinet/in.c
+++ b/sys/netinet/in.c
@@ -57,7 +57,7 @@ static MALLOC_DEFINE(M_IPMADDR, "in_multi", "internet multicast address");
static int in_mask2len __P((struct in_addr *));
static void in_len2mask __P((struct in_addr *, int));
static int in_lifaddr_ioctl __P((struct socket *, u_long, caddr_t,
- struct ifnet *, struct proc *));
+ struct ifnet *, struct thread *));
static void in_socktrim __P((struct sockaddr_in *));
static int in_ifinit __P((struct ifnet *,
@@ -183,12 +183,12 @@ static int in_interfaces; /* number of external internet interfaces */
*/
/* ARGSUSED */
int
-in_control(so, cmd, data, ifp, p)
+in_control(so, cmd, data, ifp, td)
struct socket *so;
u_long cmd;
caddr_t data;
register struct ifnet *ifp;
- struct proc *p;
+ struct thread *td;
{
register struct ifreq *ifr = (struct ifreq *)data;
register struct in_ifaddr *ia = 0, *iap;
@@ -202,13 +202,13 @@ in_control(so, cmd, data, ifp, p)
switch (cmd) {
case SIOCALIFADDR:
case SIOCDLIFADDR:
- if (p && (error = suser(p)) != 0)
+ if (td && (error = suser_td(td)) != 0)
return error;
/*fall through*/
case SIOCGLIFADDR:
if (!ifp)
return EINVAL;
- return in_lifaddr_ioctl(so, cmd, data, ifp, p);
+ return in_lifaddr_ioctl(so, cmd, data, ifp, td);
}
/*
@@ -257,7 +257,7 @@ in_control(so, cmd, data, ifp, p)
case SIOCSIFADDR:
case SIOCSIFNETMASK:
case SIOCSIFDSTADDR:
- if (p && (error = suser(p)) != 0)
+ if (td && (error = suser_td(td)) != 0)
return error;
if (ifp == 0)
@@ -293,7 +293,7 @@ in_control(so, cmd, data, ifp, p)
break;
case SIOCSIFBRDADDR:
- if (p && (error = suser(p)) != 0)
+ if (td && (error = suser_td(td)) != 0)
return error;
/* FALLTHROUGH */
@@ -454,12 +454,12 @@ in_control(so, cmd, data, ifp, p)
* other values may be returned from in_ioctl()
*/
static int
-in_lifaddr_ioctl(so, cmd, data, ifp, p)
+in_lifaddr_ioctl(so, cmd, data, ifp, td)
struct socket *so;
u_long cmd;
caddr_t data;
struct ifnet *ifp;
- struct proc *p;
+ struct thread *td;
{
struct if_laddrreq *iflr = (struct if_laddrreq *)data;
struct ifaddr *ifa;
@@ -521,7 +521,7 @@ in_lifaddr_ioctl(so, cmd, data, ifp, p)
ifra.ifra_mask.sin_len = sizeof(struct sockaddr_in);
in_len2mask(&ifra.ifra_mask.sin_addr, iflr->prefixlen);
- return in_control(so, SIOCAIFADDR, (caddr_t)&ifra, ifp, p);
+ return in_control(so, SIOCAIFADDR, (caddr_t)&ifra, ifp, td);
}
case SIOCGLIFADDR:
case SIOCDLIFADDR:
@@ -607,7 +607,7 @@ in_lifaddr_ioctl(so, cmd, data, ifp, p)
ia->ia_sockmask.sin_len);
return in_control(so, SIOCDIFADDR, (caddr_t)&ifra,
- ifp, p);
+ ifp, td);
}
}
}
diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c
index 46c10e0..8e41fa2 100644
--- a/sys/netinet/in_gif.c
+++ b/sys/netinet/in_gif.c
@@ -299,7 +299,7 @@ gif_encapcheck4(m, off, proto, arg)
dst = (struct sockaddr_in *)sc->gif_pdst;
/* LINTED const cast */
- m_copydata((struct mbuf *)m, 0, sizeof(ip), (caddr_t)&ip);
+ m_copydata(m, 0, sizeof(ip), (caddr_t)&ip);
/* check for address match */
addrmatch = 0;
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c
index c967851..0b54024 100644
--- a/sys/netinet/in_pcb.c
+++ b/sys/netinet/in_pcb.c
@@ -136,10 +136,10 @@ SYSCTL_PROC(_net_inet_ip_portrange, OID_AUTO, hilast, CTLTYPE_INT|CTLFLAG_RW,
* Allocate a PCB and associate it with the socket.
*/
int
-in_pcballoc(so, pcbinfo, p)
+in_pcballoc(so, pcbinfo, td)
struct socket *so;
struct inpcbinfo *pcbinfo;
- struct proc *p;
+ struct thread *td;
{
register struct inpcb *inp;
#ifdef IPSEC
@@ -175,11 +175,12 @@ in_pcballoc(so, pcbinfo, p)
}
int
-in_pcbbind(inp, nam, p)
+in_pcbbind(inp, nam, td)
register struct inpcb *inp;
struct sockaddr *nam;
- struct proc *p;
+ struct thread *td;
{
+ struct proc *p = td->td_proc;
register struct socket *so = inp->inp_socket;
unsigned short *lastport;
struct sockaddr_in *sin;
@@ -494,10 +495,10 @@ in_pcbladdr(inp, nam, plocal_sin)
* then pick one.
*/
int
-in_pcbconnect(inp, nam, p)
+in_pcbconnect(inp, nam, td)
register struct inpcb *inp;
struct sockaddr *nam;
- struct proc *p;
+ struct thread *td;
{
struct sockaddr_in *ifaddr;
struct sockaddr_in *sin = (struct sockaddr_in *)nam;
@@ -511,7 +512,7 @@ in_pcbconnect(inp, nam, p)
sa.sin_addr.s_addr = htonl(cred->cr_prison->pr_ip);
sa.sin_len=sizeof (sa);
sa.sin_family = AF_INET;
- error = in_pcbbind(inp, (struct sockaddr *)&sa, p);
+ error = in_pcbbind(inp, (struct sockaddr *)&sa, td);
if (error)
return (error);
}
@@ -528,7 +529,7 @@ in_pcbconnect(inp, nam, p)
}
if (inp->inp_laddr.s_addr == INADDR_ANY) {
if (inp->inp_lport == 0) {
- error = in_pcbbind(inp, (struct sockaddr *)0, p);
+ error = in_pcbbind(inp, (struct sockaddr *)0, td);
if (error)
return (error);
}
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index 2b01db4..8423462 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -278,9 +278,9 @@ extern int ipport_hilastauto;
void in_pcbpurgeif0 __P((struct inpcb *, struct ifnet *));
void in_losing __P((struct inpcb *));
void in_rtchange __P((struct inpcb *, int));
-int in_pcballoc __P((struct socket *, struct inpcbinfo *, struct proc *));
-int in_pcbbind __P((struct inpcb *, struct sockaddr *, struct proc *));
-int in_pcbconnect __P((struct inpcb *, struct sockaddr *, struct proc *));
+int in_pcballoc __P((struct socket *, struct inpcbinfo *, struct thread *));
+int in_pcbbind __P((struct inpcb *, struct sockaddr *, struct thread *));
+int in_pcbconnect __P((struct inpcb *, struct sockaddr *, struct thread *));
void in_pcbdetach __P((struct inpcb *));
void in_pcbdisconnect __P((struct inpcb *));
int in_pcbinshash __P((struct inpcb *));
diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h
index e603cee..7cef6ea 100644
--- a/sys/netinet/in_var.h
+++ b/sys/netinet/in_var.h
@@ -211,7 +211,7 @@ struct route;
struct in_multi *in_addmulti __P((struct in_addr *, struct ifnet *));
void in_delmulti __P((struct in_multi *));
int in_control __P((struct socket *, u_long, caddr_t, struct ifnet *,
- struct proc *));
+ struct thread *));
void in_rtqdrain __P((void));
void ip_input __P((struct mbuf *));
int in_ifadown __P((struct ifaddr *ifa, int));
diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c
index a571271..d63df09 100644
--- a/sys/netinet/ip_divert.c
+++ b/sys/netinet/ip_divert.c
@@ -335,7 +335,7 @@ cantsend:
}
static int
-div_attach(struct socket *so, int proto, struct proc *p)
+div_attach(struct socket *so, int proto, struct thread *td)
{
struct inpcb *inp;
int error, s;
@@ -343,14 +343,14 @@ div_attach(struct socket *so, int proto, struct proc *p)
inp = sotoinpcb(so);
if (inp)
panic("div_attach");
- if (p && (error = suser(p)) != 0)
+ if (td && (error = suser_td(td)) != 0)
return error;
error = soreserve(so, div_sendspace, div_recvspace);
if (error)
return error;
s = splnet();
- error = in_pcballoc(so, &divcbinfo, p);
+ error = in_pcballoc(so, &divcbinfo, td);
splx(s);
if (error)
return error;
@@ -392,7 +392,7 @@ div_disconnect(struct socket *so)
}
static int
-div_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
+div_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
{
struct inpcb *inp;
int s;
@@ -411,7 +411,7 @@ div_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
error = EAFNOSUPPORT;
} else {
((struct sockaddr_in *)nam)->sin_addr.s_addr = INADDR_ANY;
- error = in_pcbbind(inp, nam, p);
+ error = in_pcbbind(inp, nam, td);
}
splx(s);
return error;
@@ -426,7 +426,7 @@ div_shutdown(struct socket *so)
static int
div_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
- struct mbuf *control, struct proc *p)
+ struct mbuf *control, struct thread *td)
{
/* Packet must have a header (but that's about it) */
if (m->m_len < sizeof (struct ip) &&
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index 2201e06..86b321e 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -1147,7 +1147,7 @@ ip_ctloutput(so, sopt)
error = EMSGSIZE;
break;
}
- MGET(m, sopt->sopt_p ? M_TRYWAIT : M_DONTWAIT, MT_HEADER);
+ MGET(m, sopt->sopt_td ? M_TRYWAIT : M_DONTWAIT, MT_HEADER);
if (m == 0) {
error = ENOBUFS;
break;
@@ -1263,8 +1263,8 @@ ip_ctloutput(so, sopt)
break;
if ((error = soopt_mcopyin(sopt, m)) != 0) /* XXX */
break;
- priv = (sopt->sopt_p != NULL &&
- suser(sopt->sopt_p) != 0) ? 0 : 1;
+ priv = (sopt->sopt_td != NULL &&
+ suser_td(sopt->sopt_td) != 0) ? 0 : 1;
req = mtod(m, caddr_t);
len = m->m_len;
optname = sopt->sopt_name;
diff --git a/sys/netinet/ipprotosw.h b/sys/netinet/ipprotosw.h
index 97c1c85..bdc4c73 100644
--- a/sys/netinet/ipprotosw.h
+++ b/sys/netinet/ipprotosw.h
@@ -73,7 +73,6 @@
/* Forward declare these structures referenced from prototypes below. */
struct mbuf;
-struct proc;
struct sockaddr;
struct socket;
struct sockopt;
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 7a1c9a1..178b483 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -461,7 +461,7 @@ SYSCTL_INT(_net_inet_raw, OID_AUTO, recvspace, CTLFLAG_RW,
&rip_recvspace, 0, "Maximum incoming raw IP datagram size");
static int
-rip_attach(struct socket *so, int proto, struct proc *p)
+rip_attach(struct socket *so, int proto, struct thread *td)
{
struct inpcb *inp;
int error, s;
@@ -469,14 +469,14 @@ rip_attach(struct socket *so, int proto, struct proc *p)
inp = sotoinpcb(so);
if (inp)
panic("rip_attach");
- if (p && (error = suser(p)) != 0)
+ if (td && (error = suser_td(td)) != 0)
return error;
error = soreserve(so, rip_sendspace, rip_recvspace);
if (error)
return error;
s = splnet();
- error = in_pcballoc(so, &ripcbinfo, p);
+ error = in_pcballoc(so, &ripcbinfo, td);
splx(s);
if (error)
return error;
@@ -520,7 +520,7 @@ rip_disconnect(struct socket *so)
}
static int
-rip_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
+rip_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
{
struct inpcb *inp = sotoinpcb(so);
struct sockaddr_in *addr = (struct sockaddr_in *)nam;
@@ -538,7 +538,7 @@ rip_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
}
static int
-rip_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
+rip_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
{
struct inpcb *inp = sotoinpcb(so);
struct sockaddr_in *addr = (struct sockaddr_in *)nam;
@@ -564,7 +564,7 @@ rip_shutdown(struct socket *so)
static int
rip_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
- struct mbuf *control, struct proc *p)
+ struct mbuf *control, struct thread *td)
{
struct inpcb *inp = sotoinpcb(so);
register u_long dst;
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index e093896..baa972d 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1098,7 +1098,7 @@ findpcb:
if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr))
inp->in6p_laddr = ip6->ip6_dst;
if (in6_pcbconnect(inp, (struct sockaddr *)sin6,
- &proc0)) {
+ thread0)) {
inp->in6p_laddr = laddr6;
FREE(sin6, M_SONAME);
goto drop;
@@ -1119,7 +1119,7 @@ findpcb:
laddr = inp->inp_laddr;
if (inp->inp_laddr.s_addr == INADDR_ANY)
inp->inp_laddr = ip->ip_dst;
- if (in_pcbconnect(inp, (struct sockaddr *)sin, &proc0)) {
+ if (in_pcbconnect(inp, (struct sockaddr *)sin, thread0)) {
inp->inp_laddr = laddr;
FREE(sin, M_SONAME);
goto drop;
diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c
index e093896..baa972d 100644
--- a/sys/netinet/tcp_reass.c
+++ b/sys/netinet/tcp_reass.c
@@ -1098,7 +1098,7 @@ findpcb:
if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr))
inp->in6p_laddr = ip6->ip6_dst;
if (in6_pcbconnect(inp, (struct sockaddr *)sin6,
- &proc0)) {
+ thread0)) {
inp->in6p_laddr = laddr6;
FREE(sin6, M_SONAME);
goto drop;
@@ -1119,7 +1119,7 @@ findpcb:
laddr = inp->inp_laddr;
if (inp->inp_laddr.s_addr == INADDR_ANY)
inp->inp_laddr = ip->ip_dst;
- if (in_pcbconnect(inp, (struct sockaddr *)sin, &proc0)) {
+ if (in_pcbconnect(inp, (struct sockaddr *)sin, thread0)) {
inp->inp_laddr = laddr;
FREE(sin, M_SONAME);
goto drop;
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
index 6f761a0..2485a91 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -88,12 +88,12 @@
*/
extern char *tcpstates[]; /* XXX ??? */
-static int tcp_attach __P((struct socket *, struct proc *));
+static int tcp_attach __P((struct socket *, struct thread *td));
static int tcp_connect __P((struct tcpcb *, struct sockaddr *,
- struct proc *));
+ struct thread *td));
#ifdef INET6
static int tcp6_connect __P((struct tcpcb *, struct sockaddr *,
- struct proc *));
+ struct thread *td));
#endif /* INET6 */
static struct tcpcb *
tcp_disconnect __P((struct tcpcb *));
@@ -116,7 +116,7 @@ static struct tcpcb *
* and an internet control block.
*/
static int
-tcp_usr_attach(struct socket *so, int proto, struct proc *p)
+tcp_usr_attach(struct socket *so, int proto, struct thread *td)
{
int s = splnet();
int error;
@@ -130,7 +130,7 @@ tcp_usr_attach(struct socket *so, int proto, struct proc *p)
goto out;
}
- error = tcp_attach(so, p);
+ error = tcp_attach(so, td);
if (error)
goto out;
@@ -189,7 +189,7 @@ tcp_usr_detach(struct socket *so)
* Give the socket an address.
*/
static int
-tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
+tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
{
int s = splnet();
int error = 0;
@@ -209,7 +209,7 @@ tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
error = EAFNOSUPPORT;
goto out;
}
- error = in_pcbbind(inp, nam, p);
+ error = in_pcbbind(inp, nam, td);
if (error)
goto out;
COMMON_END(PRU_BIND);
@@ -218,7 +218,7 @@ tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
#ifdef INET6
static int
-tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
+tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
{
int s = splnet();
int error = 0;
@@ -249,11 +249,11 @@ tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
in6_sin6_2_sin(&sin, sin6p);
inp->inp_vflag |= INP_IPV4;
inp->inp_vflag &= ~INP_IPV6;
- error = in_pcbbind(inp, (struct sockaddr *)&sin, p);
+ error = in_pcbbind(inp, (struct sockaddr *)&sin, td);
goto out;
}
}
- error = in6_pcbbind(inp, nam, p);
+ error = in6_pcbbind(inp, nam, td);
if (error)
goto out;
COMMON_END(PRU_BIND);
@@ -264,7 +264,7 @@ tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
* Prepare to accept connections.
*/
static int
-tcp_usr_listen(struct socket *so, struct proc *p)
+tcp_usr_listen(struct socket *so, struct thread *td)
{
int s = splnet();
int error = 0;
@@ -273,7 +273,7 @@ tcp_usr_listen(struct socket *so, struct proc *p)
COMMON_START();
if (inp->inp_lport == 0)
- error = in_pcbbind(inp, (struct sockaddr *)0, p);
+ error = in_pcbbind(inp, (struct sockaddr *)0, td);
if (error == 0)
tp->t_state = TCPS_LISTEN;
COMMON_END(PRU_LISTEN);
@@ -281,7 +281,7 @@ tcp_usr_listen(struct socket *so, struct proc *p)
#ifdef INET6
static int
-tcp6_usr_listen(struct socket *so, struct proc *p)
+tcp6_usr_listen(struct socket *so, struct thread *td)
{
int s = splnet();
int error = 0;
@@ -294,7 +294,7 @@ tcp6_usr_listen(struct socket *so, struct proc *p)
if (ip6_mapped_addr_on &&
(inp->inp_flags & IN6P_IPV6_V6ONLY) == 0)
inp->inp_vflag |= INP_IPV4;
- error = in6_pcbbind(inp, (struct sockaddr *)0, p);
+ error = in6_pcbbind(inp, (struct sockaddr *)0, td);
}
if (error == 0)
tp->t_state = TCPS_LISTEN;
@@ -310,7 +310,7 @@ tcp6_usr_listen(struct socket *so, struct proc *p)
* Send initial segment on connection.
*/
static int
-tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
+tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
{
int s = splnet();
int error = 0;
@@ -330,10 +330,10 @@ tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
goto out;
}
- if (p && jailed(p->p_ucred))
- prison_remote_ip(p->p_ucred, 0, &sinp->sin_addr.s_addr);
+ if (td && jailed(td->td_proc->p_ucred))
+ prison_remote_ip(td->td_proc->p_ucred, 0, &sinp->sin_addr.s_addr);
- if ((error = tcp_connect(tp, nam, p)) != 0)
+ if ((error = tcp_connect(tp, nam, td)) != 0)
goto out;
error = tcp_output(tp);
COMMON_END(PRU_CONNECT);
@@ -341,7 +341,7 @@ tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
#ifdef INET6
static int
-tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
+tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
{
int s = splnet();
int error = 0;
@@ -371,14 +371,14 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
in6_sin6_2_sin(&sin, sin6p);
inp->inp_vflag |= INP_IPV4;
inp->inp_vflag &= ~INP_IPV6;
- if ((error = tcp_connect(tp, (struct sockaddr *)&sin, p)) != 0)
+ if ((error = tcp_connect(tp, (struct sockaddr *)&sin, td)) != 0)
goto out;
error = tcp_output(tp);
goto out;
}
inp->inp_vflag &= ~INP_IPV4;
inp->inp_vflag |= INP_IPV6;
- if ((error = tcp6_connect(tp, nam, p)) != 0)
+ if ((error = tcp6_connect(tp, nam, td)) != 0)
goto out;
error = tcp_output(tp);
COMMON_END(PRU_CONNECT);
@@ -505,7 +505,7 @@ tcp_usr_rcvd(struct socket *so, int flags)
*/
static int
tcp_usr_send(struct socket *so, int flags, struct mbuf *m,
- struct sockaddr *nam, struct mbuf *control, struct proc *p)
+ struct sockaddr *nam, struct mbuf *control, struct thread *td)
{
int s = splnet();
int error = 0;
@@ -558,10 +558,10 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m,
*/
#ifdef INET6
if (isipv6)
- error = tcp6_connect(tp, nam, p);
+ error = tcp6_connect(tp, nam, td);
else
#endif /* INET6 */
- error = tcp_connect(tp, nam, p);
+ error = tcp_connect(tp, nam, td);
if (error)
goto out;
tp->snd_wnd = TTCP_CLIENT_SND_WND;
@@ -607,10 +607,10 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m,
*/
#ifdef INET6
if (isipv6)
- error = tcp6_connect(tp, nam, p);
+ error = tcp6_connect(tp, nam, td);
else
#endif /* INET6 */
- error = tcp_connect(tp, nam, p);
+ error = tcp_connect(tp, nam, td);
if (error)
goto out;
tp->snd_wnd = TTCP_CLIENT_SND_WND;
@@ -701,10 +701,10 @@ struct pr_usrreqs tcp6_usrreqs = {
* Initialize connection parameters and enter SYN-SENT state.
*/
static int
-tcp_connect(tp, nam, p)
+tcp_connect(tp, nam, td)
register struct tcpcb *tp;
struct sockaddr *nam;
- struct proc *p;
+ struct thread *td;
{
struct inpcb *inp = tp->t_inpcb, *oinp;
struct socket *so = inp->inp_socket;
@@ -716,7 +716,7 @@ tcp_connect(tp, nam, p)
int error;
if (inp->inp_lport == 0) {
- error = in_pcbbind(inp, (struct sockaddr *)0, p);
+ error = in_pcbbind(inp, (struct sockaddr *)0, td);
if (error)
return error;
}
@@ -784,10 +784,10 @@ tcp_connect(tp, nam, p)
#ifdef INET6
static int
-tcp6_connect(tp, nam, p)
+tcp6_connect(tp, nam, td)
register struct tcpcb *tp;
struct sockaddr *nam;
- struct proc *p;
+ struct thread *td;
{
struct inpcb *inp = tp->t_inpcb, *oinp;
struct socket *so = inp->inp_socket;
@@ -799,7 +799,7 @@ tcp6_connect(tp, nam, p)
int error;
if (inp->inp_lport == 0) {
- error = in6_pcbbind(inp, (struct sockaddr *)0, p);
+ error = in6_pcbbind(inp, (struct sockaddr *)0, td);
if (error)
return error;
}
@@ -1008,9 +1008,9 @@ SYSCTL_INT(_net_inet_tcp, TCPCTL_RECVSPACE, recvspace, CTLFLAG_RW,
* bufer space, and entering LISTEN state if to accept connections.
*/
static int
-tcp_attach(so, p)
+tcp_attach(so, td)
struct socket *so;
- struct proc *p;
+ struct thread *td;
{
register struct tcpcb *tp;
struct inpcb *inp;
@@ -1024,7 +1024,7 @@ tcp_attach(so, p)
if (error)
return (error);
}
- error = in_pcballoc(so, &tcbinfo, p);
+ error = in_pcballoc(so, &tcbinfo, td);
if (error)
return (error);
inp = sotoinpcb(so);
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index ab18872..4af1870 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -134,7 +134,7 @@ static void ip_2_ip6_hdr __P((struct ip6_hdr *ip6, struct ip *ip));
static int udp_detach __P((struct socket *so));
static int udp_output __P((struct inpcb *, struct mbuf *, struct sockaddr *,
- struct mbuf *, struct proc *));
+ struct mbuf *, struct thread *));
void
udp_init()
@@ -660,12 +660,12 @@ SYSCTL_PROC(_net_inet_udp, OID_AUTO, getcred,
udp_getcred, "S,xucred", "Get the xucred of a UDP connection");
static int
-udp_output(inp, m, addr, control, p)
+udp_output(inp, m, addr, control, td)
register struct inpcb *inp;
struct mbuf *m;
struct sockaddr *addr;
struct mbuf *control;
- struct proc *p;
+ struct thread *td;
{
register struct udpiphdr *ui;
register int len = m->m_pkthdr.len;
@@ -683,8 +683,8 @@ udp_output(inp, m, addr, control, p)
if (addr) {
sin = (struct sockaddr_in *)addr;
- if (p && jailed(p->p_ucred))
- prison_remote_ip(p->p_ucred, 0, &sin->sin_addr.s_addr);
+ if (td && jailed(td->td_proc->p_ucred))
+ prison_remote_ip(td->td_proc->p_ucred, 0, &sin->sin_addr.s_addr);
laddr = inp->inp_laddr;
if (inp->inp_faddr.s_addr != INADDR_ANY) {
error = EISCONN;
@@ -694,7 +694,7 @@ udp_output(inp, m, addr, control, p)
* Must block input while temporarily connected.
*/
s = splnet();
- error = in_pcbconnect(inp, addr, p);
+ error = in_pcbconnect(inp, addr, td);
if (error) {
splx(s);
goto release;
@@ -800,7 +800,7 @@ udp_abort(struct socket *so)
}
static int
-udp_attach(struct socket *so, int proto, struct proc *p)
+udp_attach(struct socket *so, int proto, struct thread *td)
{
struct inpcb *inp;
int s, error;
@@ -813,7 +813,7 @@ udp_attach(struct socket *so, int proto, struct proc *p)
if (error)
return error;
s = splnet();
- error = in_pcballoc(so, &udbinfo, p);
+ error = in_pcballoc(so, &udbinfo, td);
splx(s);
if (error)
return error;
@@ -825,7 +825,7 @@ udp_attach(struct socket *so, int proto, struct proc *p)
}
static int
-udp_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
+udp_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
{
struct inpcb *inp;
int s, error;
@@ -834,13 +834,13 @@ udp_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
if (inp == 0)
return EINVAL;
s = splnet();
- error = in_pcbbind(inp, nam, p);
+ error = in_pcbbind(inp, nam, td);
splx(s);
return error;
}
static int
-udp_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
+udp_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
{
struct inpcb *inp;
int s, error;
@@ -853,9 +853,9 @@ udp_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
return EISCONN;
s = splnet();
sin = (struct sockaddr_in *)nam;
- if (p && jailed(p->p_ucred))
- prison_remote_ip(p->p_ucred, 0, &sin->sin_addr.s_addr);
- error = in_pcbconnect(inp, nam, p);
+ if (td && jailed(td->td_proc->p_ucred))
+ prison_remote_ip(td->td_proc->p_ucred, 0, &sin->sin_addr.s_addr);
+ error = in_pcbconnect(inp, nam, td);
splx(s);
if (error == 0)
soisconnected(so);
@@ -899,7 +899,7 @@ udp_disconnect(struct socket *so)
static int
udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr,
- struct mbuf *control, struct proc *p)
+ struct mbuf *control, struct thread *td)
{
struct inpcb *inp;
@@ -908,7 +908,7 @@ udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr,
m_freem(m);
return EINVAL;
}
- return udp_output(inp, m, addr, control, p);
+ return udp_output(inp, m, addr, control, td);
}
int
OpenPOWER on IntegriCloud