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.
