Openflow 1.3

Fixed the build issues many were having. Still need to change the javadoc version to 1.7 in the build.xml file (will be fixed in next commit). Static flow pusher supports all OF1.3 matches; tested with addFlow() from the static flow pusher service. REST API pushing not tested yet, but should theoretically work. I'd like to test the REST API, but I think people would like to not have build issues, so I'm proposing this commit now instead.

@capveg
@andi-bigswitch
Will do, smaller commits.

As for OFPort.ZERO, that's a mistake, and should be OFPort.ANY; I just
checked the source myself too. I don't know why I did that. Looking at the
code in pushStaticVipRoute(), the output port is going to be overwritten
from ZERO with a port defined in the NodePortTuple list "path." Although it
should be changed, it doesn't look like starting off as ZERO would impact
the port that is used in the flow later on.

I've made lots of changes to the static flow pusher since my last commit.
Is there a way for me to save the changes I've made now without committing
them, then go back to my last commit (the one you're looking at), fix that
one error, push that single change, and finally resume where I've left off
just now?

Ryan Izard
Graduate Research/Teaching Assistant
306B Fluor Daniel Building
ECE Department, Clemson University
Clemson, SC 29634
rizard@g.clemson.edu
---------------------------------------------------
Big Switch Networks
ryan.izard@bigswitch.com


On Mon, Aug 11, 2014 at 5:05 PM, Andreas Wundsam <notifications@github.com>
wrote:

> In src/main/java/net/floodlightcontroller/loadbalancer/LoadBalancer.java:
>
> >                 fmb.setBufferId(OFBufferId.NO_BUFFER);
> > -               fmb.setOutPort(OFPort.ANY); //TODO @Ryan is this the same as OFPort.NONE in the old openflowj?
> > +               fmb.setOutPort(OFPort.ZERO);
>
> From the Javadoc
> <https://github.com/floodlight/loxigen/blob/9c0a026d2a9ff2fae038eb1f9fa5cb12b1871088/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPort.java>
> :
>
>     /**     * Wildcard port used only for flow mod (delete) and flow stats requests.     * Selects all flows regardless of output port (including flows with no     * output port). NOTE: OpenFlow 1.0 calls this 'NONE'     */
>     public final static OFPort ANY = new NamedPort(OFPP_ANY_INT, "any");
>     /** the wildcarded default for OpenFlow 1.0 (value: 0). Elsewhere in OpenFlow     *  we need "ANY" as the default     */
>     public static final OFPort ZERO = OFPort.of(0);
>
> You'll need OFPort.ANY here. "ZERO" is just the representation of the
> wildcarded default value in OF1.0 (arguably, this constant should be
> hidden).
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/floodlight/floodlight/pull/455/files#r16089061>.
>