If the dhcp server provided an interface-mtu option, transcribe the value

to the boot.netif.mtu env var, which will be picked up by pre-existing code
in nfs_mountroot() and used to configure the interface accordingly.

This should bring the same functionality when the bootp/dhcp work is done
by loader(8) as r297150 does for the in-kernel BOOTP case.
This commit is contained in:
Ian Lepore 2016-03-21 15:06:50 +00:00
parent 00f66a5236
commit 98acd232ad
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=297151
2 changed files with 11 additions and 0 deletions

View File

@ -169,6 +169,12 @@ net_open(struct open_file *f, ...)
setenv("boot.netif.gateway", inet_ntoa(gateip), 1);
setenv("boot.nfsroot.server", inet_ntoa(rootip), 1);
setenv("boot.nfsroot.path", rootpath, 1);
if (intf_mtu != 0) {
char mtu[16];
sprintf(mtu, "%u", intf_mtu);
setenv("boot.netif.mtu", mtu, 1);
}
}
netdev_opens++;
f->f_devdata = &netdev_sock;

View File

@ -310,6 +310,11 @@ pxe_open(struct open_file *f, ...)
sprintf(temp, "%6D", bootplayer.CAddr, ":");
setenv("boot.netif.hwaddr", temp, 1);
}
if (intf_mtu != 0) {
char mtu[16];
sprintf(mtu, "%u", intf_mtu);
setenv("boot.netif.mtu", mtu, 1);
}
#ifdef LOADER_NFS_SUPPORT
printf("pxe_open: server addr: %s\n", inet_ntoa(rootip));
printf("pxe_open: server path: %s\n", rootpath);