Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Mar 2016 15:06:50 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r297151 - in head/sys/boot: common i386/libi386
Message-ID:  <201603211506.u2LF6ovE009051@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ian
Date: Mon Mar 21 15:06:50 2016
New Revision: 297151
URL: https://svnweb.freebsd.org/changeset/base/297151

Log:
  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.

Modified:
  head/sys/boot/common/dev_net.c
  head/sys/boot/i386/libi386/pxe.c

Modified: head/sys/boot/common/dev_net.c
==============================================================================
--- head/sys/boot/common/dev_net.c	Mon Mar 21 14:58:12 2016	(r297150)
+++ head/sys/boot/common/dev_net.c	Mon Mar 21 15:06:50 2016	(r297151)
@@ -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;

Modified: head/sys/boot/i386/libi386/pxe.c
==============================================================================
--- head/sys/boot/i386/libi386/pxe.c	Mon Mar 21 14:58:12 2016	(r297150)
+++ head/sys/boot/i386/libi386/pxe.c	Mon Mar 21 15:06:50 2016	(r297151)
@@ -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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603211506.u2LF6ovE009051>