A highlight for me during APRICOT 2020 (12 to 21 February) was the 3rd APNIC Hackathon, where participants from five economies worked together in three teams to develop new and creative tools and APIs useful for network operators’ day-to-day responsibilities.
Having already discussed the first part of the 1.5-day event, below is a summary of its outcome.
Team Alchemy – Automation of router configurations
Team Alchemy produced a tool that generates day 0 best practice configurations for routers, also merging anti-bogon techniques.
They wrote user stories to reflect the requirements they wanted to focus on: day 0 configuration, multi-vendor suitability, and tested. They divided the work into modules so they could work in parallel.
Although they were aiming for three Minimum Viable Products (MVPs), they achieved one and they documented some interesting ideas for future work.
Github repository -> https://github.com/proj-alchemy
Team 0x0b1 – Visualizations for pings and traceroutes
Team 0x0b1 produced a web interface that offers visualizations for pings and traceroutes from different looking glasses, using RIPE Atlas in the backend.
The goal was to try to combine pings and traceroutes from different sources, but they faced a problem: all the looking glass services they checked had some warning saying “don’t script me”, as they expect a human in the loop.
The team managed to automate queries using RIPE Atlas and visualize the results with easy to read charts, including a timeline for traceroutes and a geochart to show the geolocation of the source IP address of pings (using MaxMind).
Git Hub repository -> https://github.com/smvoigt/aphack/
Team BGP Squelch – Routing consistency
Team BGP Squelch worked on a tool to compute the percentage of prefixes covered by ROAs for the top ASNs in an economy based on their activity in the MRTdump files.
They faced several challenges with the tools and data sources they were using, including needing to set up a RADB mirror, having to work with several old route objects and discovering that MRTdumps are binary and need to be processed by a specific tool. However, they learnt a lot about BGP data, route objects in IRRs and RPKI, and were fortunate to receive help from APRICOT presenter, Luca Sani, who wrote bgpscanner, one of the tools they were using.
In the end they were able to produce a tool that checks whether the origin AS in BGP matches the origin AS in the corresponding ROA for a specific prefix.
Git Hub repository -> https://github.com/guzzim/bgpsquelch
Teamwork was the real winner
The three teams got great feedback from the jury who said that it was gratifying to see them work as teams and adapt when they faced roadblocks. Everyone agreed they were working outside their comfort zones and that big problems cannot be solved in a day.
Team Alchemy received special recognition, but all the participants are winners. They are taking back home a lot of learning; the shared knowledge and enjoyment of working with people they had never worked with before, and the experience of staying focused on specific tasks and getting better at saying “no” to some great ideas because of time constraints.
We are planning to organize a 4th APNIC Hackathon at APNIC 50 in Dhaka, Bangladesh, so stayed tuned if you want to join us there.
The views expressed by the authors of this blog are their own and do not necessarily reflect the views of APNIC. Please note a Code of Conduct applies to this blog.