diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2004-01-13 16:15:38 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2004-01-13 16:15:38 +0000 |
commit | 982f6d3906a7c2c930bbd499ca61d49afc277fb3 (patch) | |
tree | 1c72682f9440f7e96b5f4ae3c68f57e4959f887d /usr.sbin/bgpd/rde_decide.c | |
parent | 9d763c8bd7ebd555f5c67d8555b8dc12c4e2a90a (diff) |
Do not redistribute updates to ibgp peers. OK henning@
Diffstat (limited to 'usr.sbin/bgpd/rde_decide.c')
-rw-r--r-- | usr.sbin/bgpd/rde_decide.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/rde_decide.c b/usr.sbin/bgpd/rde_decide.c index 78ae3e0c515..4e6d5197464 100644 --- a/usr.sbin/bgpd/rde_decide.c +++ b/usr.sbin/bgpd/rde_decide.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rde_decide.c,v 1.19 2004/01/13 13:45:50 claudio Exp $ */ +/* $OpenBSD: rde_decide.c,v 1.20 2004/01/13 16:15:37 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> @@ -428,6 +428,10 @@ up_generate_updates(struct rde_peer *peer, /* Do not send routes back to sender */ return; + if (peer->conf.ebgp == 0 && old->peer->conf.ebgp == 0) + /* Do not redistribute updates to ibgp peers */ + return; + /* announce type handling */ switch (peer->conf.announce_type) { case ANNOUNCE_NONE: @@ -458,6 +462,10 @@ up_generate_updates(struct rde_peer *peer, /* Do not send routes back to sender */ return; + if (peer->conf.ebgp == 0 && new->peer->conf.ebgp == 0) + /* Do not redistribute updates to ibgp peers */ + return; + /* announce type handling */ switch (peer->conf.announce_type) { case ANNOUNCE_NONE: |