summaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_fib.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-06-13 16:29:25 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-06-13 16:29:25 +0000
commitdb7d4daea91e105e3859cf461d7e53b9b77454b2 (patch)
tree9bb65b95440af09e8aca63abe56970dd3360cc57 /net/ipv6/ip6_fib.c
parent9c1c01ead627bdda9211c9abd5b758d6c687d8ac (diff)
Merge with Linux 2.2.8.
Diffstat (limited to 'net/ipv6/ip6_fib.c')
-rw-r--r--net/ipv6/ip6_fib.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index bad3a13ec..d20925c95 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -5,7 +5,7 @@
* Authors:
* Pedro Roque <roque@di.fc.ul.pt>
*
- * $Id: ip6_fib.c,v 1.15 1998/08/26 12:04:55 davem Exp $
+ * $Id: ip6_fib.c,v 1.17 1999/04/22 10:07:41 davem Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -103,8 +103,8 @@ static struct fib6_walker_t fib6_walker_list = {
static __inline__ u32 fib6_new_sernum(void)
{
u32 n = ++rt_sernum;
- if (n == 0)
- n = ++rt_sernum;
+ if ((__s32)n <= 0)
+ rt_sernum = n = 1;
return n;
}
@@ -890,9 +890,6 @@ static void fib6_del_route(struct fib6_node *fn, struct rt6_info **rtp)
RT6_TRACE("fib6_del_route\n");
- if (!(rt->rt6i_flags&RTF_CACHE))
- fib6_prune_clones(fn, rt);
-
/* Unlink it */
*rtp = rt->u.next;
rt->rt6i_node = NULL;
@@ -939,6 +936,9 @@ int fib6_del(struct rt6_info *rt)
BUG_TRAP(fn->fn_flags&RTN_RTINFO);
+ if (!(rt->rt6i_flags&RTF_CACHE))
+ fib6_prune_clones(fn, rt);
+
/*
* Walk the leaf entries looking for ourself
*/
@@ -1157,7 +1157,6 @@ static int fib6_age(struct rt6_info *rt, void *arg)
return -1;
}
gc_args.more++;
- return 0;
}
/*
@@ -1171,7 +1170,6 @@ static int fib6_age(struct rt6_info *rt, void *arg)
return -1;
}
gc_args.more++;
- return 0;
}
return 0;