summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2008-07-09 16:45:30 +0000
committerrrs <rrs@FreeBSD.org>2008-07-09 16:45:30 +0000
commita51aa927fad5ab9ebbb294340935d462f68ee19b (patch)
tree4a87f4aa4fe465871cb0aabaa4a65bf4595791b3 /sys/netinet6
parentc0ef832fd278f80304905d075e4657c1a92b196b (diff)
downloadFreeBSD-src-a51aa927fad5ab9ebbb294340935d462f68ee19b.zip
FreeBSD-src-a51aa927fad5ab9ebbb294340935d462f68ee19b.tar.gz
1) Adds the rest of the VIMAGE change macros
2) Adds some __UserSpace__ on some of the common defines that the user space code needs 3) Fixes a bug when we send up data to a user that failed. We need to a) trim off the data chunk headers, if present, and b) make sure the frag bit is communicated properly for the msgs coming off the stream queues... i.e. we see if some of the msg has been taken. Obtained from: jeli contributed the VIMAGE changes on this pass Thanks Julain!
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/sctp6_usrreq.c8
-rw-r--r--sys/netinet6/sctp6_var.h1
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/netinet6/sctp6_usrreq.c b/sys/netinet6/sctp6_usrreq.c
index 92e5a9e..d021dfc 100644
--- a/sys/netinet6/sctp6_usrreq.c
+++ b/sys/netinet6/sctp6_usrreq.c
@@ -210,7 +210,7 @@ sctp_skip_csum:
*/
if (in6p_ip && (ipsec6_in_reject(m, in6p_ip))) {
/* XXX */
- ipsec6stat.in_polvio++;
+ MODULE_GLOBAL(MOD_IPSEC, ipsec6stat).in_polvio++;
goto bad;
}
#endif /* IPSEC */
@@ -679,7 +679,7 @@ sctp6_attach(struct socket *so, int proto, struct thread *p)
* socket as well, because the socket may be bound to an IPv6
* wildcard address, which may match an IPv4-mapped IPv6 address.
*/
- inp6->inp_ip_ttl = ip_defttl;
+ inp6->inp_ip_ttl = MODULE_GLOBAL(MOD_INET, ip_defttl);
#endif
/*
* Hmm what about the IPSEC stuff that is missing here but in
@@ -843,7 +843,7 @@ sctp6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr,
}
}
if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
- if (!ip6_v6only) {
+ if (!MODULE_GLOBAL(MOD_INET6, ip6_v6only)) {
struct sockaddr_in sin;
/* convert v4-mapped into v4 addr and send */
@@ -974,7 +974,7 @@ sctp6_connect(struct socket *so, struct sockaddr *addr, struct thread *p)
}
}
if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
- if (!ip6_v6only) {
+ if (!MODULE_GLOBAL(MOD_INET6, ip6_v6only)) {
/* convert v4-mapped into v4 addr */
in6_sin6_2_sin((struct sockaddr_in *)&ss, sin6);
addr = (struct sockaddr *)&ss;
diff --git a/sys/netinet6/sctp6_var.h b/sys/netinet6/sctp6_var.h
index 6e8a95e..a05f6b0 100644
--- a/sys/netinet6/sctp6_var.h
+++ b/sys/netinet6/sctp6_var.h
@@ -35,6 +35,7 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+/* TODO __Userspace__ IPv6 stuff... */
#if defined(_KERNEL)
SYSCTL_DECL(_net_inet6_sctp6);
OpenPOWER on IntegriCloud