summaryrefslogtreecommitdiffstats
path: root/proto/bgp/bgp.c
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2008-11-01 12:55:43 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2008-11-01 12:55:43 +0100
commita92fe607173b52cf28256f00399953c623788c35 (patch)
tree1cac35e1b4ea904b0c1e39409f20967bf582a924 /proto/bgp/bgp.c
parente16466b379be2b94c84b351a69e63b6de5be9dc5 (diff)
downloadbird-a92fe607173b52cf28256f00399953c623788c35.tar
bird-a92fe607173b52cf28256f00399953c623788c35.zip
Implementation of route server.
Diffstat (limited to 'proto/bgp/bgp.c')
-rw-r--r--proto/bgp/bgp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
index 0d580be..a34545b 100644
--- a/proto/bgp/bgp.c
+++ b/proto/bgp/bgp.c
@@ -492,6 +492,8 @@ bgp_start_locked(struct object_lock *lock)
p->rr_client = cf->rr_client;
}
+ p->rs_client = cf->rs_client;
+
if (!p->neigh)
{
log(L_ERR "%s: Invalid next hop %I", p->p.name, p->next_hop);
@@ -644,6 +646,8 @@ bgp_check(struct bgp_config *c)
cf_error("Neighbor AS number out of range");
if ((c->local_as != c->remote_as) && (c->rr_client))
cf_error("Only internal neighbor can be RR client");
+ if ((c->local_as == c->remote_as) && (c->rs_client))
+ cf_error("Only external neighbor can be RS client");
}
static void