diff options
author | Marcus Brinkmann <marcus@gnu.org> | 2001-07-18 17:37:13 +0000 |
---|---|---|
committer | Marcus Brinkmann <marcus@gnu.org> | 2001-07-18 17:37:13 +0000 |
commit | a9c1365872e9554de8f45cd859c57c5192b51a8e (patch) | |
tree | cb059c2d081851fbf3c87cc6b15595232c2103be /pfinet/linux-src | |
parent | de810c391f2ef32edf6106340a274b01b006cdce (diff) |
2001-07-18 Marcus Brinkmann <marcus@gnu.org>
* linux-src/net/ipv4/devinit.c (configure_device): Initialize IFA
correctly. If we are setting the peer on an IFF_POINTOPOINT link,
force the netmask to 255.255.255.255.
By Neal H Walfield <neal@cs.uml.edu>.
Diffstat (limited to 'pfinet/linux-src')
-rw-r--r-- | pfinet/linux-src/net/ipv4/devinet.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pfinet/linux-src/net/ipv4/devinet.c b/pfinet/linux-src/net/ipv4/devinet.c index d107f335..0416ee82 100644 --- a/pfinet/linux-src/net/ipv4/devinet.c +++ b/pfinet/linux-src/net/ipv4/devinet.c @@ -419,6 +419,11 @@ configure_device (struct device *dev, if (!ifa) return ENOBUFS; memcpy (ifa->ifa_label, dev->name, IFNAMSIZ); + + ifa->ifa_address = INADDR_NONE; + ifa->ifa_mask = INADDR_NONE; + ifa->ifa_broadcast = INADDR_NONE; + ifa->ifa_local = INADDR_NONE; } if (addr != INADDR_NONE) @@ -435,10 +440,7 @@ configure_device (struct device *dev, if (peer != INADDR_NONE && (dev->flags & IFF_POINTOPOINT)) { ifa->ifa_prefixlen = 32; - if (netmask != INADDR_NONE) - ifa->ifa_mask = netmask; - else - ifa->ifa_mask = inet_make_mask(32); + ifa->ifa_mask = inet_make_mask(32); ifa->ifa_address = peer; } |