diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-06-13 16:29:25 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-06-13 16:29:25 +0000 |
commit | db7d4daea91e105e3859cf461d7e53b9b77454b2 (patch) | |
tree | 9bb65b95440af09e8aca63abe56970dd3360cc57 /net/ipv6/ip6_fib.c | |
parent | 9c1c01ead627bdda9211c9abd5b758d6c687d8ac (diff) |
Merge with Linux 2.2.8.
Diffstat (limited to 'net/ipv6/ip6_fib.c')
-rw-r--r-- | net/ipv6/ip6_fib.c | 14 |
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; |