User login

Weekly Report for week ending 9 June 2017




Spent most of the week working on the BGP program. Had a bit of a general tidy up and reorganisation of the class hierarchy, and updated unit tests to match the changes.

All the various copies of routing tables are now stored on disk when not actively being modified to try to save on memory usage (and to make recovery easier in the future if BGP connections are interrupted). The Python garbage collector generally doesn't seem keen to return memory to the operating system though, so processes still end up with something of a high water mark for memory usage but this does improve it slightly.

Finished adding a command interface to allow updating filters on the fly, as well as any other operations we want to add (could inject crafted BGP messages, swap out parts of the decision process etc). Peer objects rerun the filters over received routes as they are updated. Peer objects also now run a BGP decision process to determine the best routes to export, and make sure that their own ASN is not in the path.