Skip to content

Commit

Permalink
not remove global addresses on loopback interface from routing table …
Browse files Browse the repository at this point in the history
…by route aging.
  • Loading branch information
suz committed Feb 24, 2002
1 parent 42082b9 commit 1675d2d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
7 changes: 6 additions & 1 deletion CHANGELOG
@@ -1,7 +1,12 @@
CHANGELOG for KAME kit
$KAME: CHANGELOG,v 1.2086 2002/02/22 16:36:18 jinmei Exp $
$KAME: CHANGELOG,v 1.2087 2002/02/24 07:10:10 suz Exp $

<200202>
2002-02-24 SUZUKI, Shinsuke <suz@sdl.hitachi.co.jp>
* kame/route6d/route6d.c:
not remove global addresses on loopback interface from routing
table by route aging.

2002-02-23 JINMEI, Tatuya <jinmei@isl.rdc.toshiba.co.jp>
* kame/sys/netinet6/nd6.c (nd6_rtrequest): rejected the process of
RESOLVE when the interface does not need neighbor caches.
Expand Down
19 changes: 16 additions & 3 deletions kame/kame/route6d/route6d.c
@@ -1,4 +1,4 @@
/* $KAME: route6d.c,v 1.79 2002/01/11 02:29:30 itojun Exp $ */
/* $KAME: route6d.c,v 1.80 2002/02/24 07:10:10 suz Exp $ */

/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
Expand Down Expand Up @@ -30,7 +30,7 @@
*/

#ifndef lint
static char _rcsid[] = "$KAME: route6d.c,v 1.79 2002/01/11 02:29:30 itojun Exp $";
static char _rcsid[] = "$KAME: route6d.c,v 1.80 2002/02/24 07:10:10 suz Exp $";
#endif

#include <stdio.h>
Expand Down Expand Up @@ -1966,8 +1966,11 @@ ifrt(ifcp, again)
time_t t_lifetime;
int need_trigger = 0;

#if 0
if (ifcp->ifc_flags & IFF_LOOPBACK)
return 0; /* ignore loopback */
#endif

if (ifcp->ifc_flags & IFF_POINTOPOINT) {
ifrt_p2p(ifcp, again);
return 0;
Expand All @@ -1986,6 +1989,13 @@ ifrt(ifcp, again)
#if 0
trace(1, "route: %s: skip unspec interface address\n",
ifcp->ifc_name);
#endif
continue;
}
if (IN6_IS_ADDR_LOOPBACK(&ifa->ifa_addr)) {
#if 0
trace(1, "route: %s: skip loopback address\n",
ifcp->ifc_name);
#endif
continue;
}
Expand All @@ -2000,7 +2010,10 @@ ifrt(ifcp, again)
rrt->rrt_info.rip6_tag = htons(routetag & 0xffff);
rrt->rrt_info.rip6_metric = 1 + ifcp->ifc_metric;
rrt->rrt_info.rip6_plen = ifa->ifa_plen;
rrt->rrt_flags = RTF_CLONING;
if (ifa->ifa_plen == 128)
rrt->rrt_flags = RTF_HOST;
else
rrt->rrt_flags = RTF_CLONING;
rrt->rrt_rflags |= RRTF_CHANGED;
applyplen(&rrt->rrt_info.rip6_dest, ifa->ifa_plen);
memset(&rrt->rrt_gw, 0, sizeof(struct in6_addr));
Expand Down

0 comments on commit 1675d2d

Please sign in to comment.