Commit 1ca0e00a authored by Maria Matejka's avatar Maria Matejka

Testing BGP with kernel's merge path option (basic)

parent a92a6712
log "bird.log" all;
router id 10.0.1.1;
ipv4 table master4;
ipv6 table master6;
protocol device {
scan time 10;
}
protocol kernel kernel4 {
scan time 10;
merge paths;
ipv4 {
export all;
};
}
protocol kernel kernel6 {
scan time 10;
merge paths;
ipv6 {
export all;
};
}
protocol static static4 {
ipv4;
route 10.1.0.0/16 unreachable;
}
protocol static static6 {
ipv6;
route 2001:db8:1::/48 unreachable;
}
protocol ospf v2 ospf4 {
ipv4;
area 0 {
interface "ve0" { stub; };
interface "ve1" { hello 5; type ptp; };
interface "ve2" { stub; };
interface "ve3" { hello 5; type ptp; };
};
}
protocol ospf v3 ospf6 {
ipv6;
area 0 {
interface "ve0" { stub; };
interface "ve1" { hello 5; type ptp; };
interface "ve2" { stub; };
interface "ve3" { hello 5; type ptp; };
};
}
#~~~~~~~~~~~~~~~~~ IPv4 EBGP ~~~~~~~~~~~~~~~~~
protocol bgp ebgp4 {
ipv4 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
local 10.4.13.2 as 1;
neighbor 10.4.13.1 as 4;
}
#~~~~~~~~~~~~~~~~~ IPv6 EBGP ~~~~~~~~~~~~~~~~~
protocol bgp ebgp6 {
ipv6 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
local 2001:db8:4:13::2 as 1;
neighbor 2001:db8:4:13::1 as 4;
}
#~~~~~~~~~~~~~~~~~ IPv4 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp4 {
ipv4 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
}
protocol bgp ibgp4_1 from ibgp4 {
local 10.1.1.1 as 1;
neighbor 10.1.2.1 as 1;
}
protocol bgp ibgp4_2 from ibgp4 {
local 10.1.1.1 as 1;
neighbor 10.1.3.1 as 1;
}
protocol bgp ibgp4_3 from ibgp4 {
local 10.1.1.1 as 1;
neighbor 10.1.4.1 as 1;
}
#~~~~~~~~~~~~~~~~~ IPv6 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp6 {
ipv6 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
}
protocol bgp ibgp6_1 from ibgp6 {
local 2001:db8:1:1::1 as 1;
neighbor 2001:db8:1:2::1 as 1;
}
protocol bgp ibgp6_2 from ibgp6 {
local 2001:db8:1:1::1 as 1;
neighbor 2001:db8:1:3::1 as 1;
}
protocol bgp ibgp6_3 from ibgp6 {
local 2001:db8:1:1::1 as 1;
neighbor 2001:db8:1:4::1 as 1;
}
log "bird.log" all;
router id 10.0.1.2;
ipv4 table master4;
ipv6 table master6;
protocol device {
scan time 10;
}
protocol kernel kernel4 {
scan time 10;
merge paths;
ipv4 {
export all;
};
}
protocol kernel kernel6 {
scan time 10;
merge paths;
ipv6 {
export all;
};
}
protocol static static4 {
ipv4;
route 10.1.0.0/16 unreachable;
}
protocol static static6 {
ipv6;
route 2001:db8:1::/48 unreachable;
}
protocol ospf v2 ospf4 {
ipv4;
area 0 {
interface "ve0" { stub; };
interface "ve1", "ve2" { hello 5; type ptp; };
};
}
protocol ospf v3 ospf6 {
ipv6;
area 0 {
interface "ve0" { stub; };
interface "ve1", "ve2" { hello 5; type ptp; };
};
}
#~~~~~~~~~~~~~~~~~ IPv4 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp4 {
ipv4 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp4_1 from ibgp4 {
local 10.1.2.1 as 1;
neighbor 10.1.1.1 as 1;;
}
protocol bgp ibgp4_2 from ibgp4 {
local 10.1.2.1 as 1;
neighbor 10.1.4.1 as 1;
}
#~~~~~~~~~~~~~~~~~ IPv6 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp6 {
ipv6 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp6_1 from ibgp6 {
local 2001:db8:1:2::1 as 1;
neighbor 2001:db8:1:1::1 as 1;
}
protocol bgp ibgp6_2 from ibgp6 {
local 2001:db8:1:2::1 as 1;
neighbor 2001:db8:1:4::1 as 1;
}
log "bird.log" all;
router id 10.0.1.3;
ipv4 table master4;
ipv6 table master6;
protocol device {
scan time 10;
}
protocol kernel kernel4 {
scan time 10;
merge paths;
ipv4 {
export all;
};
}
protocol kernel kernel6 {
scan time 10;
merge paths;
ipv6 {
export all;
};
}
protocol static static4 {
ipv4;
route 10.1.0.0/16 unreachable;
}
protocol static static6 {
ipv6;
route 2001:db8:1::/48 unreachable;
}
protocol ospf v2 ospf4 {
ipv4;
area 0 {
interface "ve0" { stub; };
interface "ve1", "ve2" { hello 5; type ptp; };
};
}
protocol ospf v3 ospf6 {
ipv6;
area 0 {
interface "ve0" { stub; };
interface "ve1", "ve2" { hello 5; type ptp; };
};
}
#~~~~~~~~~~~~~~~~~ IPv4 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp4 {
ipv4 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp4_1 from ibgp4 {
local 10.1.3.1 as 1;
neighbor 10.1.1.1 as 1;
}
protocol bgp ibgp4_2 from ibgp4 {
local 10.1.3.1 as 1;
neighbor 10.1.4.1 as 1;
}
#~~~~~~~~~~~~~~~~~ IPv6 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp6 {
ipv6 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp6_1 from ibgp6 {
local 2001:db8:1:3::1 as 1;
neighbor 2001:db8:1:1::1 as 1;
}
protocol bgp ibgp6_2 from ibgp6 {
local 2001:db8:1:3::1 as 1;
neighbor 2001:db8:1:4::1 as 1;
}
log "bird.log" all;
router id 10.0.1.4;
ipv4 table master4;
ipv6 table master6;
protocol device {
scan time 10;
}
protocol kernel kernel4 {
scan time 10;
merge paths;
ipv4 {
export all;
};
}
protocol kernel kernel6 {
scan time 10;
merge paths;
ipv6 {
export all;
};
}
protocol static static4 {
ipv4;
route 10.1.0.0/16 unreachable;
}
protocol static static6 {
ipv6;
route 2001:db8:1::/48 unreachable;
}
protocol ospf v2 ospf4 {
ipv4;
area 0 {
interface "ve0" { stub; };
interface "ve1" { stub; };
interface "ve2" { hello 5; type ptp; };
interface "ve3" { hello 5; type ptp; };
};
}
protocol ospf v3 ospf6 {
ipv6;
area 0 {
interface "ve0" { stub; };
interface "ve1" { stub; };
interface "ve2" { hello 5; type ptp; };
interface "ve3" { hello 5; type ptp; };
};
}
#~~~~~~~~~~~~~~~~~ IPv4 EBGP ~~~~~~~~~~~~~~~~~
protocol bgp ebgp4 {
ipv4 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
local 10.1.13.1 as 1;
neighbor 10.1.13.2 as 2;
}
#~~~~~~~~~~~~~~~~~ IPv6 EBGP ~~~~~~~~~~~~~~~~~
protocol bgp ebgp6 {
ipv6 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
local 2001:db8:1:13::1 as 1;
neighbor 2001:db8:1:13::2 as 2;
}
#~~~~~~~~~~~~~~~~~ IPv4 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp4 {
ipv4 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp4_1 from ibgp4 {
local 10.1.4.1 as 1;
neighbor 10.1.1.1 as 1;
}
protocol bgp ibgp4_2 from ibgp4 {
local 10.1.4.1 as 1;
neighbor 10.1.3.1 as 1;
}
protocol bgp ibgp4_3 from ibgp4 {
local 10.1.4.1 as 1;
neighbor 10.1.2.1 as 1;
}
#~~~~~~~~~~~~~~~~~ IPv6 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp6 {
ipv6 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp6_1 from ibgp6 {
local 2001:db8:1:4::1 as 1;
neighbor 2001:db8:1:1::1 as 1;
}
protocol bgp ibgp6_2 from ibgp6 {
local 2001:db8:1:4::1 as 1;
neighbor 2001:db8:1:3::1 as 1;
}
protocol bgp ibgp6_3 from ibgp6 {
local 2001:db8:1:4::1 as 1;
neighbor 2001:db8:1:2::1 as 1;
}
log "bird.log" all;
router id 10.0.2.1;
ipv4 table master4;
ipv6 table master6;
protocol device {
scan time 10;
}
protocol kernel kernel4 {
scan time 10;
merge paths;
ipv4 {
export all;
};
}
protocol kernel kernel6 {
scan time 10;
merge paths;
ipv6 {
export all;
};
}
protocol static static4 {
ipv4;
route 10.2.0.0/16 unreachable;
}
protocol static static6 {
ipv6;
route 2001:db8:2::/48 unreachable;
}
protocol ospf v2 ospf4 {
ipv4;
area 0 {
interface "ve0" { stub; };
interface "ve1" { hello 5; type ptp; };
interface "ve2" { stub; };
interface "ve3" { hello 5; type ptp; };
};
}
protocol ospf v3 ospf6 {
ipv6;
area 0 {
interface "ve0" { stub; };
interface "ve1" { hello 5; type ptp; };
interface "ve2" { stub; };
interface "ve3" { hello 5; type ptp; };
};
}
#~~~~~~~~~~~~~~~~~ IPv4 EBGP ~~~~~~~~~~~~~~~~~
protocol bgp ebgp4 {
ipv4 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
local 10.1.13.2 as 2;
neighbor 10.1.13.1 as 1;
}
#~~~~~~~~~~~~~~~~~ IPv6 EBGP ~~~~~~~~~~~~~~~~~
protocol bgp ebgp6 {
ipv6 {
import all;
export where source ~ [ RTS_STATIC, RTS_BGP ];
};
local 2001:db8:1:13::2 as 2;
neighbor 2001:db8:1:13::1 as 1;
}
#~~~~~~~~~~~~~~~~~ IPv4 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp4 {
ipv4 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp4_1 from ibgp4 {
local 10.2.1.1 as 2;
neighbor 10.2.2.1 as 2;
}
protocol bgp ibgp4_2 from ibgp4 {
local 10.2.1.1 as 2;
neighbor 10.2.3.1 as 2;
}
protocol bgp ibgp4_3 from ibgp4 {
local 10.2.1.1 as 2;
neighbor 10.2.4.1 as 2;
}
#~~~~~~~~~~~~~~~~~ IPv6 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp6 {
ipv6 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];
};
}
protocol bgp ibgp6_1 from ibgp6 {
local 2001:db8:2:1::1 as 2;
neighbor 2001:db8:2:2::1 as 2;
}
protocol bgp ibgp6_2 from ibgp6 {
local 2001:db8:2:1::1 as 2;
neighbor 2001:db8:2:3::1 as 2;
}
protocol bgp ibgp6_3 from ibgp6 {
local 2001:db8:2:1::1 as 2;
neighbor 2001:db8:2:4::1 as 2;
}
log "bird.log" all;
router id 10.0.2.2;
ipv4 table master4;
ipv6 table master6;
protocol device {
scan time 10;
}
protocol kernel kernel4 {
scan time 10;
merge paths;
ipv4 {
export all;
};
}
protocol kernel kernel6 {
scan time 10;
merge paths;
ipv6 {
export all;
};
}
protocol static static4 {
ipv4;
route 10.2.0.0/16 unreachable;
}
protocol static static6 {
ipv6;
route 2001:db8:2::/48 unreachable;
}
protocol ospf v2 ospf4 {
ipv4;
area 0 {
interface "ve0" { stub; };
interface "ve1", "ve2" { hello 5; type ptp; };
};
}
protocol ospf v3 ospf6 {
ipv6;
area 0 {
interface "ve0" { stub; };
interface "ve1", "ve2" { hello 5; type ptp; };
};
}
#~~~~~~~~~~~~~~~~~ IPv4 IBGP ~~~~~~~~~~~~~~~~~
template bgp ibgp4 {
ipv4 {
import all;
export where source ~ [ RTS_BGP, RTS_STATIC ];