Very cool!  Seems like a good first step.

I'll take a closer look when I have more time.

There are still some changes pending in libopenflow_01, which you might want to 
at least be aware of.  The two big (related) ones are:
Finally eliminating all vestiges of the length field and only using it for 
validation.
Using the new-style unpack (using the helper methods up top), which are more 
structured, fail more noticeably, and allow unpacking from arbitrary offsets in 
a buffer (reducing the number of copies the OF loop has to do).

-- Murphy

On Nov 2, 2012, at 9:34 PM, Sam Russell wrote:

> 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