Clean up IPv6 sources.
authorDan Cross <crossd@gmail.com>
Wed, 9 Mar 2016 16:30:10 +0000 (11:30 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 9 Mar 2016 16:39:59 +0000 (11:39 -0500)
I'm diving into IPv6 code to get it working. These are trivial
cleanups that I don't want to obscure potential future changes
that would be more substantive.

Remove redundant or unused headers, whitespace cleanups, etc.

Signed-off-by: Dan Cross <crossd@gmail.com>
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/net/icmp6.c
kern/src/net/ipv6.c

index 3b2c23b..9b3cdf3 100644 (file)
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE. */
 
-#include <vfs.h>
-#include <kfs.h>
-#include <slab.h>
 #include <kmalloc.h>
-#include <kref.h>
 #include <string.h>
 #include <stdio.h>
-#include <assert.h>
+#include <syscall.h>
 #include <error.h>
-#include <cpio.h>
-#include <pmap.h>
-#include <smp.h>
 #include <ip.h>
 
 struct ICMPpkt {
@@ -52,10 +45,6 @@ struct ICMPpkt {
  * We have been naming the struct
  * members and just using the extra level of deref
  * e.g. i->x becomes i->i6->x.
- * I'm going to use insert the structs into
- * this because it's just a lot easier, and
- * maybe someday gcc will grow up and me more
- * like Plan 9 C.
  */
 struct IPICMP {
 /*
@@ -350,7 +339,7 @@ static void icmpctl6(struct conv *c, char **argv, int argc)
        if ((argc == 1) && strcmp(argv[0], "headers") == 0)
                icb->headers = 6;
        else
-               error(EINVAL, "unknown command to %s", __func__);
+               error(EINVAL, "unknown command to icmpctl6");
 }
 
 static void goticmpkt6(struct Proto *icmp, struct block *bp, int muxkey)
@@ -396,14 +385,15 @@ static struct block *mkechoreply6(struct block *bp)
 
 /*
  * sends out an ICMPv6 neighbor solicitation
- *     suni == SRC_UNSPEC or SRC_UNI, 
+ *     suni == SRC_UNSPEC or SRC_UNI,
  *     tuni == TARG_MULTI => multicast for address resolution,
  *     and tuni == TARG_UNI => neighbor reachability.
  */
 
-extern void
-icmpns(struct Fs *f, uint8_t * src, int suni, uint8_t * targ, int tuni,
-          uint8_t * mac)
+void icmpns(struct Fs *f,
+            uint8_t *src, int suni,
+            uint8_t *targ, int tuni,
+            uint8_t *mac)
 {
        struct block *nbp;
        struct Ndpkt *np;
@@ -447,9 +437,8 @@ icmpns(struct Fs *f, uint8_t * src, int suni, uint8_t * targ, int tuni,
 /*
  * sends out an ICMPv6 neighbor advertisement. pktflags == RSO flags.
  */
-extern void
-icmpna(struct Fs *f, uint8_t * src, uint8_t * dst, uint8_t * targ,
-          uint8_t * mac, uint8_t flags)
+void icmpna(struct Fs *f, uint8_t * src, uint8_t * dst, uint8_t * targ,
+            uint8_t * mac, uint8_t flags)
 {
        struct block *nbp;
        struct Ndpkt *np;
@@ -480,9 +469,8 @@ icmpna(struct Fs *f, uint8_t * src, uint8_t * dst, uint8_t * targ,
        ipoput6(f, nbp, 0, MAXTTL, DFLTTOS, NULL);
 }
 
-extern void
-icmphostunr(struct Fs *f, struct Ipifc *ifc,
-                       struct block *bp, int code, int free)
+void icmphostunr(struct Fs *f, struct Ipifc *ifc,
+                 struct block *bp, int code, int free)
 {
        struct block *nbp;
        struct IPICMP *np;
@@ -530,7 +518,7 @@ freebl:
                freeblist(bp);
 }
 
-extern void icmpttlexceeded6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
+void icmpttlexceeded6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
 {
        struct block *nbp;
        struct IPICMP *np;
@@ -550,10 +538,10 @@ extern void icmpttlexceeded6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
 
        if (ipv6anylocal(ifc, np->src)) {
                netlog(f, Logicmp, "send icmpttlexceeded6 -> s%I d%I\n", p->src,
-                          p->dst);
+                      p->dst);
        } else {
                netlog(f, Logicmp, "icmpttlexceeded6 fail -> s%I d%I\n", p->src,
-                          p->dst);
+                      p->dst);
                return;
        }
 
@@ -561,7 +549,7 @@ extern void icmpttlexceeded6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
        np->type = TimeExceedV6;
        np->code = 0;
        memmove(nbp->rp + sizeof(struct IPICMP), bp->rp,
-                       sz - sizeof(struct IPICMP));
+               sz - sizeof(struct IPICMP));
        set_cksum(nbp);
        np->ttl = HOP_LIMIT;
        np->vcf[0] = 0x06 << 4;
@@ -569,7 +557,7 @@ extern void icmpttlexceeded6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
        ipoput6(f, nbp, 0, MAXTTL, DFLTTOS, NULL);
 }
 
-extern void icmppkttoobig6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
+void icmppkttoobig6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
 {
        struct block *nbp;
        struct IPICMP *np;
@@ -587,12 +575,11 @@ extern void icmppkttoobig6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
        nbp = newIPICMP(sz);
        np = (struct IPICMP *)nbp->rp;
 
-       if (ipv6anylocal(ifc, np->src)) {
-               netlog(f, Logicmp, "send icmppkttoobig6 -> s%I d%I\n", p->src, p->dst);
-       } else {
+       if (!ipv6anylocal(ifc, np->src)) {
                netlog(f, Logicmp, "icmppkttoobig6 fail -> s%I d%I\n", p->src, p->dst);
                return;
        }
+       netlog(f, Logicmp, "send icmppkttoobig6 -> s%I d%I\n", p->src, p->dst);
 
        memmove(np->dst, p->src, IPaddrlen);
        np->type = PacketTooBigV6;
@@ -610,9 +597,8 @@ extern void icmppkttoobig6(struct Fs *f, struct Ipifc *ifc, struct block *bp)
 /*
  * RFC 2461, pages 39-40, pages 57-58.
  */
-static int
-valid(struct Proto *icmp, struct Ipifc *ifc,
-         struct block *bp, Icmppriv6 * ipriv)
+static int valid(struct Proto *icmp, struct Ipifc *ifc,
+                 struct block *bp, Icmppriv6 * ipriv)
 {
        int sz, osz, unsp, n, ttl, iplen;
        int pktsz = BLEN(bp);
@@ -846,7 +832,7 @@ static void icmpiput6(struct Proto *icmp, struct Ipifc *ipifc, struct block *bp)
 
                case RouterAdvert:
                case RouterSolicit:
-                       /* using lsrc as a temp, munge hdr for goticmp6 
+                       /* using lsrc as a temp, munge hdr for goticmp6
                           memmove(lsrc, p->src, IPaddrlen);
                           memmove(p->src, p->dst, IPaddrlen);
                           memmove(p->dst, lsrc, IPaddrlen); */
@@ -890,10 +876,10 @@ static void icmpiput6(struct Proto *icmp, struct Ipifc *ipifc, struct block *bp)
                case NbrAdvert:
                        np = (struct Ndpkt *)p;
 
-                       /* if the target address matches one of the local interface 
-                        * address and the local interface address has tentative bit set, 
-                        * then insert into ARP table. this is so the duplication address 
-                        * detection part of ipconfig can discover duplication through 
+                       /* if the target address matches one of the local interface
+                        * address and the local interface address has tentative bit set,
+                        * then insert into ARP table. this is so the duplication address
+                        * detection part of ipconfig can discover duplication through
                         * the arp table
                         */
                        lifc = iplocalonifc(ipifc, np->target);
@@ -932,9 +918,8 @@ int icmpstats6(struct Proto *icmp6, char *buf, int len)
                if (icmpnames6[i])
                        p = seprintf(p, e, "%s: %u %u\n", icmpnames6[i], priv->in[i],
                                                 priv->out[i]);
-/*             else
+               else
                        p = seprintf(p, e, "%d: %u %u\n", i, priv->in[i], priv->out[i]);
-*/
        }
        return p - buf;
 }
index e25e2dd..320b403 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Modified for the Akaros operating system:
  * Copyright (c) 2013-2014 The Regents of the University of California
- * Copyright (c) 2013-2015 Google Inc.
+ * Copyright (c) 2013-2016 Google Inc.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE. */
-
-#include <vfs.h>
-#include <kfs.h>
-#include <slab.h>
-#include <kmalloc.h>
-#include <kref.h>
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
-#include <error.h>
-#include <cpio.h>
-#include <pmap.h>
-#include <smp.h>
-#include <ip.h>
+ * SOFTWARE.
+ */
 
-#include <vfs.h>
-#include <kfs.h>
-#include <slab.h>
-#include <kmalloc.h>
-#include <kref.h>
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
 #include <error.h>
-#include <cpio.h>
-#include <pmap.h>
-#include <smp.h>
 #include <ip.h>
 
 enum {
@@ -74,7 +50,7 @@ enum {
 struct fragment6;
 
 struct block *ip6reassemble(struct IP *, int unused_int, struct block *,
-                                                       struct ip6hdr *);
+                            struct ip6hdr *);
 void ipfragfree6(struct IP *, struct fragment6 *);
 struct fragment6 *ipfragallo6(struct IP *);
 static struct block *procxtns(struct IP *ip, struct block *bp, int doreasm);
@@ -168,17 +144,16 @@ struct IP {
        int iprouting;                          /* true if we route like a gateway */
 };
 
-int
-ipoput6(struct Fs *f,
-               struct block *bp, int gating, int ttl, int tos, struct conv *c)
+int ipoput6(struct Fs *f, struct block *bp,
+            int gating, int ttl, int tos, struct conv *c)
 {
        ERRSTACK(1);
        int tentative;
        struct Ipifc *ifc;
        uint8_t *gate, nexthdr;
        struct ip6hdr *eh;
-       int medialen, len, chunk, uflen, flen, seglen, lid, offset, fragoff,
-               morefrags, blklen;
+       int medialen, len, chunk, uflen, flen, seglen, lid, offset, fragoff;
+       int morefrags, blklen;
        struct route *r, *sr;
        struct fraghdr6 fraghdr;
        struct block *xp, *nb;
@@ -213,7 +188,6 @@ ipoput6(struct Fs *f,
        }
 
        if (len >= IP_MAX) {
-//      print("len > IP_MAX, free\n");
                ip->stats[OutDiscards]++;
                netlog(f, Logip, "exceeded ip max size %I\n", eh->dst);
                goto free;
@@ -221,7 +195,6 @@ ipoput6(struct Fs *f,
 
        r = v6lookup(f, eh->dst, c);
        if (r == NULL) {
-//      print("no route for %I, src %I free\n", eh->dst, eh->src);
                ip->stats[OutNoRoutes]++;
                netlog(f, Logip, "no interface %I\n", eh->dst);
                rv = -1;
@@ -272,12 +245,11 @@ ipoput6(struct Fs *f,
 
        if (gating)
                if (ifc->reassemble <= 0) {
-
-                       /* v6 intermediate nodes are not supposed to fragment pkts;
-                          we fragment if ifc->reassemble is turned on; an exception
-                          needed for nat.
+                       /*
+                        * v6 intermediate nodes are not supposed to fragment pkts;
+                        * we fragment if ifc->reassemble is turned on; an exception
+                        * needed for nat.
                         */
-
                        ip->stats[OutDiscards]++;
                        icmppkttoobig6(f, ifc, bp);
                        netlog(f, Logip, "%I: gated pkts not fragmented\n", eh->dst);
@@ -595,7 +567,7 @@ struct block *procopts(struct block *bp)
 }
 
 struct block *ip6reassemble(struct IP *ip, int uflen, struct block *bp,
-                                                       struct ip6hdr *ih)
+                            struct ip6hdr *ih)
 {
 
        int fend, offset;
@@ -769,5 +741,6 @@ struct block *ip6reassemble(struct IP *ip, int uflen, struct block *bp,
                pktposn += BKFG(bl)->flen;
        }
        qunlock(&ip->fraglock6);
+
        return NULL;
 }