I've ported nearly all of the OpenFlow 1.0 functionality to the OpenFlow
1.1 protocol, and it passes all of the unit tests as before except
wildcarding, but I don't care about that at the moment. In short, if you
plug it into an OpenFlow 1.1 switch, I'm fairly confident that you can set
MPLS-based flows fairly easily, meaning you can now use POX to build an
open source LSR.

I'm a wee way off full support, and have no plans for how to make it
integrate well in a dual-stack 1.0/1.1 world, but the code is all
functional. What do I need to do to get this merged back into betta?

https://github.com/samrussell/pox

Things that are (probably) working - passing unit tests at least:
- All of OpenFlow 1.0 except wildcards for matches (needs a review as the
current architecture doesn't handle nw_mask and dl_mask without some filthy
hacks)
- MPLS tag swapping & popping

Things that aren't working
- tables
- groups
- some of the new actions (VLAN push/pop)

On a side note, the tests need to have a bit more comprehensive negative
testing - it's good that they can find when structs aren't the same when
they should be, but it's also important to make sure they are detected as
different. Some of the structs I've forgotten to add the new fields to the
comparison functions (and most have had it put in as an afterthought), and
negative testing would pick these up.

Reply via email to