From a51aa927fad5ab9ebbb294340935d462f68ee19b Mon Sep 17 00:00:00 2001 From: rrs Date: Wed, 9 Jul 2008 16:45:30 +0000 Subject: 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! --- sys/netinet6/sctp6_usrreq.c | 8 ++++---- sys/netinet6/sctp6_var.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'sys/netinet6') 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 __FBSDID("$FreeBSD$"); +/* TODO __Userspace__ IPv6 stuff... */ #if defined(_KERNEL) SYSCTL_DECL(_net_inet6_sctp6); -- cgit v1.1