diff options
| author | Luigi Rizzo <luigi@FreeBSD.org> | 2002-03-16 18:08:01 +0000 |
|---|---|---|
| committer | Luigi Rizzo <luigi@FreeBSD.org> | 2002-03-16 18:08:01 +0000 |
| commit | c7aa9daba3f814d1acdfcfc9041ff2556d5695e9 (patch) | |
| tree | 8a38da7deed8e783a4f7065c84b7e7676040c475 /sys/netinet | |
| parent | e0c9e2c888da64d854e2a38c73f9fcc338dfbfb6 (diff) | |
Notes
Diffstat (limited to 'sys/netinet')
| -rw-r--r-- | sys/netinet/in.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/netinet/in.c b/sys/netinet/in.c index c4a265f2153f..d750dc65bdd9 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -34,6 +34,7 @@ * $FreeBSD$ */ +#include "opt_bootp.h" #include <sys/param.h> #include <sys/systm.h> #include <sys/sockio.h> @@ -730,10 +731,17 @@ in_ifinit(ifp, ia, sin, scrub) if ((error = rtinit(&(ia->ia_ifa), (int)RTM_ADD, flags)) == 0) ia->ia_flags |= IFA_ROUTE; +#ifndef BOOTP + /* + * This breaks kernel-bootp support when we have more than one + * interface, because the bootp code wants to set a 0.0.0.0/0 + * address on all interfaces. Disable the check when bootp is used. + */ if (error != 0 && ia->ia_dstaddr.sin_family == AF_INET) { ia->ia_addr = oldaddr; return (error); } +#endif /* XXX check if the subnet route points to the same interface */ if (error == EEXIST) |
