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);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to