42 lines
869 B
Text
42 lines
869 B
Text
|
log syslog all;
|
||
|
router id ${node.metadata.get('bird/my_ip')};
|
||
|
debug protocols all;
|
||
|
|
||
|
ipv4 table master4;
|
||
|
|
||
|
protocol device {
|
||
|
}
|
||
|
|
||
|
protocol kernel {
|
||
|
scan time 30;
|
||
|
ipv4 {
|
||
|
export where source != RTS_STATIC;
|
||
|
};
|
||
|
}
|
||
|
% if node.metadata.get('bird/static_routes', set()):
|
||
|
|
||
|
protocol static {
|
||
|
ipv4;
|
||
|
|
||
|
% for route in sorted(node.metadata.get('bird/static_routes', set())):
|
||
|
route ${route} via ${node.metadata.get('bird/my_ip')};
|
||
|
% endfor
|
||
|
}
|
||
|
% endif
|
||
|
% for name, config in sorted(node.metadata.get('bird/bgp_neighbors', {}).items()):
|
||
|
|
||
|
protocol bgp '${name}' {
|
||
|
local ${config['local_ip']} as ${config['local_as']};
|
||
|
neighbor ${config['neighbor_ip']} as ${config['neighbor_as']};
|
||
|
hold time ${config.get('hold_time', 15)};
|
||
|
error wait time 5, 10;
|
||
|
direct;
|
||
|
|
||
|
ipv4 {
|
||
|
next hop self;
|
||
|
import all;
|
||
|
export all;
|
||
|
};
|
||
|
}
|
||
|
% endfor
|