mirror of
https://github.com/ipxe/ipxe
synced 2026-06-29 00:07:28 +03:00
730c122c1dca346094294b084922a7e0d6df131c
Calculation of the TCP/IP checksum is fundamentally endian-agnostic: the checksum is designed to be symmetric so that both big-endian and little-endian systems can use native addition in any word size without any byte swapping. The result is then stored into the checksum field in the packet header as a native-endian value. The reference algorithm presented in RFC 1071 (and used in our test suite) is implicitly little-endian: the trailing byte is on a 16-bit word boundary and is added to the least significant byte of the 16-bit checksum value. Fix by shifting the trailing byte by 8 bits on big-endian targets. 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%