[OPNFLWPLUG-163] Multiple output actions is not allowed in the action list of apply-action instruction Created: 15/May/14  Updated: 27/Sep/21  Resolved: 20/May/14

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

Type: Bug
Reporter: Hsin-Yi Shen Assignee: Flavio Fernandes
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Java Source File OpenflowpluginTestCommandProvider.java    
Issue Links:
Duplicate
duplicates OPNFLWPLUG-15 Modifying a flow is not applying the ... Resolved
External issue ID: 1020

 Description   

While verifying ovsdb project using OF 1.3, we find flow with multiple OUTPUT actions is no longer allowed in latest build. Only one action with output type is allowed. Add action with same type just overwrite the action from "actions=output:3" to "actions=output:5". We no longer get the action list with "actions=output:3, output:4, output:5"

Same behavior is also seen in openflow plugin test provider. Writing a flow with multiple OUTPUT actions will actually have one OUTPUT action in action list:
2014-05-15 16:07:11.827 EDT [pool-13-thread-2] INFO o.o.o.t.OpenflowpluginTestServiceProvider - addFlow - AddFlowInput [_flowRef=FlowRef [_value=KeyedInstanceIdentifier

{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=foo:node:1]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey [_id=2]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow[key=FlowKey [_id=Uri [_value=206]]]]}

], _flowTable=FlowTableRef [_value=KeyedInstanceIdentifier

{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=foo:node:1]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey [_id=2]]]}

], _barrier=false, _cookieMask=FlowCookie [_value=10], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=true], _flowName=FooXf83, _installHw=false, _instructions=Instructions [_instruction=[Instruction [_order=0, _key=InstructionKey [_order=0], _instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_order=0, _key=ActionKey [_order=0], _action=PopVlanActionCase [_popVlanAction=PopVlanAction [augmentation=[]], augmentation=[]], augmentation=[]], Action [_order=1, _key=ActionKey [_order=1], _action=OutputActionCase [_outputAction=OutputAction [_outputNodeConnector=Uri [_value=openflow:65500:29], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], _match=Match [_ethernetMatch=EthernetMatch [_ethernetDestination=EthernetDestination [_address=MacAddress [_value=01:00:00:00:00:00], _mask=MacAddress [_value=01:00:00:00:00:00], augmentation=[]], augmentation=[]], _vlanMatch=VlanMatch [_vlanId=VlanId [_vlanId=VlanId [_value=2000], _vlanIdPresent=true, augmentation=[]], augmentation=[]], augmentation=[]], _strict=false, _cookie=FlowCookie [_value=10], _hardTimeout=0, _idleTimeout=0, _priority=2, _tableId=2, _node=NodeRef [_value=KeyedInstanceIdentifier

{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=foo:node:1]]]]}

], _transactionUri=Uri [_value=DOM-0], augmentation=[]]

This breaks the broadcast in OVSDB project. We don't want to use group for broadcast flow due to the ovs version limitation. Please fix the apply-action instruction to allow multiple OUTPUT actions again.



 Comments   
Comment by Tony Tkacik [ 16/May/14 ]

Please attach your input XML or JSON.

Comment by Flavio Fernandes [ 16/May/14 ]

addMDFlow foo:node:1 f83

Comment by Flavio Fernandes [ 16/May/14 ]

Attachment OpenflowpluginTestCommandProvider.java has been added with description: Test case that can be used to reproduce issue

Comment by Hsin-Yi Shen [ 20/May/14 ]

After trying the latest openflowplugin with bug fix from https://git.opendaylight.org/gerrit/#/c/7099/, the flow mod issue is fixed. We will mark this as duplicate of OPNFLWPLUG-15.

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