diff options
author | wollman <wollman@FreeBSD.org> | 1995-03-24 20:05:28 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1995-03-24 20:05:28 +0000 |
commit | 6c6725060f4324360f59d3d890d39966e5a29cc6 (patch) | |
tree | 1fa262c8f85b49cba8676da0555a58671209b9e7 /sys/net | |
parent | bbb766d1b9b9596c912dc6a22351a7483191b39e (diff) | |
download | FreeBSD-src-6c6725060f4324360f59d3d890d39966e5a29cc6.zip FreeBSD-src-6c6725060f4324360f59d3d890d39966e5a29cc6.tar.gz |
Don't delete clones if they are PINNED.
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/route.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/route.c b/sys/net/route.c index 5a770cf..34a167a 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)route.c 8.2 (Berkeley) 11/15/93 - * $Id: route.c,v 1.19 1995/03/21 19:50:34 wollman Exp $ + * $Id: route.c,v 1.20 1995/03/23 18:07:29 wollman Exp $ */ #include <sys/param.h> @@ -490,7 +490,7 @@ rt_fixdelete(struct radix_node *rn, void *vp) struct rtentry *rt = (struct rtentry *)rn; struct rtentry *rt0 = vp; - if (rt->rt_parent == rt0) { + if (rt->rt_parent == rt0 && !(rt->rt_flags & RTF_PINNED)) { return rtrequest(RTM_DELETE, rt_key(rt), (struct sockaddr *)0, rt_mask(rt), rt->rt_flags, (struct rtentry **)0); |