net: tcp: Don't increment snd.nxt
[akaros.git] / kern / src / net / arp.c
index 8505edf..1c240a0 100644 (file)
@@ -79,7 +79,7 @@ static void rxmitproc(void *v);
 
 void arpinit(struct Fs *f)
 {
-       f->arp = kzmalloc(sizeof(struct arp), KMALLOC_WAIT);
+       f->arp = kzmalloc(sizeof(struct arp), MEM_WAIT);
        qlock_init(&f->arp->qlock);
        rendez_init(&f->arp->rxmtq);
        f->arp->f = f;
@@ -91,8 +91,8 @@ void arpinit(struct Fs *f)
 /*
  *  create a new arp entry for an ip address.
  */
-static struct arpent *newarp6(struct arp *arp, uint8_t * ip, struct Ipifc *ifc,
-                                                         int addrxt)
+static struct arpent *newarp6(struct arp *arp, uint8_t *ip, struct Ipifc *ifc,
+                              int addrxt)
 {
        unsigned int t;
        struct block *next, *xp;
@@ -121,7 +121,8 @@ static struct arpent *newarp6(struct arp *arp, uint8_t * ip, struct Ipifc *ifc,
                        freeblist(xp);
                        xp = next;
                }
-       } else {        // queue icmp unreachable for rxmitproc later on, w/o arp lock
+       } else {
+               /* queue icmp unreachable for rxmitproc later, w/o arp lock */
                if (xp) {
                        if (arp->dropl == NULL)
                                arp->dropf = xp;
@@ -229,7 +230,7 @@ void cleanarpent(struct arp *arp, struct arpent *a)
  *  waiting for ip->mac to be resolved.
  */
 struct arpent *arpget(struct arp *arp, struct block *bp, int version,
-                                         struct Ipifc *ifc, uint8_t * ip, uint8_t * mac)
+                      struct Ipifc *ifc, uint8_t *ip, uint8_t *mac)
 {
        int hash, len;
        struct arpent *a;
@@ -298,7 +299,7 @@ void arprelease(struct arp *arp, struct arpent *a)
  * called with arp locked
  */
 struct block *arpresolve(struct arp *arp, struct arpent *a, struct medium *type,
-                                                uint8_t * mac)
+                         uint8_t *mac)
 {
        struct block *bp;
        struct arpent *f, **l;
@@ -329,9 +330,8 @@ struct block *arpresolve(struct arp *arp, struct arpent *a, struct medium *type,
        return bp;
 }
 
-void
-arpenter(struct Fs *fs, int version, uint8_t * ip, uint8_t * mac, int n,
-                int refresh)
+void arpenter(struct Fs *fs, int version, uint8_t *ip, uint8_t *mac, int n,
+              int refresh)
 {
        ERRSTACK(1);
        struct arp *arp;
@@ -345,7 +345,6 @@ arpenter(struct Fs *fs, int version, uint8_t * ip, uint8_t * mac, int n,
        arp = fs->arp;
 
        if (n != 6) {
-//      print("arp: len = %d\n", n);
                return;
        }
 
@@ -364,7 +363,6 @@ arpenter(struct Fs *fs, int version, uint8_t * ip, uint8_t * mac, int n,
        }
 
        if (r == NULL) {
-//      print("arp: no route for entry\n");
                return;
        }
 
@@ -449,7 +447,7 @@ int arpwrite(struct Fs *fs, char *s, long len)
        arp = fs->arp;
 
        if (len <= 0)
-               error(EINVAL, NULL);
+               error(EINVAL, ERROR_FIXME);
        if (len > sizeof(buf))
                len = sizeof(buf);
        strlcpy(buf, s, sizeof(buf));
@@ -472,7 +470,7 @@ int arpwrite(struct Fs *fs, char *s, long len)
                        }
                }
                memset(arp->hash, 0, sizeof(arp->hash));
-               // clear all pkts on these lists (rxmt, dropf/l)
+               /* clear all pkts on these lists (rxmt, dropf/l) */
                arp->rxmt = NULL;
                arp->dropf = NULL;
                arp->dropl = NULL;
@@ -480,7 +478,7 @@ int arpwrite(struct Fs *fs, char *s, long len)
        } else if (strcmp(f[0], "add") == 0) {
                switch (n) {
                        default:
-                               error(EINVAL, NULL);
+                               error(EINVAL, ERROR_FIXME);
                        case 3:
                                parseip(ip, f[1]);
                                if (isv4(ip))
@@ -495,19 +493,19 @@ int arpwrite(struct Fs *fs, char *s, long len)
                        case 4:
                                m = ipfindmedium(f[1]);
                                if (m == NULL)
-                                       error(EINVAL, NULL);
+                                       error(EINVAL, ERROR_FIXME);
                                parseip(ip, f[2]);
                                n = parsemac(mac, f[3], m->maclen);
                                break;
                }
 
                if (m->ares == NULL)
-                       error(EINVAL, NULL);
+                       error(EINVAL, ERROR_FIXME);
 
                m->ares(fs, V6, ip, mac, n, 0);
        } else if (strcmp(f[0], "del") == 0) {
                if (n != 2)
-                       error(EINVAL, NULL);
+                       error(EINVAL, ERROR_FIXME);
 
                parseip(ip, f[1]);
                qlock(&arp->qlock);
@@ -542,7 +540,7 @@ int arpwrite(struct Fs *fs, char *s, long len)
                }
                qunlock(&arp->qlock);
        } else
-               error(EINVAL, NULL);
+               error(EINVAL, ERROR_FIXME);
 
        return len;
 }
@@ -603,11 +601,11 @@ static uint64_t rxmitsols(struct arp *arp)
        a = arp->rxmt;
        if (a == NULL) {
                nrxt = 0;
-               goto dodrops;   //return nrxt;
+               goto dodrops;   /* return nrxt; */
        }
        nrxt = a->rtime - NOW;
        if (nrxt > 3 * ReTransTimer / 4)
-               goto dodrops;   //return nrxt;
+               goto dodrops;   /* return nrxt; */
 
        for (; a; a = a->nextrxt) {
                ifc = a->ifc;
@@ -693,7 +691,6 @@ static void rxmitproc(void *v)
        uint64_t wakeupat;
 
        arp->rxmitp = current;
-       //print("arp rxmitproc started\n");
        if (waserror()) {
                arp->rxmitp = 0;
                poperror();