User login

Weekly Report for week ending 5 May 2017




Added options to the ampweb mesh configuration to allow setting the individual tests that should be visible in the matrix view, and whether the mesh is a source for these tests or not. Previously we tried to guess and enable these as tests were scheduled, but this led to issues when meshes were created for convenient display grouping and didn't actually run any tests, and it was not transparent why things were behaving the way they did. This is now an entirely manual process that the user has full control over. Also fixed a bug in the matrix display that meant the throughput matrix was losing configuration options when switching between it and other tests, and updated the URL validity checks to match the new formats so that our URLs are now pushed into browser history.

Spent some more time investigating why the BGP code was so slow. Most of the time appears to be spent copying route entries, so I rewrote the deepcopy function for that class to be much more efficient, and also reduced the number of locations where route entries were copied. Replaced some dictionaries with defaultdict structures that remove the need to check for key presence (in very large data structures) before taking actions. I can now import 1 million routes from a peer in under 60 seconds, including running them through a number of simple filters and copying them into a number of VRFs. Exporting these routes takes more memory than I have available however, which will be a job for next week.