Re: [nox-dev] Matching wildcard flows with different priorities

2011-03-01 Thread James "Murphy" McCauley
I notice in your code below you are using CACHE_TIMEOUT as the idle
timeout.  Assuming you're modifying pyswitch, that's only 5 seconds.  Is
this the actual code you're using?  Are you sure your flows aren't just
timing out?  If you change that to OFP_FLOW_PERMANENT, will it start
doing what you want?

-- Murphy

On Mon, 2011-02-21 at 23:04 -0800, malve...@cs.ucsd.edu wrote: 
> I am using a Fulcrum microsystems switch that has provided an
> openvswitch implementation for their switches.
> I need to run ovs-openflowd  on the switch that connects to the
> specified nox controller and supports the standard openvswitch flow
> insertion rules etc.
> 
> - Original Message -
> From: "Kyriakos Zarifis" 
> To: malve...@cs.ucsd.edu
> Cc: "Murphy McCauley" , "nox-dev"
> 
> Sent: Monday, February 21, 2011 10:40:15 PM GMT -08:00 US/Canada
> Pacific
> Subject: Re: [nox-dev] Matching wildcard flows with different
> priorities
> 
> Hey Malveeka, 
> 
> 
> what kind of switch are you using? (sorry if you mentioned this and I
> missed it)
> 
> On Mon, Feb 21, 2011 at 9:08 PM,  wrote:
> So if I insert the rules in the order flow1, flow2 then you're
> right  flow2 doesn't get installed . 
> However, if I insert flow2 and then flow1, both rule do get
> installed but in that case,  even packets that should match
> flow1 (because it's higher priority) match against flow2 and
> get forwarded incorrectly. 
> 
> 
> 
> 
> 
> - Original Message -
> From: "Murphy McCauley" 
>     To: malve...@cs.ucsd.edu
>     Cc: "nox-dev" 
>     
> 
> Sent: Monday, February 21, 2011 8:28:38 PM GMT -08:00
> US/Canada Pacific
> Subject: Re: [nox-dev] Matching wildcard flows with different
> priorities
> 
> I think my next step would be to inspect the switch and see if
> the flows I'm expecting are there (that is... is flow2
> actually getting installed?).  If you're using the reference
> switch or Open vSwitch, I'd just use the appropriate dpctl
> tool to dump the flow table. 
> 
> 
> -- Murphy 
> 
> On Feb 21, 2011, at 8:09 PM, malve...@cs.ucsd.edu wrote: 
> 
> I am not building the match by hand. 
> 
> 
> I am specifying the flow as a dictionary and calling
> the install_datapath_flow method: 
> 
> 
> inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT, 
> 
> openflow.OFP_FLOW_PERMANENT, actions, 
>bufid, priority, 
>port, buf) 
> where flow is simply a dictionary ..  
> flow1 = {'dl_dst': array('B', [0, 96, 221, 70, 81,
> 94]), 'dl_src': array('B', [0, 96, 221, 70, 81, 94])} 
> flow2 = {'dl_src': array('B', [0, 96, 221, 70, 81,
> 94])} 
> 
> 
> and I invoke install_datapath_flow to insert entries
> flow flow1 and flow2. 
> 
> 
> From what I understand install_datapath_flow
> internally calls set_match to create the ofp_match
> object for the flow. 
> I even tried creating a ofp_match object for the given
> flow and passing it to the install_datapath_flow
> command in place of flow but that gave me an
> AttributeError 
> 
> 
> Following is the traceback. 
> 
> 
> Traceback (most recent call last): 
>   File "./nox/lib/util.py", line 138, in f 
> ret = f.cb(event.datapath_id, attrs) 
>   File "./nox/coreapps/examples/hybriddc.py", line 66,
> in datapath_join_callback 
> rules.insert_static_rules(inst, dpid, 1) 
>   File "./nox/coreapps/examples/staticrules.py", line
> 38, in insert_static_rules 
> self.insert_rules_pod01(inst, dpid) 
>   File "./nox/coreapps/examples/staticrules.py", line
&

Re: [nox-dev] Matching wildcard flows with different priorities

2011-02-21 Thread malveeka
I am using a Fulcrum microsystems switch that has provided an openvswitch 
implementation for their switches. 
I need to run ovs-openflowd on the switch that connects to the specified nox 
controller and supports the standard openvswitch flow insertion rules etc. 










- Original Message - 
From: "Kyriakos Zarifis"  
To: malve...@cs.ucsd.edu 
Cc: "Murphy McCauley" , "nox-dev"  
Sent: Monday, February 21, 2011 10:40:15 PM GMT -08:00 US/Canada Pacific 
Subject: Re: [nox-dev] Matching wildcard flows with different priorities 

Hey Malveeka, 


what kind of switch are you using? (sorry if you mentioned this and I missed 
it) 


On Mon, Feb 21, 2011 at 9:08 PM, < malve...@cs.ucsd.edu > wrote: 





So if I insert the rules in the order flow1, flow2 then you're right flow2 
doesn't get installed . 
However, if I insert flow2 and then flow1, both rule do get installed but in 
that case, even packets that should match flow1 (because it's higher priority) 
match against flow2 and get forwarded incorrectly. 








- Original Message - 
From: "Murphy McCauley" < jam...@nau.edu > 
To: malve...@cs.ucsd.edu 
Cc: "nox-dev" < nox-dev@noxrepo.org > 



Sent: Monday, February 21, 2011 8:28:38 PM GMT -08:00 US/Canada Pacific 
Subject: Re: [nox-dev] Matching wildcard flows with different priorities 

I think my next step would be to inspect the switch and see if the flows I'm 
expecting are there (that is... is flow2 actually getting installed?). If 
you're using the reference switch or Open vSwitch, I'd just use the appropriate 
dpctl tool to dump the flow table. 


-- Murphy 



On Feb 21, 2011, at 8:09 PM, malve...@cs.ucsd.edu wrote: 




I am not building the match by hand. 


I am specifying the flow as a dictionary and calling the install_datapath_flow 
method: 


inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT, 


openflow.OFP_FLOW_PERMANENT, actions, 
bufid, priority, 
port, buf) 
where flow is simply a dictionary .. 
flow1 = { 'dl_dst': array('B', [0, 96, 221, 70, 81, 94]), 'dl_src': array('B', 
[0, 96, 221, 70, 81, 94])} 
flow2 = {'dl_src': array('B', [0, 96, 221, 70, 81, 94])} 


and I invoke install_datapath_flow to insert entries flow flow1 and flow2. 


>From what I understand install_datapath_flow internally calls set_match to 
>create the ofp_match object for the flow. 
I even tried creating a ofp_match object for the given flow and passing it to 
the install_datapath_flow command in place of flow but that gave me an 
AttributeError 


Following is the traceback. 



Traceback (most recent call last): 
File "./nox/lib/util.py", line 138, in f 
ret = f.cb(event.datapath_id, attrs) 
File "./nox/coreapps/examples/hybriddc.py", line 66, in datapath_join_callback 
rules.insert_static_rules(inst, dpid, 1) 
File "./nox/coreapps/examples/staticrules.py", line 38, in insert_static_rules 
self.insert_rules_pod01(inst, dpid) 
File "./nox/coreapps/examples/staticrules.py", line 112, in insert_rules_pod01 
None, None) 
File "./nox/coreapps/examples/staticrules.py", line 288, in 
insert_forwarding_rule 
port, buf) 
File "./nox/lib/core.py", line 380, in install_datapath_flow 
(idle_timeout, actions, buffer_id), hard_timeout) 
File "./nox/lib/core.py", line 253, in send_flow_command 
m = set_match(attrs) 
File "./nox/lib/util.py", line 250, in set_match 
if attrs.has_key(core.IN_PORT): 
File "./nox/lib/openflow.py", line 756, in  
__getattr__ = lambda self, name: _swig_getattr(self, ofp_match, name) 
File "./nox/lib/openflow.py", line 54, in _swig_getattr 
raise AttributeError(name) 







- Original Message - 
From: "Murphy McCauley" < jam...@nau.edu > 
To: malve...@cs.ucsd.edu 
Cc: "nox-dev" < nox-dev@noxrepo.org > 
Sent: Monday, February 21, 2011 7:41:47 PM GMT -08:00 US/Canada Pacific 
Subject: Re: [nox-dev] Matching wildcard flows with different priorities 

The expected behavior is as you expect, not what you're observing. Are you 
building the match by hand, or are you using set_match() (in util) or something 
that calls it? If you're building it by hand, are you accounting for byte order 
in the wildcards field using htonl()? 


-- Murphy 



On Feb 21, 2011, at 6:18 PM, malve...@cs.ucsd.edu wrote: 




Hi 


I thought I'd start another thread for this issue.. 


I am inserting the following two flow entries in the switch. 


1) match: (src1, dst1, *) , action: send out on port x, priority = 101 (higher 
priority) 

2) match: (src1, *) action: send out on port y, priority = 5 (lower priority) 


The flow between src1 and dst1 is correctly being sent on port x. This is 
expected because flow entry 1 has a higher priority. 


However for a flow between src1 and dst2, the pack

Re: [nox-dev] Matching wildcard flows with different priorities

2011-02-21 Thread Kyriakos Zarifis
Hey Malveeka,

what kind of switch are you using? (sorry if you mentioned this and I missed
it)

On Mon, Feb 21, 2011 at 9:08 PM,  wrote:

> So if I insert the rules in the order flow1, flow2 then you're right  flow2
> doesn't get installed .
> However, if I insert flow2 and then flow1, both rule do get installed but
> in that case,  even packets that should match flow1 (because it's higher
> priority) match against flow2 and get forwarded incorrectly.
>
>
>
> - Original Message -
> From: "Murphy McCauley" 
> To: malve...@cs.ucsd.edu
> Cc: "nox-dev" 
> Sent: Monday, February 21, 2011 8:28:38 PM GMT -08:00 US/Canada Pacific
> Subject: Re: [nox-dev] Matching wildcard flows with different priorities
>
> I think my next step would be to inspect the switch and see if the flows
> I'm expecting are there (that is... is flow2 actually getting installed?).
>  If you're using the reference switch or Open vSwitch, I'd just use the
> appropriate dpctl tool to dump the flow table.
>
> -- Murphy
>
> On Feb 21, 2011, at 8:09 PM, malve...@cs.ucsd.edu wrote:
>
> I am not building the match by hand.
>
> I am specifying the flow as a dictionary and calling the
> install_datapath_flow method:
>
> inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT,
>openflow.OFP_FLOW_PERMANENT, actions,
>bufid, priority,
>port, buf)
> where flow is simply a dictionary ..
> flow1 = {'dl_dst': array('B', [0, 96, 221, 70, 81, 94]), 'dl_src':
> array('B', [0, 96, 221, 70, 81, 94])}
> flow2 = {'dl_src': array('B', [0, 96, 221, 70, 81, 94])}
>
> and I invoke install_datapath_flow to insert entries flow flow1 and flow2.
>
> From what I understand install_datapath_flow internally calls set_match to
> create the ofp_match object for the flow.
> I even tried creating a ofp_match object for the given flow and passing it
> to the install_datapath_flow command in place of flow but that gave me an
> AttributeError
>
> Following is the traceback.
>
> Traceback (most recent call last):
>   File "./nox/lib/util.py", line 138, in f
> ret = f.cb(event.datapath_id, attrs)
>   File "./nox/coreapps/examples/hybriddc.py", line 66, in
> datapath_join_callback
> rules.insert_static_rules(inst, dpid, 1)
>   File "./nox/coreapps/examples/staticrules.py", line 38, in
> insert_static_rules
> self.insert_rules_pod01(inst, dpid)
>   File "./nox/coreapps/examples/staticrules.py", line 112, in
> insert_rules_pod01
> None, None)
>   File "./nox/coreapps/examples/staticrules.py", line 288, in
> insert_forwarding_rule
> port, buf)
>   File "./nox/lib/core.py", line 380, in install_datapath_flow
> (idle_timeout, actions, buffer_id), hard_timeout)
>   File "./nox/lib/core.py", line 253, in send_flow_command
> m = set_match(attrs)
>   File "./nox/lib/util.py", line 250, in set_match
> if attrs.has_key(core.IN_PORT):
>   File "./nox/lib/openflow.py", line 756, in 
>     __getattr__ = lambda self, name: _swig_getattr(self, ofp_match, name)
>   File "./nox/lib/openflow.py", line 54, in _swig_getattr
> raise AttributeError(name)
>
>
>
>
> - Original Message -
> From: "Murphy McCauley" 
> To: malve...@cs.ucsd.edu
> Cc: "nox-dev" 
> Sent: Monday, February 21, 2011 7:41:47 PM GMT -08:00 US/Canada Pacific
> Subject: Re: [nox-dev] Matching wildcard flows with different priorities
>
> The expected behavior is as you expect, not what you're observing.  Are you
> building the match by hand, or are you using set_match() (in util) or
> something that calls it?  If you're building it by hand, are you accounting
> for byte order in the wildcards field using htonl()?
>
> -- Murphy
>
> On Feb 21, 2011, at 6:18 PM, malve...@cs.ucsd.edu wrote:
>
> Hi
>
> I thought I'd start another thread for this issue..
>
> I am inserting the following two flow entries in the switch.
>
> 1) match: (src1, dst1, *) ,  action: send out on port x, priority = 101
> (higher priority)
> 2) match: (src1, *)  action: send out on port y,  priority = 5 (lower
> priority)
>
> The flow between src1 and dst1 is correctly being sent on port x. This is
> expected because flow entry 1 has a higher priority.
>
> However for a flow between src1 and dst2, the packets  are being sent to
> the controller instead of being sent out on port y.
>
> I had expected that since the match will fail for a higher 

Re: [nox-dev] Matching wildcard flows with different priorities

2011-02-21 Thread malveeka

So if I insert the rules in the order flow1, flow2 then you're right flow2 
doesn't get installed . 
However, if I insert flow2 and then flow1, both rule do get installed but in 
that case, even packets that should match flow1 (because it's higher priority) 
match against flow2 and get forwarded incorrectly. 







- Original Message - 
From: "Murphy McCauley"  
To: malve...@cs.ucsd.edu 
Cc: "nox-dev"  
Sent: Monday, February 21, 2011 8:28:38 PM GMT -08:00 US/Canada Pacific 
Subject: Re: [nox-dev] Matching wildcard flows with different priorities 

I think my next step would be to inspect the switch and see if the flows I'm 
expecting are there (that is... is flow2 actually getting installed?). If 
you're using the reference switch or Open vSwitch, I'd just use the appropriate 
dpctl tool to dump the flow table. 


-- Murphy 



On Feb 21, 2011, at 8:09 PM, malve...@cs.ucsd.edu wrote: 




I am not building the match by hand. 


I am specifying the flow as a dictionary and calling the install_datapath_flow 
method: 


inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT, 


openflow.OFP_FLOW_PERMANENT, actions, 
bufid, priority, 
port, buf) 
where flow is simply a dictionary .. 
flow1 = { 'dl_dst': array('B', [0, 96, 221, 70, 81, 94]), 'dl_src': array('B', 
[0, 96, 221, 70, 81, 94])} 
flow2 = {'dl_src': array('B', [0, 96, 221, 70, 81, 94])} 


and I invoke install_datapath_flow to insert entries flow flow1 and flow2. 


>From what I understand install_datapath_flow internally calls set_match to 
>create the ofp_match object for the flow. 
I even tried creating a ofp_match object for the given flow and passing it to 
the install_datapath_flow command in place of flow but that gave me an 
AttributeError 


Following is the traceback. 



Traceback (most recent call last): 
File "./nox/lib/util.py", line 138, in f 
ret = f.cb(event.datapath_id, attrs) 
File "./nox/coreapps/examples/hybriddc.py", line 66, in datapath_join_callback 
rules.insert_static_rules(inst, dpid, 1) 
File "./nox/coreapps/examples/staticrules.py", line 38, in insert_static_rules 
self.insert_rules_pod01(inst, dpid) 
File "./nox/coreapps/examples/staticrules.py", line 112, in insert_rules_pod01 
None, None) 
File "./nox/coreapps/examples/staticrules.py", line 288, in 
insert_forwarding_rule 
port, buf) 
File "./nox/lib/core.py", line 380, in install_datapath_flow 
(idle_timeout, actions, buffer_id), hard_timeout) 
File "./nox/lib/core.py", line 253, in send_flow_command 
m = set_match(attrs) 
File "./nox/lib/util.py", line 250, in set_match 
if attrs.has_key(core.IN_PORT): 
File "./nox/lib/openflow.py", line 756, in  
__getattr__ = lambda self, name: _swig_getattr(self, ofp_match, name) 
File "./nox/lib/openflow.py", line 54, in _swig_getattr 
raise AttributeError(name) 







- Original Message - 
From: "Murphy McCauley" < jam...@nau.edu > 
To: malve...@cs.ucsd.edu 
Cc: "nox-dev" < nox-dev@noxrepo.org > 
Sent: Monday, February 21, 2011 7:41:47 PM GMT -08:00 US/Canada Pacific 
Subject: Re: [nox-dev] Matching wildcard flows with different priorities 

The expected behavior is as you expect, not what you're observing. Are you 
building the match by hand, or are you using set_match() (in util) or something 
that calls it? If you're building it by hand, are you accounting for byte order 
in the wildcards field using htonl()? 


-- Murphy 



On Feb 21, 2011, at 6:18 PM, malve...@cs.ucsd.edu wrote: 




Hi 


I thought I'd start another thread for this issue.. 


I am inserting the following two flow entries in the switch. 


1) match: (src1, dst1, *) , action: send out on port x, priority = 101 (higher 
priority) 

2) match: (src1, *) action: send out on port y, priority = 5 (lower priority) 


The flow between src1 and dst1 is correctly being sent on port x. This is 
expected because flow entry 1 has a higher priority. 


However for a flow between src1 and dst2, the packets are being sent to the 
controller instead of being sent out on port y. 


I had expected that since the match will fail for a higher priority flow entry 
it'll be matched against the lower priority entry and sent out on port y but 
this doesn't seem to be the case. 
Is this the expected behavior ? 


If so, what should I change so that the flows between src1 and destination 
other than dst1 are sent out on port y ? 


Thanks! 
Malveeka ___ 
nox-dev mailing list 
nox-dev@noxrepo.org 
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org 



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Matching wildcard flows with different priorities

2011-02-21 Thread Murphy McCauley
I think my next step would be to inspect the switch and see if the flows I'm 
expecting are there (that is... is flow2 actually getting installed?).  If 
you're using the reference switch or Open vSwitch, I'd just use the appropriate 
dpctl tool to dump the flow table.

-- Murphy

On Feb 21, 2011, at 8:09 PM, malve...@cs.ucsd.edu wrote:

> I am not building the match by hand.
> 
> I am specifying the flow as a dictionary and calling the 
> install_datapath_flow method:
> 
> inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT,
>openflow.OFP_FLOW_PERMANENT, actions,
>bufid, priority,
>port, buf)
> where flow is simply a dictionary .. 
> flow1 = {'dl_dst': array('B', [0, 96, 221, 70, 81, 94]), 'dl_src': array('B', 
> [0, 96, 221, 70, 81, 94])}
> flow2 = {'dl_src': array('B', [0, 96, 221, 70, 81, 94])}
> 
> and I invoke install_datapath_flow to insert entries flow flow1 and flow2.
> 
> From what I understand install_datapath_flow internally calls set_match to 
> create the ofp_match object for the flow.
> I even tried creating a ofp_match object for the given flow and passing it to 
> the install_datapath_flow command in place of flow but that gave me an 
> AttributeError
> 
> Following is the traceback.
> 
> Traceback (most recent call last):
>   File "./nox/lib/util.py", line 138, in f
> ret = f.cb(event.datapath_id, attrs)
>   File "./nox/coreapps/examples/hybriddc.py", line 66, in 
> datapath_join_callback
> rules.insert_static_rules(inst, dpid, 1)
>   File "./nox/coreapps/examples/staticrules.py", line 38, in 
> insert_static_rules
> self.insert_rules_pod01(inst, dpid)
>   File "./nox/coreapps/examples/staticrules.py", line 112, in 
> insert_rules_pod01
> None, None)
>   File "./nox/coreapps/examples/staticrules.py", line 288, in 
> insert_forwarding_rule
> port, buf)
>   File "./nox/lib/core.py", line 380, in install_datapath_flow
> (idle_timeout, actions, buffer_id), hard_timeout)
>   File "./nox/lib/core.py", line 253, in send_flow_command
> m = set_match(attrs)
>   File "./nox/lib/util.py", line 250, in set_match
> if attrs.has_key(core.IN_PORT):
>   File "./nox/lib/openflow.py", line 756, in 
> __getattr__ = lambda self, name: _swig_getattr(self, ofp_match, name)
>   File "./nox/lib/openflow.py", line 54, in _swig_getattr
> raise AttributeError(name)
> 
> 
> 
> 
> - Original Message -
> From: "Murphy McCauley" 
> To: malve...@cs.ucsd.edu
> Cc: "nox-dev" 
> Sent: Monday, February 21, 2011 7:41:47 PM GMT -08:00 US/Canada Pacific
> Subject: Re: [nox-dev] Matching wildcard flows with different priorities
> 
> The expected behavior is as you expect, not what you're observing.  Are you 
> building the match by hand, or are you using set_match() (in util) or 
> something that calls it?  If you're building it by hand, are you accounting 
> for byte order in the wildcards field using htonl()?
> 
> -- Murphy
> 
> On Feb 21, 2011, at 6:18 PM, malve...@cs.ucsd.edu wrote:
> 
> Hi
> 
> I thought I'd start another thread for this issue..
> 
> I am inserting the following two flow entries in the switch. 
> 
> 1) match: (src1, dst1, *) ,  action: send out on port x, priority = 101 
> (higher priority)
> 2) match: (src1, *)  action: send out on port y,  priority = 5 (lower 
> priority)
> 
> The flow between src1 and dst1 is correctly being sent on port x. This is 
> expected because flow entry 1 has a higher priority.
> 
> However for a flow between src1 and dst2, the packets  are being sent to the 
> controller instead of being sent out on port y.
> 
> I had expected that since the match will fail for a higher priority flow 
> entry it'll be matched against the lower priority entry and sent out on port 
> y but this doesn't seem to be the case.
> Is this the expected behavior ?
> 
> If so, what should I change so that the flows between src1 and destination 
> other than dst1 are sent out on port y ?
> 
> Thanks!
> Malveeka
> ___
> nox-dev mailing list
> nox-dev@noxrepo.org
> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
> 
> 

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Matching wildcard flows with different priorities

2011-02-21 Thread malveeka
I am not building the match by hand. 


I am specifying the flow as a dictionary and calling the install_datapath_flow 
method: 


inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT, 


openflow.OFP_FLOW_PERMANENT, actions, 
bufid, priority, 
port, buf) 
where flow is simply a dictionary .. 
flow1 = { 'dl_dst': array('B', [0, 96, 221, 70, 81, 94]), 'dl_src': array('B', 
[0, 96, 221, 70, 81, 94])} 
flow2 = {'dl_src': array('B', [0, 96, 221, 70, 81, 94])} 


and I invoke install_datapath_flow to insert entries flow flow1 and flow2. 


>From what I understand install_datapath_flow internally calls set_match to 
>create the ofp_match object for the flow. 
I even tried creating a ofp_match object for the given flow and passing it to 
the install_datapath_flow command in place of flow but that gave me an 
AttributeError 


Following is the traceback. 



Traceback (most recent call last): 
File "./nox/lib/util.py", line 138, in f 
ret = f.cb(event.datapath_id, attrs) 
File "./nox/coreapps/examples/hybriddc.py", line 66, in datapath_join_callback 
rules.insert_static_rules(inst, dpid, 1) 
File "./nox/coreapps/examples/staticrules.py", line 38, in insert_static_rules 
self.insert_rules_pod01(inst, dpid) 
File "./nox/coreapps/examples/staticrules.py", line 112, in insert_rules_pod01 
None, None) 
File "./nox/coreapps/examples/staticrules.py", line 288, in 
insert_forwarding_rule 
port, buf) 
File "./nox/lib/core.py", line 380, in install_datapath_flow 
(idle_timeout, actions, buffer_id), hard_timeout) 
File "./nox/lib/core.py", line 253, in send_flow_command 
m = set_match(attrs) 
File "./nox/lib/util.py", line 250, in set_match 
if attrs.has_key(core.IN_PORT): 
File "./nox/lib/openflow.py", line 756, in  
__getattr__ = lambda self, name: _swig_getattr(self, ofp_match, name) 
File "./nox/lib/openflow.py", line 54, in _swig_getattr 
raise AttributeError(name) 







- Original Message ----- 
From: "Murphy McCauley"  
To: malve...@cs.ucsd.edu 
Cc: "nox-dev"  
Sent: Monday, February 21, 2011 7:41:47 PM GMT -08:00 US/Canada Pacific 
Subject: Re: [nox-dev] Matching wildcard flows with different priorities 

The expected behavior is as you expect, not what you're observing. Are you 
building the match by hand, or are you using set_match() (in util) or something 
that calls it? If you're building it by hand, are you accounting for byte order 
in the wildcards field using htonl()? 


-- Murphy 



On Feb 21, 2011, at 6:18 PM, malve...@cs.ucsd.edu wrote: 




Hi 


I thought I'd start another thread for this issue.. 


I am inserting the following two flow entries in the switch. 


1) match: (src1, dst1, *) , action: send out on port x, priority = 101 (higher 
priority) 

2) match: (src1, *) action: send out on port y, priority = 5 (lower priority) 


The flow between src1 and dst1 is correctly being sent on port x. This is 
expected because flow entry 1 has a higher priority. 


However for a flow between src1 and dst2, the packets are being sent to the 
controller instead of being sent out on port y. 


I had expected that since the match will fail for a higher priority flow entry 
it'll be matched against the lower priority entry and sent out on port y but 
this doesn't seem to be the case. 
Is this the expected behavior ? 


If so, what should I change so that the flows between src1 and destination 
other than dst1 are sent out on port y ? 


Thanks! 
Malveeka ___ 
nox-dev mailing list 
nox-dev@noxrepo.org 
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org 

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Matching wildcard flows with different priorities

2011-02-21 Thread Murphy McCauley
The expected behavior is as you expect, not what you're observing.  Are you 
building the match by hand, or are you using set_match() (in util) or something 
that calls it?  If you're building it by hand, are you accounting for byte 
order in the wildcards field using htonl()?

-- Murphy

On Feb 21, 2011, at 6:18 PM, malve...@cs.ucsd.edu wrote:

> Hi
> 
> I thought I'd start another thread for this issue..
> 
> I am inserting the following two flow entries in the switch. 
> 
> 1) match: (src1, dst1, *) ,  action: send out on port x, priority = 101 
> (higher priority)
> 2) match: (src1, *)  action: send out on port y,  priority = 5 (lower 
> priority)
> 
> The flow between src1 and dst1 is correctly being sent on port x. This is 
> expected because flow entry 1 has a higher priority.
> 
> However for a flow between src1 and dst2, the packets  are being sent to the 
> controller instead of being sent out on port y.
> 
> I had expected that since the match will fail for a higher priority flow 
> entry it'll be matched against the lower priority entry and sent out on port 
> y but this doesn't seem to be the case.
> Is this the expected behavior ?
> 
> If so, what should I change so that the flows between src1 and destination 
> other than dst1 are sent out on port y ?
> 
> Thanks!
> Malveeka
> ___
> nox-dev mailing list
> nox-dev@noxrepo.org
> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org