HOWTO: Learning recursive routes from kernel protocol

Ondrej Zajicek santiago at crfreenet.org
Tue May 14 21:21:06 CEST 2013


On Tue, May 14, 2013 at 02:43:48PM +0300, Sergey Popovich wrote:
> "onlink" option for ip-route(8) works as expected with IPv4, but current IPv6
> implementation does not handle this option, agree.
> 
> For IPv6, attached patch works as expected and route learned into BIRD's
> routing table from kernel FIB. Thanks for good workaround for current
> Linux kernel IPv6 implementation weakness.

Well there is a problem that conceptual models of Linux IPv4, Linux
IPv6, FreeBSD IPv4, ... routing tables are slightly different in some
details and they are probably not really documented anywhere. BIRD tries
to match its conceptual model of routing tables to these, but the match
is probably not really exact.

> > BTW, why not to use link-local addressess as a next-hop? That would also
> > solve the problem in a cleaner way. If you don't want to track automatic
> > (MAC-based) link-local addres, you could use preconfigured link-local
> > addresses (fe80::1/64, fe80::2/64) on the 'ptp' vlan. In that case, it
> > would be enough to assign /64 prefix for a client (no need to assign a
> > separate /128 IP).
> 
> Good point.
> 
> As for me (and from point of our helpdesk) this solution has one big 
> disadvantage:
>   traceroutes, from external networks to customer network(s) will indicate 
>   missing hop - customer gateway, configured with link-local address on its 
>   WAN interface (ICMP Destination unreachable dropped by our access server).

AFAIK this should not be a problem - In IPv6, gateway should use some other
global address (like one from /64 used on local network) as a source addr
for ICMP answers (or other its traffic), so there would be all hosts in
the traceroute output.

> There is other minor cases where link-layer address usage is not best choise:    
>   - some users like to connect their PC directly to Internet (:-)) (or at 
>     least do this to test connectivity and speed).
>   - some "network" OS'es in network equipment does not allow (or make things a 
>     bit complicated) setting link-layer addresses.

BTW, choosing CPE properly supporting IPv6 (including prefix delegation)
seems to be a nontrivial problem itself. One of my ideas about how to
provide IPv6 in a small wireless ISP was to configure clients' prefixes
in CPEs and use RIPng in CPEs to propagate it to an ISP router
(to get proper link-local next-hops here), with some validation in ISP router,
of course.

-- 
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20130514/6dc5d6cd/attachment-0001.asc>


More information about the Bird-users mailing list