aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/netinet/in.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet/in.c b/sys/netinet/in.c
index 0e771747dcb0..2b805c677e28 100644
--- a/sys/netinet/in.c
+++ b/sys/netinet/in.c
@@ -799,7 +799,7 @@ in_ifinit(struct ifnet *ifp, struct in_ifaddr *ia, struct sockaddr_in *sin,
int masksupplied, int vhid)
{
register u_long i = ntohl(sin->sin_addr.s_addr);
- int flags = RTF_UP, error = 0;
+ int flags, error = 0;
IN_IFADDR_WLOCK();
if (ia->ia_addr.sin_family == AF_INET)
@@ -843,9 +843,11 @@ in_ifinit(struct ifnet *ifp, struct in_ifaddr *ia, struct sockaddr_in *sin,
}
ia->ia_subnet = i & ia->ia_subnetmask;
in_socktrim(&ia->ia_sockmask);
+
/*
* Add route for the network.
*/
+ flags = RTF_UP;
ia->ia_ifa.ifa_metric = ifp->if_metric;
if (ifp->if_flags & IFF_BROADCAST) {
if (ia->ia_subnetmask == IN_RFC3021_MASK)