Re: [mirrorbrain] [PATCH] IPv6 support for mod_asn - Apparently a very low hanging fruit.

From: Michael Meier <mirrorbrain_at_poempelfox.de>
Date: Fri, 08 May 2015 20:43:13 +0200
> With the adoption of IPv6 for more and more end user connections I believe it's
> necessary that mod_asn is also able to match IPv6 addresses to their AS and get
> the users to the closest IPv6-enabled mirror possible.
> [...]
> as you can see it works just as it should, giving back the correct order, IPv4
> and IPv6 prefixes in harmony !

I played around with your incredibly small patches today, and it really
does seem to work very well. It really is a very low hanging fruit.

> The only piece to the IPv6 puzzle that is missing to me at least, is a good
> source for the IPv6 prefixes <-> AS list in plain just like there is with
> http://www.routeviews.org/ for IPv4. If someone has BGP full-table running on
> maybe a looking glass router one can simply get it from there, but that is of
> course not something for everyone. So this needs some thought and then the
> appropriate addition to the provided script to gather the data and put it into
> the database.

While there are no textual dumps available for IPv6, there is really no
lack of binary dumps. For example, ripe offers quite a few on
data.ris.ripe.net. But since mirrorbrain already uses routeviews.org
data for IPv4, I used their IPv6 data for my tests.
Unfortunately, there is no "current" symlink as with the IPv4 text data,
so you need to construct the right filename depending on the current
date (and maybe time) yourself. For example, the data i used was
http://archive.routeviews.org/route-views6/bgpdata/2015.05/RIBS/rib.20150508.0000.bz2
So generally,
http://archive.routeviews.org/route-views6/bgpdata/YYYY.MM/RIBS/rib.YYYYMMDD.HH00.bz2
They offer dumps every two hours, but for mirrorbrain use just taking a
random one from the last week should be perfectly fine.
The command-sequence I used then was:
> bzcat rib.20150508.0000.bz2 | ./zebra-dump-parser.pl | ./filteruniqueprefixes.pl > /tmp/v6routedump.dat
> asn_get_routeviews > /tmp/v4routedump.dat
> cat /tmp/v6routedump.dat /tmp/v4routedump.dat | asn_import.py
The helper tools used in this and the slightly modified version of
asn_import.py that I used can be found in
https://github.com/poempelfox/mod_asn/tree/ipv6support
While this works, it could need some more streamlining, e.g.:
- providing a download-tool like for the IPv4 data
- providing a mirror of the data used on mirrorbrain.org/routeviews/
- install the new helper tool(s) in packaging
- perhaps merging it all together into asn_get_routeviews.py
It would really be nice if this could be integrated into mirrorbrain.

While I'm at it, I also have a small documentation fix at
https://github.com/poempelfox/mod_asn/tree/mod_asn_docfix1
This should be trivial to merge, it simply adapts the documentation to
non-ancient postgresql-versions.



_______________________________________________
mirrorbrain mailing list
Archive: http://mirrorbrain.org/archive/mirrorbrain/

Note: To remove yourself from this mailing list, send a mail with the content
 	unsubscribe
to the address mirrorbrain-request_at_mirrorbrain.org
Received on Sat May 09 2015 - 01:34:44 GMT

This archive was generated by hypermail 2.3.0 : Wed Jun 10 2015 - 12:17:05 GMT