diff options
author | pst <pst@FreeBSD.org> | 1996-01-23 02:22:16 +0000 |
---|---|---|
committer | pst <pst@FreeBSD.org> | 1996-01-23 02:22:16 +0000 |
commit | e850eb882e658a67b4033dbe412ee57b4a559d42 (patch) | |
tree | 73623b1e2a4eaa9b8ca763ac4ae9d8274ad88a7e /libexec | |
parent | c0d4957f333add9b8fcf7cb3a8ff91dafcafc01b (diff) | |
download | FreeBSD-src-e850eb882e658a67b4033dbe412ee57b4a559d42.zip FreeBSD-src-e850eb882e658a67b4033dbe412ee57b4a559d42.tar.gz |
Merge back in 4.4bsd ARP changes by hand
Diffstat (limited to 'libexec')
-rw-r--r-- | libexec/bootpd/Makefile.inc | 3 | ||||
-rw-r--r-- | libexec/bootpd/hwaddr.c | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libexec/bootpd/Makefile.inc b/libexec/bootpd/Makefile.inc new file mode 100644 index 0000000..d055f52 --- /dev/null +++ b/libexec/bootpd/Makefile.inc @@ -0,0 +1,3 @@ +# $Id$ + +BINDIR?= /usr/libexec diff --git a/libexec/bootpd/hwaddr.c b/libexec/bootpd/hwaddr.c index 191fadc..81c1c98 100644 --- a/libexec/bootpd/hwaddr.c +++ b/libexec/bootpd/hwaddr.c @@ -48,6 +48,13 @@ #define ATF_INUSE 0 #endif +/* For BSD 4.4, set arp entry by writing to routing socket */ +#if defined(BSD) +#if BSD >= 199306 +extern int bsd_arp_set __P((struct in_addr *, char *, int)); +#endif +#endif + #include "bptypes.h" #include "hwaddr.h" #include "report.h" @@ -175,6 +182,9 @@ setarp(s, ia, hafamily, haddr, halen) } #endif /* SVR4 */ #else /* SIOCSARP */ +#if defined(BSD) && (BSD >= 199306) + bsd_arp_set(ia, haddr, halen); +#else /* * Oh well, SIOCSARP is not defined. Just run arp(8). * Need to delete partial entry first on some systems. @@ -194,6 +204,7 @@ setarp(s, ia, hafamily, haddr, halen) if (status) report(LOG_ERR, "arp failed, exit code=0x%x", status); return; +#endif /* ! 4.4 BSD */ #endif /* SIOCSARP */ } |