All, it seems that for at least some flows the actions are being written
out of order.

Here is one flow from the netvirt pipeline [1], printed to the logs one
line before it is written to the md-sal. You can clearly see how the load
to reg6 comes before the resubmit action. However, dump-flows gives the
opposite order [2]. Something down the stack from netvirt is flipping the
order. This is further confirmed from a tcpdump capture where you can see
that in the OFPT_FLOW_MOD the resubmit is sent before the reg load ([3] if
anyone really wants to break their head).

[1] 2016-08-07 18:12:10,909 | WARN  | nPool-1-worker-0 |
MDSALManager                     | 314 -
org.opendaylight.genius.mdsalutil-impl - 0.1.0.SNAPSHOT | JOSH writing flow
Flow [_cookie=F     lowCookie [_value=142606337],
_flowName=6f5da2ff-7470-4489-a987-a867f5319a46, _hardTimeout=0, _id=Uri
[_value=551], _idleTimeout=0, _instructions=Instructions
[_instruction=[Instruction      [_instruction=ApplyActionsCase
[_applyActions=ApplyActions [_action=[Action
[_action=NxActionRegLoadNodesNodeTableFlowApplyActionsCase
[_nxRegLoad=NxRegLoad [_dst=Dst [_dstChoice=DstNx     RegCase [_nxReg=class
org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6,
augmentation=[]], _end=31, _start=0, augmentation=[]], _value=256,
augment     ation=[]], augmentation=[]], _key=ActionKey [_order=0],
_order=0, augmentation=[]], Action [_action=NxActionResubmitRpcAddGroupCase
[_nxResubmit=NxResubmit [_table=220, augmentation=[]]     ,
augmentation=[]], _key=ActionKey [_order=1], _order=1, augmentation=[]]],
augmentation=[]], augmentation=[]], _key=InstructionKey [_order=0],
_order=0, augmentation=[]]], augmentation     =[]], _key=FlowKey [_id=Uri
[_value=551]], _match=Match [_tunnel=Tunnel [_tunnelId=1, augmentation=[]],
augmentation=[]], _priority=9, _tableId=55, _barrier=false,
_installHw=true, _str     ict=true, augmentation=[]]

[2]  cookie=0x8800001, duration=112.109s, table=55, n_packets=30,
n_bytes=1692, priority=9,tun_id=0x1
actions=resubmit(,220),load:0x100->NXM_NX_REG6[]

[3]
                               ff ff 00 10 00 00 23 20
0010   00 0e ff f8 dc 00 00 00 ff ff 00 18 00 00 23 20
0020   00 07 00 1f 00 01 0c 04 00 00 00 00 00 00 01 00
_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev

Reply via email to