summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde_decide.c
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2004-01-13 16:15:38 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2004-01-13 16:15:38 +0000
commit982f6d3906a7c2c930bbd499ca61d49afc277fb3 (patch)
tree1c72682f9440f7e96b5f4ae3c68f57e4959f887d /usr.sbin/bgpd/rde_decide.c
parent9d763c8bd7ebd555f5c67d8555b8dc12c4e2a90a (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.c10
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: