Hello everyone,

Here we are, I had the first results of source-sensitive in Babel itself. After installing them in Zebra, we went to the next level and installed routes announced by Babel.

Even though I had to rewrite most of the code, the work of Matthieu was of great help in the process of handling source in each of the functions.

Here are a few shell capture of the result :

# show ipv6 route
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv6, I - IS-IS, B - BGP, A - Babel,
       > - selected route, * - FIB route

A>* ::/0 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* ::/0 from ::/56 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
C>* ::1/128 is directly connected, lo
A>* 2001:5c0:1505:6b00:21b:b1ff:fe83:8d32/128 [95/0] via fe80::21b:b1ff:fe83:8d32, wlan0, 00:00:06
A>* 2001:5c0:1505:6b00:21b:b1ff:fe83:8d3b/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:35
A>* 2001:5c0:1505:6b00:21b:b1ff:fe83:8d3f/128 [95/0] via fe80::21b:b1ff:fe83:8d32, wlan0, 00:00:06
A>* 2001:5c0:1505:6b00:21b:b1ff:fe83:8db3/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:16
A>* 2001:5c0:1505:6b00:a021:b7ff:feba:df57/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:5c0:1505:6b00:e091:f5ff:fecc:7a93/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:5c0:1505:6b00:e246:9aff:fe4e:91e2/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:660:3301:9202::ac17:248a/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:660:3301:9208:e246:9aff:fe4e:912e/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:41d0:1:f19f::1/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:41d0:1:f19f:21b:b1ff:fe83:8d32/128 [95/0] via fe80::21b:b1ff:fe83:8d32, wlan0, 00:00:06
A>* 2001:41d0:1:f19f:21b:b1ff:fe83:8d3b/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:35
A>* 2001:41d0:1:f19f:21b:b1ff:fe83:8d3f/128 [95/0] via fe80::21b:b1ff:fe83:8d32, wlan0, 00:00:06
A>* 2001:41d0:1:f19f:21b:b1ff:fe83:8db3/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:16
A>* 2001:41d0:1:f19f:a021:b7ff:feba:df57/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:41d0:1:f19f:b6b5:2fff:feb8:35c3/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:41d0:1:f19f:e091:f5ff:fecc:7a93/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:41d0:1:f19f:e246:9aff:fe4e:912e/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:41d0:1:f19f:e246:9aff:fe4e:91e2/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:26
A>* 2001:41d0:1:f19f:e291:f5ff:fecc:7a00/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:10
A>* 2001:41d0:1:f19f:e291:f5ff:fecc:7abd/128 [95/0] via fe80::21b:b1ff:fe83:8d3b, wlan0, 00:00:16
C>* fdbf:e793:18b3::2/128 is directly connected, wlan0
C>* fe80::/64 is directly connected, wlan0



$ watch ip -6 route show
default from ::/56 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:5c0:1505:6b00:21b:b1ff:fe83:8d32 via fe80::21b:b1ff:fe83:8d32 dev wlan0  proto zebra  metric 1024
2001:5c0:1505:6b00:21b:b1ff:fe83:8d3b via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:5c0:1505:6b00:21b:b1ff:fe83:8d3f via fe80::21b:b1ff:fe83:8d3f dev wlan0  proto zebra  metric 1024
2001:5c0:1505:6b00:21b:b1ff:fe83:8db3 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:5c0:1505:6b00:a021:b7ff:feba:df57 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:5c0:1505:6b00:e091:f5ff:fecc:7a93 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:5c0:1505:6b00:e246:9aff:fe4e:91e2 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:660:3301:9202::ac17:248a via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:660:3301:9208:e246:9aff:fe4e:912e via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f::1 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:21b:b1ff:fe83:8d32 via fe80::21b:b1ff:fe83:8d32 dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:21b:b1ff:fe83:8d3b via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:21b:b1ff:fe83:8d3f via fe80::21b:b1ff:fe83:8d3f dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:21b:b1ff:fe83:8db3 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:868f:69ff:fef0:338e dev eth0  proto kernel  metric 256
2001:41d0:1:f19f:a021:b7ff:feba:df57 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:b6b5:2fff:feb8:35c3 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:e091:f5ff:fecc:7a93 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:e246:9aff:fe4e:912e via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:e246:9aff:fe4e:91e2 via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:e291:f5ff:fecc:7a00 via fe80::21b:b1ff:fe83:8d3f dev wlan0  proto zebra  metric 1024
2001:41d0:1:f19f:e291:f5ff:fecc:7abd via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024
fdbf:e793:18b3::2 dev wlan0  proto kernel  metric 256
fe80::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev wlan0  proto kernel  metric 256
default via fe80::21b:b1ff:fe83:8d3b dev wlan0  proto zebra  metric 1024

As you can see, there is a source sensitive route installed in Zebra, and this route is visible in the kernel aswell.

The work on Babel is going pretty well. I still have to apply some modifications of Matthieu, such as the source-sensitive requests but before that, I will improve my commits in order to have a clean git tree.