Thank you for your great answer.
So it seems that ranges are only supported in network addresses. For IP fields, should I set NW_SRC_N_WILD and NW_DST_N_WILD fields in the passed dictionary? set_match uses these fields but it is not mentioned above install_datapath_flow method

On 8/10/2011 6:24 AM, Murphy McCauley wrote:
Ranges for port numbers are not an OpenFlow feature (at least not in 1.0), so 
the short answer is that doing this is impossible.

I don't think anything to do with set_match() will help you, since set_match() 
just builds an OpenFlow match structure (and, again, port range matches are not 
an OpenFlow 1.0 feature).

The longer answer is that you can install individual rules that exactly match 
port numbers.  If you were interested in, say, five particular ports, 
installing five flows proactively with those five port numbers is probably a 
fine solution.  But installing 1024 flows is probably not a good idea.  A 
reactive approach scales better (at the cost of flow setup latency which 
includes a round trip from the switch to the controller) -- install a flow that 
matches on everything you're interested in *except* port number, wildcard the 
port number, and give it a send-to-controller action.  When a packet hits this 
rule, it'll get sent to the controller, and you can install a new rule with a 
higher priority that exactly matches the port number used by that flow.

Hope that helps.

-- Murphy

On Aug 10, 2011, at 6:03 AM, Masoud Moshref Javadi wrote:

How can we set rules with wildcards that do not cover all of the range. For 
example, I want to set a rule that match destination port numbers from 1 to 
1024 or any other arbitrary ranges. Should I replicate what set_match method 
does?
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev

Reply via email to