I have completed all the work to get the arbitrary_topology working tidily. I tried to rebase and tidy it all up this morning but it wasnt a great success.. It has mostly been compressed into one giant commit now. I will look at rebasing that nicely so I can put it online, but my motivation to continue with that has taken a bit of a hit.
The next thing is to work out how I can implement the path end polling with the current state of ovs. IE no layered MPLS.
I think it should be achievable with masked VLan tags, which will probably turn out to be a much simpler approach. If a little hacky.
So, I have been completely revising RFServer at the moment. Getting rid of most of the remnants of mongodb to hopefully have something a lot simpler to deal with.
This is mostly because I noticed about 4 thousand or so bugs with the code in my 591 to deal with network partitions. Hopefully, this will help reduce that number a little..
Monitored Caida and Planetlab as more warts data is produced. Caida is collecting data with an updated driver for measuring the efficiency of several methods of choosing the flow ID when running MDA traceroute.
Data from the second round of non flow ID field analysis has been processed to raw data and then summarised using a spread sheet. There seem to be a small number routers that can segregate packets to different successor nodes based on a number of non standard fields (not the classic 5-tuple).
The slide set for the PhD conference has been updated. More graphs with error bars for 95% confidence have been produced, including a graph of the percentage of paths with a particular type of load balancer, and this was done for the three usual packet types.
Fixed a couple of bugs in the event grouping code that meant it was
running much slower than it should when groups got large. It should now
be a lot smarter about excluding attributes from the grouping process if
there is no way that using them could result in better groups.
Had a good meeting with Lightwire on Wednesday and got good feedback
about our software. Spent some time talking with Nathan trying to fix
issues they were having with it, and putting together
packages/instructions so that they can install AMP alongside their other
monitoring. This is looking much more complicated than it should be, so
will have to see how much of this can be taken care of in pre/post
install scripts etc. Most of the work is in setting up the server
though, so only needs to be performed once.
Spent most of the week preparing for my Sydney trip. Wrote the talk I will be presenting this coming Thursday and gave a practice rendition on Friday.
The rest of my time was spent fixing minor issues in Cuz -- trying not to break anything major before I go away for a week. Replaced the bad SQLAlchemy code in the ampy netevmon engine with some psycopg2 code, which should make us slightly more secure. Also tweaked some of the event display stuff on the dashboard so that useful information is displayed in a sensible format, i.e. less '|' characters all over the place.
Had a useful meeting with Lightwire on Wednesday. Was pleased to hear that their general impression of our software is good and will start working towards making it more useful to them over the summer.
I am/have submitting/have submitted my hardbound thesis.
Finished off gathering field testing data on Caida. Began the next run which is testing the efficiency of several flow ID selection modes. It was necessary to update the driver which was previously used to collect this data type on Yoyo.
More work has been done on the slide set for the conference. More statistical tests have been carried out and more graphs have been produced from the raw data. Further pruning of the slide set has been carried out.
Managed to get a working implementation of Flott which does the necessary initialisation and calculations for obtaining the t-entropy of a given string! It took longer than expected though - I was right about the objects and functions that I would need out of the original source code, but missed a number of lines in different places which meant that the tokens and values used in the calculations were incorrect, thus resulting in an incorrect output. So, I spent many, many hours adding debugging output in my implementation and the original code after each iteration/processing and compared the results to figure out what had gone wrong. I was then able to produce a t-entropy value that was very close to the original program's output. After going over the original code again, there was a scaling factor that I had missed and that fixed the last issue.
Over the next week, the plan is to refactor the code and finalise it for addition to Netevmon.
Finished reformatting the data to remove some mess and unnecessary
layers of nesting that had crept in while trying different things. It
should now be set up to deal properly with representing multiple lines,
split up or grouped by however the backend wants to do so. Updated all
the tests to use the new data format.
Spent an afternoon with Shane and Brad designing how we are going to
represent graphs with multiple lines, in a way that will let us merge
and split data series based on how the user wants to view the data.
Tidied up the autogenerated colours for the smokeping graphs to use
consistent series colours across the summary and detail views, while
also being able to use the default smokeping colouring if there is only
a single series being plotted.
I added multiple table support to RouteFlow, and am now trying to add my 591 work on top of that, but it is taking longer than I expected.
Having multiple tables does simplify the structure of things and fixes most of the interface issues I had with the older version of this code, but in spite of this I am having a lot of problems getting this to work.