[ipv6] Obtain MTU setting from NDP

RA contains MTU setting, this is especially needed in some networks
which don't have a a full 1500 MTU link to IPv6 internet.  Mostly due
to some providers (such as Microsoft Azure) not having a working pMTUd
setup.

Signed-off-by: Christian I. Nilsson <nikize@gmail.com>
Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Christian I. Nilsson
2026-02-23 14:00:02 +00:00
committed by Michael Brown
parent 1eb571cef4
commit 1b6d88d646
2 changed files with 25 additions and 0 deletions
+15
View File
@@ -68,6 +68,19 @@ struct ndp_prefix_information_option {
/** NDP autonomous address configuration flag */
#define NDP_PREFIX_AUTONOMOUS 0x40
/** NDP MTU option */
#define NDP_OPT_MTU 5
/** NDP MTU */
struct ndp_mtu_option {
/** NDP option header */
struct ndp_option_header header;
/** Reserved */
uint16_t reserved;
/** MTU */
uint32_t mtu;
} __attribute__ (( packed ));
/** NDP recursive DNS server option */
#define NDP_OPT_RDNSS 25
@@ -106,6 +119,8 @@ union ndp_option {
struct ndp_ll_addr_option ll_addr;
/** Prefix information option */
struct ndp_prefix_information_option prefix;
/** MTU option */
struct ndp_mtu_option mtu;
/** Recursive DNS server option */
struct ndp_rdnss_option rdnss;
/** DNS search list option */