summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2013-06-01 16:22:06 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2013-06-01 16:22:06 +0000
commit51a166362649e2fe7de4dd395ebd8018574499c0 (patch)
treeb596ebb8beefa61975729bb0996eb8005877b0bb
parent6c767d473d124564aa10591e9b7250fa0f9b7ee7 (diff)
Pass the routing domain to IPv6 pr_ctlinput() like in IPv4.
OK claudio@
-rw-r--r--sys/netinet/tcp_subr.c7
-rw-r--r--sys/netinet/tcp_var.h4
-rw-r--r--sys/netinet/udp_usrreq.c4
-rw-r--r--sys/netinet/udp_var.h4
-rw-r--r--sys/netinet6/icmp6.c10
-rw-r--r--sys/netinet6/ip6_var.h4
-rw-r--r--sys/netinet6/ip6protosw.h4
-rw-r--r--sys/netinet6/raw_ip6.c4
8 files changed, 19 insertions, 22 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index 508a57ee1b3..ff9249bb62e 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_subr.c,v 1.119 2013/05/31 13:15:53 bluhm Exp $ */
+/* $OpenBSD: tcp_subr.c,v 1.120 2013/06/01 16:22:05 bluhm Exp $ */
/* $NetBSD: tcp_subr.c,v 1.22 1996/02/13 23:44:00 christos Exp $ */
/*
@@ -653,10 +653,7 @@ tcp_notify(inp, error)
#ifdef INET6
void
-tcp6_ctlinput(cmd, sa, d)
- int cmd;
- struct sockaddr *sa;
- void *d;
+tcp6_ctlinput(int cmd, struct sockaddr *sa, u_int rdomain, void *d)
{
struct tcphdr th;
struct tcpcb *tp;
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index f25ef5d8129..f3053598a58 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_var.h,v 1.100 2013/04/10 08:50:59 mpi Exp $ */
+/* $OpenBSD: tcp_var.h,v 1.101 2013/06/01 16:22:05 bluhm Exp $ */
/* $NetBSD: tcp_var.h,v 1.17 1996/02/13 23:44:24 christos Exp $ */
/*
@@ -567,7 +567,7 @@ struct tcpcb *
void tcp_reaper(void *);
int tcp_freeq(struct tcpcb *);
#ifdef INET6
-void tcp6_ctlinput(int, struct sockaddr *, void *);
+void tcp6_ctlinput(int, struct sockaddr *, u_int, void *);
#endif
void *tcp_ctlinput(int, struct sockaddr *, u_int, void *);
int tcp_ctloutput(int, struct socket *, int, int, struct mbuf **);
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index a4863ebea6b..2d2f68a468b 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: udp_usrreq.c,v 1.162 2013/05/31 13:15:53 bluhm Exp $ */
+/* $OpenBSD: udp_usrreq.c,v 1.163 2013/06/01 16:22:05 bluhm Exp $ */
/* $NetBSD: udp_usrreq.c,v 1.28 1996/03/16 23:54:03 christos Exp $ */
/*
@@ -737,7 +737,7 @@ udp_notify(struct inpcb *inp, int errno)
#ifdef INET6
void
-udp6_ctlinput(int cmd, struct sockaddr *sa, void *d)
+udp6_ctlinput(int cmd, struct sockaddr *sa, u_int rdomain, void *d)
{
struct udphdr uh;
struct sockaddr_in6 sa6;
diff --git a/sys/netinet/udp_var.h b/sys/netinet/udp_var.h
index e6f88d8a826..363ebd12f3c 100644
--- a/sys/netinet/udp_var.h
+++ b/sys/netinet/udp_var.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: udp_var.h,v 1.21 2010/10/21 11:38:27 bluhm Exp $ */
+/* $OpenBSD: udp_var.h,v 1.22 2013/06/01 16:22:05 bluhm Exp $ */
/* $NetBSD: udp_var.h,v 1.12 1996/02/13 23:44:41 christos Exp $ */
/*
@@ -103,7 +103,7 @@ extern struct inpcbtable udbtable;
extern struct udpstat udpstat;
#ifdef INET6
-void udp6_ctlinput(int, struct sockaddr *, void *);
+void udp6_ctlinput(int, struct sockaddr *, u_int, void *);
int udp6_input(struct mbuf **, int *, int);
#endif /* INET6 */
void *udp_ctlinput(int, struct sockaddr *, u_int, void *);
diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c
index 99d76239011..d0911355365 100644
--- a/sys/netinet6/icmp6.c
+++ b/sys/netinet6/icmp6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: icmp6.c,v 1.127 2013/05/31 15:04:23 bluhm Exp $ */
+/* $OpenBSD: icmp6.c,v 1.128 2013/06/01 16:22:05 bluhm Exp $ */
/* $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */
/*
@@ -892,7 +892,7 @@ icmp6_notify_error(struct mbuf *m, int off, int icmp6len, int code)
/* Detect the upper level protocol */
{
- void (*ctlfunc)(int, struct sockaddr *, void *);
+ void (*ctlfunc)(int, struct sockaddr *, u_int, void *);
u_int8_t nxt = eip6->ip6_nxt;
int eoff = off + sizeof(struct icmp6_hdr) +
sizeof(struct ip6_hdr);
@@ -1062,10 +1062,10 @@ icmp6_notify_error(struct mbuf *m, int off, int icmp6len, int code)
ip6cp.ip6c_cmdarg = (void *)&notifymtu;
}
- ctlfunc = (void (*)(int, struct sockaddr *, void *))
- (inet6sw[ip6_protox[nxt]].pr_ctlinput);
+ ctlfunc = inet6sw[ip6_protox[nxt]].pr_ctlinput;
if (ctlfunc)
- (void) (*ctlfunc)(code, sin6tosa(&icmp6dst), &ip6cp);
+ (*ctlfunc)(code, sin6tosa(&icmp6dst),
+ m->m_pkthdr.rdomain, &ip6cp);
}
return (0);
diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h
index 14012b5d78d..d464e29fc3e 100644
--- a/sys/netinet6/ip6_var.h
+++ b/sys/netinet6/ip6_var.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip6_var.h,v 1.45 2013/03/14 11:18:37 mpi Exp $ */
+/* $OpenBSD: ip6_var.h,v 1.46 2013/06/01 16:22:05 bluhm Exp $ */
/* $KAME: ip6_var.h,v 1.33 2000/06/11 14:59:20 jinmei Exp $ */
/*
@@ -295,7 +295,7 @@ void frag6_drain(void);
void rip6_init(void);
int rip6_input(struct mbuf **mp, int *offp, int proto);
-void rip6_ctlinput(int, struct sockaddr *, void *);
+void rip6_ctlinput(int, struct sockaddr *, u_int, void *);
int rip6_ctloutput(int, struct socket *, int, int, struct mbuf **);
int rip6_output(struct mbuf *, ...);
int rip6_usrreq(struct socket *,
diff --git a/sys/netinet6/ip6protosw.h b/sys/netinet6/ip6protosw.h
index cd732740c2b..ef25a18478f 100644
--- a/sys/netinet6/ip6protosw.h
+++ b/sys/netinet6/ip6protosw.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip6protosw.h,v 1.8 2013/04/24 10:17:08 mpi Exp $ */
+/* $OpenBSD: ip6protosw.h,v 1.9 2013/06/01 16:22:05 bluhm Exp $ */
/* $KAME: ip6protosw.h,v 1.22 2001/02/08 18:02:08 itojun Exp $ */
/*
@@ -123,7 +123,7 @@ struct ip6protosw {
/* output to protocol (from above) */
int (*pr_output)(struct mbuf *, ...);
/* control input (from below) */
- void (*pr_ctlinput)(int, struct sockaddr *, void *);
+ void (*pr_ctlinput)(int, struct sockaddr *, u_int, void *);
/* control output (from above) */
int (*pr_ctloutput)(int, struct socket *, int, int, struct mbuf **);
diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c
index 6866ebea562..063267915fb 100644
--- a/sys/netinet6/raw_ip6.c
+++ b/sys/netinet6/raw_ip6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: raw_ip6.c,v 1.56 2013/05/31 15:04:25 bluhm Exp $ */
+/* $OpenBSD: raw_ip6.c,v 1.57 2013/06/01 16:22:05 bluhm Exp $ */
/* $KAME: raw_ip6.c,v 1.69 2001/03/04 15:55:44 itojun Exp $ */
/*
@@ -236,7 +236,7 @@ rip6_input(struct mbuf **mp, int *offp, int proto)
}
void
-rip6_ctlinput(int cmd, struct sockaddr *sa, void *d)
+rip6_ctlinput(int cmd, struct sockaddr *sa, u_int rdomain, void *d)
{
struct ip6_hdr *ip6;
struct ip6ctlparam *ip6cp = NULL;