summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/udp6_usrreq.c
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2004-02-13 14:50:01 +0000
committerume <ume@FreeBSD.org>2004-02-13 14:50:01 +0000
commitf35565e63f9461f81b17f432764b5ca25e02856c (patch)
treef952cbefcf8a041f874d6e06257be2836aede356 /sys/netinet6/udp6_usrreq.c
parent326680c1492004585de0fab05ad78cb474e6f539 (diff)
downloadFreeBSD-src-f35565e63f9461f81b17f432764b5ca25e02856c.zip
FreeBSD-src-f35565e63f9461f81b17f432764b5ca25e02856c.tar.gz
supported IPV6_RECVPATHMTU socket option.
Obtained from: KAME
Diffstat (limited to 'sys/netinet6/udp6_usrreq.c')
-rw-r--r--sys/netinet6/udp6_usrreq.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c
index deb2a31..d95fc26 100644
--- a/sys/netinet6/udp6_usrreq.c
+++ b/sys/netinet6/udp6_usrreq.c
@@ -435,6 +435,7 @@ udp6_ctlinput(cmd, sa, d)
int off = 0;
struct ip6ctlparam *ip6cp = NULL;
const struct sockaddr_in6 *sa6_src = NULL;
+ void *cmdarg;
struct inpcb *(*notify) __P((struct inpcb *, int)) = udp_notify;
struct udp_portonly {
u_int16_t uh_sport;
@@ -460,10 +461,12 @@ udp6_ctlinput(cmd, sa, d)
m = ip6cp->ip6c_m;
ip6 = ip6cp->ip6c_ip6;
off = ip6cp->ip6c_off;
+ cmdarg = ip6cp->ip6c_cmdarg;
sa6_src = ip6cp->ip6c_src;
} else {
m = NULL;
ip6 = NULL;
+ cmdarg = NULL;
sa6_src = &sa6_any;
}
@@ -481,12 +484,12 @@ udp6_ctlinput(cmd, sa, d)
m_copydata(m, off, sizeof(*uhp), (caddr_t)&uh);
(void) in6_pcbnotify(&udb, sa, uh.uh_dport,
- (struct sockaddr *)ip6cp->ip6c_src,
- uh.uh_sport, cmd, notify);
+ (struct sockaddr *)ip6cp->ip6c_src,
+ uh.uh_sport, cmd, cmdarg, notify);
} else
(void) in6_pcbnotify(&udb, sa, 0,
(const struct sockaddr *)sa6_src,
- 0, cmd, notify);
+ 0, cmd, cmdarg, notify);
}
static int
OpenPOWER on IntegriCloud