diff options
author | Qing Li <qingli@FreeBSD.org> | 2009-09-20 17:22:19 +0000 |
---|---|---|
committer | Qing Li <qingli@FreeBSD.org> | 2009-09-20 17:22:19 +0000 |
commit | 46e7f9838b3e1b84962287470e171d649bf03a1c (patch) | |
tree | d14f4e404d947729255f91a310035de453657ff5 /sys/net/if.c | |
parent | a05cb852372017a7980f7e89d3bbe14ac8ab88d3 (diff) | |
download | src-46e7f9838b3e1b84962287470e171d649bf03a1c.tar.gz src-46e7f9838b3e1b84962287470e171d649bf03a1c.zip |
A wrong variable is used when setting up the interface
address route, which broke source address selection in
some code paths.
Submitted by: noted by bz
Reviewed by: hrs
MFC after: immediately
Notes
Notes:
svn path=/head/; revision=197364
Diffstat (limited to 'sys/net/if.c')
-rw-r--r-- | sys/net/if.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index c0ff443d6dc1..55de666a6360 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1432,9 +1432,9 @@ ifa_add_loopback_route(struct ifaddr *ifa, struct sockaddr *ia) if (error == 0 && rt != NULL) { RT_LOCK(rt); ((struct sockaddr_dl *)rt->rt_gateway)->sdl_type = - rt->rt_ifp->if_type; + ifa->ifa_ifp->if_type; ((struct sockaddr_dl *)rt->rt_gateway)->sdl_index = - rt->rt_ifp->if_index; + ifa->ifa_ifp->if_index; RT_REMREF(rt); RT_UNLOCK(rt); } else if (error != 0) |