User login

Blogs

24

Oct

2017

Expanded the new AMP user management interface to allow different roles to be given to each user, splitting the ability to view configuration from being able to edit it. Added and tested all the backend parts required to make the user management work - add/remove/modify/etc users. Updated each of the front end components to expect the correct level of permissions.

Continued to work on the BGP design document taking some feedback into account.

Started organising the BGP code into a more sensible looking module with tests and code in standard locations. Spent a lot of time getting the test setup working properly when run from setup.py. It appears that the default setuptools test loader wants to treat every single file as a test rather than just those that match the documented filter, so this had to be changed to exclude non-test files. This was also complicated by the fact that the majority of the code is python3 only but some tests need supporting elements that only run in python2, and so parts need to be skipped based on the version of python being used.

24

Oct

2017

Spent most of this week working on generating email events from AMP data. Moved the user filters (configurable via the website) into the eventing database so that they can be loaded by the eventing processes and filter events in realtime. The aim is to have email alerts triggered by sensible filters in the backend rather than triggering on any group that crosses a threshold in size. The web front end does a lot of work trying to improve the quality of the event groups that I've not replicated, but host filtering and event types will now be taken into account.

Added a basic web UI to configure users so that they can have email addresses associated with them for alerting.

24

Oct

2017

Started looking into prometheus as an option for extracting useful statistics out of the BGP router. It's pretty simple to get working, though doing monitoring across multiple processes isn't as clean as I would like. Added tracking of simple route/prefix statistics to a test branch, and had a think about ways to get more detailed routing information (such as a looking glass might present) without interfering with updating routes.

Updated the pregenerated/prepackaged martians filter to include IPv6 martians.

Investigated an issue with some AMP graphs that prevents the interactive sliders from working on certain browser/OS combinations (mostly Windows). Hard to replicate. Looked like it might be an issue with out of date javascript libraries, but updating them didn't fix it. Need to find an easier way to replicate it to get any further I expect.

Spent a bit more time working on the design document from last week.

24

Oct

2017

Continued developing the new telescope software. nDAG records are now created and multicast out a specific interface. I also have a test client that is able to join the multicast groups and receive the packet streams. There's also a control channel that is used by the telescope to announce the ports that the streams will be transmitted on.

Continued tinkering with adding new libprotoident rules. Added another 6 new protocols this week, all games. Updated a few other existing rules as well to cover new variants or fix minor errors.

Had some meetings on Monday re: a possible open-source ETSI-compliant lawful intercept implementation. There's definitely some interest in the community for something open-source to exist.

23

Oct

2017

Last week I carried on with reading through the papers that I had found related to error detection and recovery of SDN. I have also written quick summaries for all the papers that I read through. At the end of the week, I started looking at traffic engineering and how this can tie into error detection and recovery. Thursday I attended the compulsory postgrad workshop.

This week I want to quickly tidy up the summaries that I have so far. I also want to look a bit more into traffic engineering and perhaps other potential enhancements that can be applied to error recovery and detection. I would also like to try and run a few experiments in Mininet with some of the presented systems in the papers I have looked at. This will hopefully help me to gain a better understanding of what has been done so far.

17

Oct

2017

Helped Jayden with polishing up the final version of his Honours report. Hopefully he is happy with the final result!

Started testing the initial prototype of the DAG multicaster on our development boxes. Had a few issues getting dpdk pktgen to do exactly what I wanted (not helped by the terrible documentation!) but eventually managed to happily capture 10Gb of small packets split across 4 DAG streams with no real issues. Next step is to start encapsulating and multicasting some nDAG records.

Went to the STRATUS forum on Friday, flying down to Wellington on Thursday afternoon. Forum seemed to go pretty well; plenty of people that I spoke to thought that our work so far was interesting.

Released a new version of libprotoident.

09

Oct

2017

Libprotoident 2.0.12 has been released.

This release is mostly a protocol database update. We've added 26 new protocols and updated a further 33 others since the last release.

We've also added a new category for IP Camera protocols. Some already existing protocols have been moved into this category to better reflect their purpose.

The full list of updated protocols can be found in the libprotoident ChangeLog.

Download libprotoident 2.0.12 here!

09

Oct

2017

Started working on the DAG multicaster for STARDUST. Designed an encapsulation protocol for the multicaster and wrote some prototype code using the libdag API to start grabbing bunches of records and give them to the as yet unimplemented multicaster to encapsulate and send.

Spent some time reading over Jayden's honours report and gave him some (hopefully useful) feedback. The work he has done this year is really interesting; just needs a bit of literary polish so that his markers can fully appreciate it :)

Continued slowly working towards a libprotoident release. The code itself looks ready to go, so I just need to prepare the release announcements. I've updated my paper to include the extra 20 or so protocols that I've added since I started writing up the results -- the paper now covers 435 application protocols.

03

Oct

2017

Spent a decent portion of my week working on my reworked cluster evaluation code for STRATUS. The new version seems to be producing labels that are much more useful, so my ability to evaluate clusters and identify the least conforming members has improved greatly.

Continued to tweak and improve the libprotoident rules. Started working towards a possible 2.0.12 release by updating documentation and running some basic build tests on various operating systems.

02

Oct

2017

This week I finished the route entry C implementation and ran several tests to make sure everything is working as expected. I then started integrating the new c modules with the python code and tested it to make sure everything is working correctly. At the end of the week, I re-ran the performance tests and collected performance stats to compare the new implementation to the old Python modules.