User login

Adam Coxhead's blog

02

Aug

2013

Started writing topology creation scripts this week. So far they are able to create full mesh networks as well and ring networks for a specified number of switches. Since then I have been advised that mininet may be worth looking into. Next week I plan to try out mininet, even if it is not quite what I'm looking for it may give me ideas about methods on generating topologies.

27

Jul

2013

Didn't get as much done as I was hoping to this week, Ended up just tidying code up and getting it into a state were automated testing would be easier to run. Have put some more though into the test scripts I'm planning to create, hopefully will get onto them soon so I can find out how my code scales.

19

Jul

2013

So it's getting to the point in my project where I'm needing someway of automating testing of the spanning tree and forwarding unit of my OpenFlow Module, thus I spent most of my time thinking about how to achieve this this week. Other things that were considered were what comparisons I would be wanting to make with existing solutions, such as STP and RSTP. Lastly I started bundling my code into a more manageable layout in preparation for setting this test bed up

13

Jul

2013

First week back an uni after the break, This week I decided to, as well as looking at getting a implementation of interface based forwarding working, look back over all the code I have been writing for this project up to this point and find areas that can be improved upon. The main reason for this is that I have a deeper understanding of Python code now and there were some choices I had made that weren't very efficient. These are currently been worked on and will be my focus for next week

05

Jul

2013

This week I spent some time testing different switch typologies in order to check the soundness of my forwarding module. There were some edge case bugs discovered, most of which were pretty simple errors such as using the wrong variable for a certain case etc. I'm pretty confident I've fixed all these minor bugs now. For my multipath implementation I have done path based splits, after taking my solution to Brendon he suggested it may be worth trying an interface based approach as well, so next week I plan to have a go at implementing that and compare the two

28

Jun

2013

So after investigating what information is passed around from Openflow about ports and what could be used as a link metric, I had decided on using link speed however OVS sets that to zero for the virtual links between switches. Therefore I have introduced metrics manually so that multipath equal cost forwarding could be looked at.
I have reworked my spanning tree module to work out the minimal cost spanning tree of the network. Also reworked my shortest path algorithm to use metrics rather then hop count, as well as introducing load balancing by alternating flows down equal cost paths.

21

Jun

2013

This week I have created a new module to handle the forwarding between switches. This module at the moment is at a stage were it calculates the shortest path between switches and installs flows along that path. The module is pretty basic at the moment as it is just using hop count for the shortest path calculation, however next week I plan to introduce the links statistics into the calculation. After links stats are introduced I then plan to start looking at introducing load balancing into the module

14

Jun

2013

This week I managed to take the already existing topology discovery code in Ryu for OpenFlow 1.0 and get a basic version working for OpenFlow 1.2.
From there I have also been able to get a very naive spanning tree implementation working, which can handle topology changes in a network (such as a link going away etc.).

07

Jun

2013

Spent this week finishing of the last assignment for 513, so not much work done on my project this week.

31

May

2013

Handed in my interim report this week.
Also after reading a bit deeper into the changes between openflow 1.0 and 1.2 realised the original approach I was thinking of will not work. So spent some time over the weekend and early this week thinking of other approaches on how I can get a basic spanning tree working in openflow so that when the break comes I'm ready to get right into it.