I just successfully tested distribution of 16000 ipv6 routes over 5 speakers (including bird) over ethernet.
the box doing the injection ate a cpu for all of the 5 minutes the test ran (due to the known xroute import issue) but an edgerouter x, a wndr3800 (filtering out the routes via various filters as it was my default gw to the rest of the wan), the arm based tp-link 1200, and another x86_64 box running bird, all survived. A bunch of unrelated routes did go unreachable from the couch gw for a while (I need to repatch in my "late hello" logger, and look harder at filtering stuff out sooner/faster) Things like odhcpd ate cpu for breakfast and I'm going to go poke at ebpf support for that also ( https://github.com/dtaht/babeld/issues ) I'm back to running my babeld-xnor (and ebpf and ecn) patchset on the x86 boxes for this test, but this was much more positive than my (very dense) wifi tests of 2+ years back. I did overwhelm the wifi chip on one box... but it didn't die, soo. toke's default config for bird was a little off. It needed to filter out babel messages from self, so here that is. d@prancer:/usr/local/etc$ cat bird.conf router id 62.168.0.2; # change this for each router! # 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 { if source != RTS_BABEL then babel_metric = 128; accept; }; }; ipv4 { import all; # Set initial metric for all routes export filter { if source != RTS_BABEL then babel_metric = 128; accept; }; }; # Interfaces to listen on and their config interface "enp3s0" { type wired; }; interface "enp4s0" { type wired; }; interface "wlan0" { type wireless; }; } _______________________________________________ Babel-users mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
