[OPNFLWPLUG-172] Bad pre-req for PCP match resulting in OFPBAC_MATCH_INCONSISTENT in OpenFlowPluginTestCommandProvider Created: 25/May/14  Updated: 27/Sep/21  Resolved: 29/May/14

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Brent Salisbury Assignee: Brent Salisbury
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: PC


External issue ID: 1072

 Description   

The f80 function in OpenFlowPluginTestCommandProvider doesn't adhere to the field OXM_OF_VLAN_PCP pre-requisite of containing a VID match. I filed a separate bug from OPNFLWPLUG-171 just in case there was a specific use case for this function and I should add a new function to the test that will pass on OVS.

Field: OXM_OF_VLAN_PCP
Dependency: VLAN VID!=NONE
Reference: see table 10, section A.2.3.5 for validation

Current:
---------
case "f80":
id += 80;
flow.setMatch(createMatch1().build());
flow.setInstructions(createAppyActionInstruction88().build());
break;

Result: OFPBAC_MATCH_INCONSISTENT
---------------------------------
2014-05-13T14:12:58.542Z|1970472|ofp_actions|WARN|set_field vlan_pcp lacks correct prerequisities
2014-05-13T14:12:58.542Z|1970473|vconn|DBG|tcp:172.16.86.1:6633: received: OFPT_FLOW_MOD (OF1.3) (xid=0x177): **decode error: OFPBAC_MATCH_INCONSISTENT**
2014-05-13T14:12:58.542Z|1970474|ofp_actions|WARN|set_field vlan_pcp lacks correct prerequisities
2014-05-13T14:12:58.542Z|1970475|connmgr|INFO|br-int<->tcp:172.16.86.1:6633: sending OFPBAC_MATCH_INCONSISTENT error reply to OFPT_FLOW_MOD message
2014-05-13T14:12:58.542Z|1970476|vconn|DBG|tcp:172.16.86.1:6633: sent (Success): OFPT_ERROR (OF1.3) (xid=0x177): OFPBAC_MATCH_INCONSISTENT
OFPT_FLOW_MOD (OF1.3) (xid=0x177):

-Changing the function to (along with the patch https://git.opendaylight.org/gerrit/#/c/7371/ ) results in a successful flowmod:
---------------
case "f80":
id += 80;
flow.setMatch(createVlanMatch().build());
flow.setInstructions(createAppyActionInstruction88().build());
break;

Resulting successful flowmod via f80() OpenFlowPluginTestCommandProvider
------------------------------------------------------------------------
2014-05-13T14:24:31.043Z|1982264|vconn|DBG|tcp:172.16.86.1:6633: received: OFPST_FLOW request (OF1.3) (xid=0x49): table=2 dl_vlan=10,dl_vlan_pcp=3
2014-05-13T14:24:31.043Z|1982265|vconn|DBG|tcp:172.16.86.1:6633: sent (Success): OFPST_FLOW reply (OF1.3) (xid=0x49):
2014-05-13T14:24:31.049Z|1982266|poll_loop|DBG|wakeup due to [POLLIN] on fd 29 (172.16.86.144:48786<->172.16.86.1:6633) at lib/stream-fd.c:124 (0% CPU usage)
2014-05-13T14:24:31.050Z|1982267|vconn|DBG|tcp:172.16.86.1:6633: received: OFPT_FLOW_MOD (OF1.3) (xid=0x4a): ADD table:2 priority=2,dl_vlan=10,dl_vlan_pcp=3 cookie:0xa send_flow_rem actions=set_field:4->vlan_pcp

Will update with the ticket with a patch in a few minutes.

Thanks,
-Brent



 Comments   
Comment by Brent Salisbury [ 25/May/14 ]

Resolved with patch https://git.opendaylight.org/gerrit/#/c/7373/

Thanks,
-Brent

Comment by Abhijit Kumbhare [ 29/May/14 ]

Brent - Michal has this comment:

Doesn't this break the original purpose of f80?
Adding negative testcase scenario for flows
Signed-off-by: Govind <p.govinda.rajulu@ericsson.com> Change-Id: I8f6abf29b2a4e91153012a180f1e24ca5044bb3a

Comment by Brent Salisbury [ 29/May/14 ]

(In reply to Abhijit Kumbhare from comment #2)
> Brent - Michal has this comment:
>
> Doesn't this break the original purpose of f80?
> Adding negative testcase scenario for flows
> Signed-off-by: Govind <p.govinda.rajulu@ericsson.com> Change-Id:
> I8f6abf29b2a4e91153012a180f1e24ca5044bb3a

Honestly we are chasing breakage the past few days. Not much is working for us in our project anymore so I will abandon.

Generated at Wed Feb 07 20:31:45 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.