| plan 9 kernel history: overview | file list | diff list |
1997/0916/ip/ip.c (diff list | history)
| 1997/0815/sys/src/9/ip/ip.c:67,72 – 1997/0916/sys/src/9/ip/ip.c:67,78 (short | long | prev | next) | ||
| 1997/0327 | */ #define BKFG(xp) ((Ipfrag*)((xp)->base)) | |
| 1997/0916 | static struct Stats { ulong noroute; ulong droppedfrag; } stats; | |
| 1997/0327 | ushort ipcsum(byte*); Block* ipreassemble(int, Block*, Iphdr*); | |
| 1997/0529 | void ipfragfree(Fragment*); | |
| 1997/0815/sys/src/9/ip/ip.c:109,114 – 1997/0916/sys/src/9/ip/ip.c:115,121 | ||
| 1997/0423 | } else m = Mediaroute(eh->dst, gate); | |
| 1997/0327 | if(m == nil){ | |
| 1997/0916 | stats.noroute++; | |
| 1997/0327 | netlog(Logip, "no interface %I\n", eh->dst); goto raise; } | |
| 1997/0815/sys/src/9/ip/ip.c:307,312 – 1997/0916/sys/src/9/ip/ip.c:314,321 | ||
| 1997/0327 | ||
| 1997/0808 | n = snprint(buf, len, "ip: csum %lud inb %lud outb %lud inp %lud outp %lud\n", | |
| 1997/0327 | ipcsumerr, ipin, ipout, ippin, ippout); | |
| 1997/0916 | n += snprint(buf+n, len - n, "\tnoroute %lud droppedfrag %lud\n", stats.noroute, stats.droppedfrag); | |
| 1997/0327 | return n; } | |
| 1997/0815/sys/src/9/ip/ip.c:341,348 – 1997/0916/sys/src/9/ip/ip.c:350,359 | ||
| 1997/0327 | fnext = f->next; /* because ipfragfree changes the list */ if(f->src == src && f->dst == dst && f->id == id) break; | |
| 1997/0529 |
| |
| 1997/0916 | if(f->age < msec){ stats.droppedfrag++; | |
| 1997/0529 | ipfragfree(f); | |
| 1997/0916 | } | |
| 1997/0327 | } /* | |