mirror of
https://github.com/ipxe/ipxe
synced 2026-07-01 00:04:54 +03:00
2d8236995fd62b2e6582a5f6a3b09163bf480f39
Discarding neighbour cache entries for active connections is known to be extremely disruptive, and is therefore done only as a last resort when attempting to free up memory for a new allocation attempt. There is currently no way to discard the deferred packet queue separately from discarding the complete neighbour cache entry. Under some conditions (such as a sustained ICMP echo request packet flood from an IP address that will never complete neighbour resolution), this can lead to the deferred packet queue growing without limit, which will eventually lead to complete neighbour cache entries being discarded. Split out the logic in neighbour_destroy() for dropping deferred packets to a separate neighbour_drop() function, and add a separate cache discarder that will use this to free up memory without requiring the complete neighbour cache entry to be discarded. Reported-by: Daniel Kiper <daniel.kiper@oracle.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
iPXE network bootloader
iPXE is the leading open source network boot firmware. It provides a full PXE implementation enhanced with additional features such as:
-
boot from a web server via HTTP or HTTPS,
-
boot from an iSCSI, FCoE, or AoE SAN,
-
control the boot process with a script,
You can use iPXE to replace the existing PXE ROM on your network card, or you can chainload into iPXE to obtain the features of iPXE without the hassle of reflashing.
iPXE is free, open-source software licensed under the GNU GPL (with some portions under GPL-compatible licences).
You can download the rolling release binaries (built from the latest commit), or use the most recent stable release.
For full documentation, visit the iPXE website.
Languages
C
96.9%
Assembly
1.5%
Perl
0.6%
Python
0.4%
Makefile
0.4%