Module Name: src
Committed By: maxv
Date: Fri Apr 13 11:32:44 UTC 2018
Modified Files:
src/sys/netinet6: frag6.c
Log Message:
Localify global variables, style, and add two XXXs.
To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/sys/netinet6/frag6.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet6/frag6.c
diff -u src/sys/netinet6/frag6.c:1.70 src/sys/netinet6/frag6.c:1.71
--- src/sys/netinet6/frag6.c:1.70 Fri Apr 13 11:19:09 2018
+++ src/sys/netinet6/frag6.c Fri Apr 13 11:32:44 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: frag6.c,v 1.70 2018/04/13 11:19:09 maxv Exp $ */
+/* $NetBSD: frag6.c,v 1.71 2018/04/13 11:32:44 maxv Exp $ */
/* $KAME: frag6.c,v 1.40 2002/05/27 21:40:31 itojun Exp $ */
/*
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: frag6.c,v 1.70 2018/04/13 11:19:09 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: frag6.c,v 1.71 2018/04/13 11:32:44 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_net_mpsafe.h"
@@ -59,8 +59,10 @@ __KERNEL_RCSID(0, "$NetBSD: frag6.c,v 1.
#include <net/net_osdep.h>
/*
- * IP6 reassembly queue structure. Each fragment
- * being reassembled is attached to one of these structures.
+ * IPv6 reassembly queue structure. Each fragment being reassembled is
+ * attached to one of these structures.
+ *
+ * XXX: Would be better to use TAILQ.
*/
struct ip6q {
u_int32_t ip6q_head;
@@ -93,7 +95,6 @@ struct ip6asfrag {
bool ip6af_mff; /* more fragment bit in frag off */
};
-
static void frag6_enq(struct ip6asfrag *, struct ip6asfrag *);
static void frag6_deq(struct ip6asfrag *);
static void frag6_insque(struct ip6q *, struct ip6q *);
@@ -102,9 +103,9 @@ static void frag6_freef(struct ip6q *);
static int frag6_drainwanted;
-u_int frag6_nfragpackets;
-u_int frag6_nfrags;
-struct ip6q ip6q; /* ip6 reassembly queue */
+static u_int frag6_nfragpackets;
+static u_int frag6_nfrags;
+static struct ip6q ip6q; /* ip6 reassembly queue */
/* Protects ip6q */
static kmutex_t frag6_lock __cacheline_aligned;
@@ -216,6 +217,10 @@ frag6_input(struct mbuf **mp, int *offp,
* a Fragment Header with the "Fragment Offset" equal to 0 and
* the "M" bit equal to 0 MUST process such packet in isolation
* from any other packets/fragments.
+ *
+ * XXX: Would be better to remove this fragment header entirely,
+ * for us not to get confused later when looking back at the
+ * previous headers in the chain.
*/
fragoff = ntohs(ip6f->ip6f_offlg & IP6F_OFF_MASK);
if (fragoff == 0 && !(ip6f->ip6f_offlg & IP6F_MORE_FRAG)) {
@@ -664,7 +669,7 @@ frag6_slowtimo(void)
mutex_enter(&frag6_lock);
q6 = ip6q.ip6q_next;
- if (q6)
+ if (q6) {
while (q6 != &ip6q) {
--q6->ip6q_ttl;
q6 = q6->ip6q_next;
@@ -674,6 +679,8 @@ frag6_slowtimo(void)
frag6_freef(q6->ip6q_prev);
}
}
+ }
+
/*
* If we are over the maximum number of fragments
* (due to the limit being lowered), drain off
@@ -698,7 +705,6 @@ frag6_slowtimo(void)
rtcache_free(&ip6_forward_rt);
rtcache_free(&ipsrcchk_rt);
#endif
-
}
void