qio: Track the amount of bytes read
[akaros.git] / kern / src / net / ipaux.c
index cf1eeb2..c466a84 100644 (file)
 /*
  *  well known IP addresses
  */
+uint8_t IPv4_loopback[IPaddrlen] = {
+       0, 0, 0, 0,
+       0, 0, 0, 0,
+       0, 0, 0xff, 0xff,
+       0x7f, 0x00, 0x00, 0x01
+};
+
+uint8_t IPv4_zeroes[IPaddrlen] = {
+       0, 0, 0, 0,
+       0, 0, 0, 0,
+       0, 0, 0xff, 0xff,
+       0x00, 0x00, 0x00, 0x00
+};
+
 uint8_t IPv4bcast[IPaddrlen] = {
        0, 0, 0, 0,
        0, 0, 0, 0,
@@ -279,8 +293,8 @@ uint16_t ptclcsum_one(struct block *bp, int offset, int len)
                        hisum += ptclbsum(addr, x);
                else
                        losum += ptclbsum(addr, x);
+               odd = (odd + x) & 1;
                len -= x;
-
        }
        losum += hisum >> 8;
        losum += (hisum & 0xff) << 8;