User login

Weekly Report for week ending 22 September 2017




Rewrote the prefix filtering code to use a radix trie rather than the naive list I started with. Was an interesting challenge to allow for a range of prefix matches, that might not be even close to the prefix specified in the rule itself. The new filtering is approximately 300 times faster than the old, as well as using much less memory.

Changed the format of messages passed between peer and table processes in the BGP router to allow tables to also talk to other tables. This allows filters to be applied in stages, or export routes to peers at different stages. If desired, work specific to groups of peers can all be performed at once by a single table rather than multiple times by each individual peer.

Started to write up some basic design documentation describing the current state of the BGP router, what it is capable of, and how it all fits together.