Fix all indentation problems in babeld.
Make code fits in 80 columns.
Fix typos in warning messages.
Filter: Rename "result" to "add_metric".

The field "result" is in fact an additional cost.
Add function to compare prefixes, with an enumeration.
Implement table rules changes with netlink.
Create data structure to hold multiple routing tables with rules.
Kernel-side implementation of source-sensitive routing.
Retrieve the source address of the kernel's routes.

This only work for the routes in our tables, at least for now.
Change data structures and related functions to hold source prefixes.
Add a message type for source-specific routes.

This adds a new message type, parses it when receiving
and formats it when sending.

This also try to deal with request. No source-specific
request exists: a router which receive a request for
a route should send every installed routes that
satisfied the destination. This explain some ugly
pieces of code.
Fix interoperability with non-ss routers.

If we change the buffered destination prefix or router ID
in a ss-update TLV, then next update TLVs will depends on
it.  This cause some interoperability problems in some
cases, and can cause wrong messages in others.

The current solution should not be definitive: we should
send all non-source-specific update in group, but the
announce-with-default-source-prefix option introduce
non-source-specific updates.
Improve route printing with "from" field.
Add local interface source-specific printing.

It also update the route's id.
Add options to control the table and priority numbers.
Add filter to match source addresses.

Add 3 new options to configuration and manpages:
src-ip, src-eq, src-le and src-ge.
Set the source prefixes through filters.

Since it's a route attribute, it fits better there.
Add TLVs for source sensitive requests.
Implement source-specific requests.
Add API function to research some routes, or approximations.