Michael Brown 730c122c1d [test] Fix RFC 1071 checksum calculation for big-endian targets
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>
2026-06-13 16:22:49 +01:00
2026-03-06 15:48:55 +00:00
2015-02-26 17:59:53 +00:00

iPXE network bootloader

Build Coverity Release

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,

  • create interactive forms and menus.

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.

S
Description
No description provided
Readme 113 MiB
Languages
C 96.9%
Assembly 1.5%
Perl 0.6%
Python 0.4%
Makefile 0.4%