[Babel-users] Babeld vs. BIRD [was: Please test master]
Toke Høiland-Jørgensen
toke at toke.dk
Sun Sep 23 12:56:49 BST 2018
Dave Taht <dave.taht at gmail.com> writes:
> On Sat, Sep 22, 2018 at 6:39 AM Juliusz Chroboczek <jch at irif.fr> wrote:
>>
>> >> I'll point out that the BIRD codebase is cleaner and better designed
>> >> than babeld, and might be able to scale better. I'd be interested in
>> >> seeing a comparison.
>>
>> > Yeah, me too.
>>
>> Toke, perhaps you'd like to post some instructions?
>
> bird now has ipv4 + ipv6 support, yes?
Yup. I'd recommend using the git version from the 'int-new' branch:
https://gitlab.labs.nic.cz/labs/bird/
> If I could get a bird.conf configged for babel that also could do the
> moral equivalent of:
>
> "redistribute proto 50 metric 128"
>
> And another
>
> https://github.com/dtaht/rtod/blob/master/babeld-safe.conf
See below. You can edit the blacklist and import_filter to get the
filtering you want. You'll also need to define the right set of
interfaces near the bottom.
-Toke
Put this in a file and run `sudo ./bird -c name-of-file.conf`:
router id 62.168.0.1;
# Enable debugging output
debug protocols all;
# Need to define table for ipv6 sadr (v4 is implicitly defined as 'master4')
ipv6 sadr table tab1;
# Listen to dev up/down events
protocol device {}
# Blacklisting and filtering from kernel
define blacklist = [
a::/16,
127.0.0.0/8
];
filter import_filter
{
# Filter routes in blacklist
if (net ~ blacklist) then reject "blacklisted";
# Only import kernel protocol 50
#if (krt_source != 50) then reject "wrong protocol";
accept;
}
protocol kernel {
ipv6 sadr {
table tab1;
export all;
import filter import_filter;
};
learn yes;
}
protocol kernel {
ipv4 {
export all;
import filter import_filter;
};
learn yes;
}
# Create routes subnets configured on interfaces
protocol direct {
ipv6 sadr;
ipv4;
}
protocol babel {
ipv6 sadr {
table tab1;
import all;
# Set initial metric for all routes
export filter { babel_metric = 128; accept; };
};
ipv4 {
import all;
# Set initial metric for all routes
export filter { babel_metric = 128; accept; };
};
# Interfaces to listen on and their config
interface "eth0" { type wired; };
interface "wlan0" { type wireless; };
}
More information about the Babel-users
mailing list