Here's my POX fork that does enough OpenFlow 1.1 to pass a basic unit test
with an MPLS packet https://github.com/samrussell/pox/tree/of11

It breaks wildcarding in the process, and the rest of the spec needs to be
implemented to make it work properly (e.g. pack/unpack fails on most
classes, probably due to the new 32-bit ports), as well as other messages,
but my goal here is just to get it up and running so that there's a python
controller that speaks OpenFlow 1.1

Here's the main functionality that I'm aiming for:

- Can auto-generate matches based on compatible packets (done)
- Implements actions for MPLS stuff

This should really be all that it needs for it to be integrated into a
label-switched router. The rest will come, as well as ways to make the
1.0/1.1 split more pretty, but I'm really after a reference MPLS spec in
POX.

I've found some other stuff on the way:
- the mpls class stores its payload as raw data rather than parsing it as
IP(v4)
- the wildcarding is heavily tied to fields that can be matched - new IP
and ethernet masks will either need more special cases like IP currently
has in 1.0, or a new approach to wildcarding

Reply via email to