Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Patch from Eric Norum <eric@cls.usask.ca> to address the following problem | Joel Sherrill | 1999-10-25 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | report from Philip A. Prindeville <philipp@zembu.com>: I was working on a device driver for a certain ethernet chipset that occassionally wraps in its buffer, and causes a resulting mbuf chain with only a few dozen bytes in the first mbuf of the chain. I wouldn't have thought this would be a problem, until I ran some stress tests that flooded the ethernet receiver with packets and started to get panics here: 250 251 if (m->m_pkthdr.len < sizeof(struct ip)) 252 goto tooshort; 253 254 #ifdef DIAGNOSTIC 255 if (m->m_len < sizeof(struct ip)) 256 panic("ipintr mbuf too short"); 257 #endif 258 259 if (m->m_len < sizeof (struct ip) && 260 (m = m_pullup(m, sizeof (struct ip))) == 0) { 261 ipstat.ips_toosmall++; 262 return; 263 } 264 ip = mtod(m, struct ip *); and the panic was at line 256. But if I #undef'd DIAGNOSTICS, then the m_pullup() at line 260 does the right thing and the packet ends up being processed just fine. So I started wondering, (a) why was the test checking for something that apparently wasn't a fatal condition but rather one that is subsequently recovered from a couple of lines later and (b) why panic as a diagnostic "aid" from a recoverable condition rather than just (say) log a message to the console? All of this seems overly severe for no reason that is readily apparent to me. | ||||
* | Added PowerPC specific header checksum code. | Joel Sherrill | 1999-02-04 | 1 | -34/+5 |
| | |||||
* | Modified to include comments on how to get TCPDEBUG turned on and | Joel Sherrill | 1999-02-04 | 1 | -1/+1 |
| | | | | printing messages. | ||||
* | Added debug #define and commented it out. | Joel Sherrill | 1999-02-02 | 1 | -0/+1 |
| | |||||
* | Added PowerPC specific in_cksum file. | Joel Sherrill | 1999-02-02 | 1 | -0/+4 |
| | |||||
* | New file. Based on the i386 version. | Joel Sherrill | 1999-02-02 | 1 | -0/+202 |
| | |||||
* | Switched from printf() to puts(). | Joel Sherrill | 1999-01-26 | 1 | -1/+1 |
| | |||||
* | Patch from D. V. Henkel-Wallace <gumby@zembu.com> to use puts and have ↵ | Joel Sherrill | 1999-01-04 | 1 | -1/+3 |
| | | | | prototype. | ||||
* | Patch from D. V. Henkel-Wallace <gumby@zembu.com> to fix braces nesting problem. | Joel Sherrill | 1999-01-04 | 1 | -1/+2 |
| | |||||
* | Patch from Eric Norum and David Fiddes to put ColdFire support in | Joel Sherrill | 1998-09-21 | 1 | -8/+9 |
| | | | | the inet checksum routine. | ||||
* | Patch from "David J. Fiddes" <D.J@fiddes.surfaid.org>: | Joel Sherrill | 1998-09-11 | 1 | -126/+37 |
| | | | | | | | | | | | I've fixed a few minor probs with the optimised version that Eric put together for me the other day and sent the fixes back to him. Provided he doesn't have a problem with it we've got a pretty solid in_cksum for the ColdFire as well as straight m68k. I've enclosed my updated in_cksum_m68k.c At the moment my own bottlenecks are elsewhere...as my driver is pulling 16bit data chunks through a libchip-esq access routine from the chip which for a polled I/O device is never going to be quick. | ||||
* | Patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to make this compile | Joel Sherrill | 1998-09-10 | 1 | -1/+1 |
| | | | | for the ColdFire. | ||||
* | Added i386 specific version of in_cksum.c and restructured the main | Joel Sherrill | 1998-08-21 | 3 | -151/+515 |
| | | | | file to switch out to CPU specific implementations. | ||||
* | Another missing piece. Thanks Eric. | Joel Sherrill | 1998-08-21 | 1 | -0/+3 |
| | |||||
* | All warnings removed. | Joel Sherrill | 1998-08-21 | 3 | -4/+4 |
| | |||||
* | Fixed many warnings. | Joel Sherrill | 1998-08-20 | 4 | -5/+9 |
| | |||||
* | Base files | Joel Sherrill | 1998-08-19 | 43 | -0/+20297 |