aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/common/dev_net.c
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2002-07-31 20:17:06 +0000
committerJake Burkholder <jake@FreeBSD.org>2002-07-31 20:17:06 +0000
commitf739b33f57ff17e81e0c9dd401f651738456de49 (patch)
tree99be5d67fb34cc1046acd4f6522156c3e47b0c00 /sys/boot/common/dev_net.c
parent549e510df4bb83ae49e625392125cb6ffb69fa5c (diff)
downloadsrc-f739b33f57ff17e81e0c9dd401f651738456de49.tar.gz
src-f739b33f57ff17e81e0c9dd401f651738456de49.zip
Stash various networking paramters in the environment for the kernel
to pick up, ala pxe.
Notes
Notes: svn path=/head/; revision=101112
Diffstat (limited to 'sys/boot/common/dev_net.c')
-rw-r--r--sys/boot/common/dev_net.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/boot/common/dev_net.c b/sys/boot/common/dev_net.c
index 5e7b73672d76..d0ed7013541b 100644
--- a/sys/boot/common/dev_net.c
+++ b/sys/boot/common/dev_net.c
@@ -209,6 +209,7 @@ net_getparams(sock)
{
char buf[MAXHOSTNAMELEN];
char temp[FNAME_SIZE];
+ struct iodesc *d;
int i;
n_long smask;
@@ -284,6 +285,14 @@ net_getparams(sock)
bcopy(&temp[0], &rootpath[0], strlen(&rootpath[i])+1);
}
printf("net_open: server path: %s\n", rootpath);
+
+ d = socktodesc(sock);
+ sprintf(temp, "%6D", d->myea, ":");
+ setenv("boot.netif.ip", inet_ntoa(myip), 1);
+ setenv("boot.netif.netmask", intoa(netmask), 1);
+ setenv("boot.netif.gateway", inet_ntoa(gateip), 1);
+ setenv("boot.netif.hwaddr", temp, 1);
+
return (0);
}