Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bird/ibgp.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ template bgp ibgp_peers {
graceful restart on;
# bfd on;
ipv4 {
next hop self;
next hop self ebgp;
igp table OSPF_table;
table BGP_table;
import filter {
Expand Down
62 changes: 62 additions & 0 deletions bird/ibgp_rrs.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
template bgp ibgp_peers {
local as LOCAL_ASN;
source address SERVE_IP;
graceful restart on;
# bfd on;
ipv4 {
next hop self ebgp;
igp table OSPF_table;
table BGP_table;
import filter {
dn11_update_cross_ibgp();
accept;
};
export filter {
if source != RTS_BGP then reject;
dn11_update_server_location();
unset(bgp_med);
accept;
};
};
}

template bgp ibgp_rrs {
local as LOCAL_ASN;
source address SERVE_IP;
rr client;
rr cluster id <cluster_id, an ip>;
graceful restart on;
# bfd on;
ipv4 {
next hop self ebgp;
igp table OSPF_table;
table BGP_table;
import filter {
dn11_update_cross_ibgp();
accept;
};
export filter {
if source != RTS_BGP then reject;
dn11_update_server_location();
unset(bgp_med);
accept;
};
};
}

# plain ibgp between RRs
protocol bgp IBGP_<name> from ibgp_peers {
neighbor <peer_serve_ip> internal;
}

# ibgp from RR Server to RR Client
protocol bgp IBGP_<name> from ibgp_rrs {
neighbor <peer_serve_ip> internal;
}

# or a dynamic protocol
protocol bgp IBGP_RRClient from ibgp_rrs {
neighbor range <your_cidr> external;
dynamic name "RRClient";
# password "string" # when needed
}