Parse the new Source-Specific Update message format.
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.
Don't allow source-specific wildcard requests.
Add API function to research some routes, or approximations.
Fix kinky formatting of prefix comparisons.
Export metric_to_kernel().
Add disambiguation algorithm.
Add const modifiers.
Use the disambiguation algorithm.
kernel_netlink: take IPV6_SUBTREES into account.

The linux kernel should be able to deal correctly with source-sensitive ipv6
route entries since 3.11 (when it is configured with IPV6_SUBTREES).  This patch
modify the kernel so that ipv6 route entries sent into the kernel are not pushed
in a different routing table.

The behavior for v4 doesn't change.
Don't insert ipv6 disambiguation routes if IPV6_SUBTREES is defined.

Since the kernel behavior is the one desired for ipv6 (match by destination
first, then source), we don't install disambiguation route entries for ipv6.
The behavior for v4 doesn't change.
Fix bug when rules were modified by third parties.

When restarting network on openwrt, the rules were flushed.  In
this patch, we ask the kernel for rule changes, and try to
reinstall (or flush) the rules, as it should be.
Add option to announce all routes with default source.

This is not safe in general, but might be usefull (for example
for gateways). In order to avoid loops, if a route (d,s) is
announced as (d,0), no (d,0) routes will be allowed in our
routing table, but it come from kernel.
Fix memory corruption.