diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-12-12 10:26:48 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-12-12 10:26:48 +0000 |
commit | b13a9e99dbc21610a77a6f617153e96ad3ee41e5 (patch) | |
tree | d98753911672d58127b2ab315cdc2a4057f48116 /usr.sbin/bgpd | |
parent | e2fd5f0218b82d1a430b0389a32ff36ab5b6f660 (diff) |
In path_remove() remove only local prefixes from the pftable.
OK henning@
Diffstat (limited to 'usr.sbin/bgpd')
-rw-r--r-- | usr.sbin/bgpd/rde_rib.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.sbin/bgpd/rde_rib.c b/usr.sbin/bgpd/rde_rib.c index 9e6202f4369..f8c1cded341 100644 --- a/usr.sbin/bgpd/rde_rib.c +++ b/usr.sbin/bgpd/rde_rib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rde_rib.c,v 1.88 2006/06/01 22:29:47 claudio Exp $ */ +/* $OpenBSD: rde_rib.c,v 1.89 2006/12/12 10:26:47 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> @@ -227,8 +227,9 @@ path_remove(struct rde_aspath *asp) while ((p = LIST_FIRST(&asp->prefix_h)) != NULL) { /* Commit is done in peer_down() */ pt_getaddr(p->prefix, &addr); - rde_send_pftable(p->aspath->pftableid, - &addr, p->prefix->prefixlen, 1); + if (p->flags & F_LOCAL) + rde_send_pftable(p->aspath->pftableid, &addr, + p->prefix->prefixlen, 1); prefix_destroy(p); } |