diff options
| author | Michael Brown | 2006-08-09 03:24:32 +0200 |
|---|---|---|
| committer | Michael Brown | 2006-08-09 03:24:32 +0200 |
| commit | a3d508b648906fb742e5205bcd4b97fbf88ea653 (patch) | |
| tree | f5783a075a4d73d014949412a2323637bace4a09 /src/Makefile | |
| parent | Note to self: learn to count. (diff) | |
| download | ipxe-a3d508b648906fb742e5205bcd4b97fbf88ea653.tar.gz ipxe-a3d508b648906fb742e5205bcd4b97fbf88ea653.tar.xz ipxe-a3d508b648906fb742e5205bcd4b97fbf88ea653.zip | |
Clarified packet ownership transfer between a few functions.
Added a large number of missing calls to free_pkb(). In the case of UDP,
no received packets were ever freed, which lead to memory exhaustion
remarkably quickly once pxelinux started up.
In general, any function with _rx() in its name which accepts a pk_buff
*must* either call free_pkb() or pass the pkb to another _rx() function
(e.g. the next layer up the stack). Since the UDP (and TCP) layers don't
pass packet buffers up to the higher-layer protocols (the
"applications"), they must free the packet buffer after calling the
application's newdata() method.
Diffstat (limited to 'src/Makefile')
0 files changed, 0 insertions, 0 deletions
