diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2008-05-07 02:45:25 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2008-05-07 02:45:25 +0000 |
commit | 6a964d7c26564757b512ed53d3bd9991d81ff7e4 (patch) | |
tree | 95f7dd62367f9c3aae5cccc41e79fec2c1ba128f /sys/net/route.c | |
parent | afe3f783c7dd9a2e636d8a5a28c564423ecd3c8c (diff) |
Redo rev 1.8 but this time with an additional fix to solve the dhclient crashes
seen by krw. This is a prerequisite for upcomming routing priorities:
Always compare the nexthop if one is specified even if it is a non-multipath
route. This mostly affects "route delete" and it will not remove the last
route if previous delete is redone. OK henning@
Diffstat (limited to 'sys/net/route.c')
-rw-r--r-- | sys/net/route.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net/route.c b/sys/net/route.c index 6be379a9c08..567d759463a 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1,4 +1,4 @@ -/* $OpenBSD: route.c,v 1.88 2008/05/05 13:06:37 henning Exp $ */ +/* $OpenBSD: route.c,v 1.89 2008/05/07 02:45:24 claudio Exp $ */ /* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */ /* @@ -1028,7 +1028,8 @@ rtinit(struct ifaddr *ifa, int cmd, int flags) info.rti_ifa = ifa; info.rti_flags = flags | ifa->ifa_flags; info.rti_info[RTAX_DST] = dst; - info.rti_info[RTAX_GATEWAY] = ifa->ifa_addr; + if (cmd == RTM_ADD) + info.rti_info[RTAX_GATEWAY] = ifa->ifa_addr; if (ifa->ifa_ifp->if_rtlabelid && (label = rtlabel_id2name(ifa->ifa_ifp->if_rtlabelid)) != NULL) { bzero(&sa_rl, sizeof(sa_rl)); |