[OPNFLWPLUG-973] Errors trying to create OpenFlow flows with Nicira NSH extensions after Yangtools 2.0.1 version bump Created: 22/Jan/18  Updated: 22/Jan/18  Resolved: 22/Jan/18

Status: Resolved
Project: OpenFlowPlugin
Component/s: nicira-extensions
Affects Version/s: Oxygen
Fix Version/s: Oxygen

Type: Bug Priority: High
Reporter: Brady Johnson Assignee: Brady Johnson
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

In order to reproduce this, you will need a version of OVS that supports Network Service Headers (NSH) which can be found here:

https://wiki.opendaylight.org/view/Service_Function_Chaining:Main#Building_Open_vSwitch_with_VxLAN-GPE_and_NSH_support

Please reach out to me if you need help reproducing this, or testing the fix.

 



 Description   

After the Yangtools 2.0.1 version bump, its no longer possible to programatically create SFC OpenFlow flows. I get the following errors in the karaf.log: https://pastebin.com/RvzktbLi

 

The rest of the flows that dont have any Nicira NSH extensions are written successfully.

 

The problematic flows dont get written to the Config data store, so I cant dump that to show them. What I was able to do was to log the flows. These are the problematic flows from karaf.log:

 

WriteFlow storing flow on Node [openflow:244899274205760] table [1] flow
[Flow [_cookie=FlowCookie [_value=20], _cookieMask=FlowCookie [_value=20], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nO
BYTCOUNTS=false, _sENDFLOWREM=false], _flowName=transportIngress_255_7, _hardTimeout=0, _id=Uri [_value=transportIngress_255_7], _idleTimeout=0, _instructions=I
nstructions [instruction=[Instruction [_instruction=GoToTableCase [_goToTable=GoToTable [_tableId=4, augmentation=[]], augmentation=[]], _key=InstructionKey [
order=0], _order=0, augmentation=[]]], augmentation=[]], _key=FlowKey [_id=Uri [_value=transportIngress_255_7]], _match=Match [augmentation=[GeneralAugMatchNode
sNodeTableFlow [_extensionList=[ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxNsp=NxmNxNsp [_value=7, augmentation=[]],
]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey, _key=ExtensionListKey [_ext
ensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey], augmentation=[]]]]]], _priority=250,
_tableId=1, _barrier=false, _strict=false, augmentation=[]]]

 

WriteFlow storing flow on Node [openflow:244899274205760] table [1] flow
[Flow [_cookie=FlowCookie [_value=20], _cookieMask=FlowCookie [_value=20], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nO
BYTCOUNTS=false, _sENDFLOWREM=false], _flowName=transportIngress_255_8388615, _hardTimeout=0, _id=Uri [_value=transportIngress_255_8388615], _idleTimeout=0, _in
structions=Instructions [_instruction=[Instruction [_instruction=GoToTableCase [_goToTable=GoToTable [_tableId=4, augmentation=[]], augmentation=[]], _key=Instr
uctionKey [_order=0], _order=0, augmentation=[]]], augmentation=[]], _key=FlowKey [_id=Uri [_value=transportIngress_255_8388615]], _match=Match [augmentation=[G
eneralAugMatchNodesNodeTableFlow [_extensionList=[ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxNsp=NxmNxNsp [_value=83
88615, augmentation=[]], ]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey, _ke
y=ExtensionListKey [_extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey], augmentation
=[]]]]]], _priority=250, _tableId=1, _barrier=false, _strict=false, augmentation=[]]]

 

WriteFlow storing flow on Node [openflow:244899274205760] table [4] flow
[Flow [_cookie=FlowCookie [_value=20], _cookieMask=FlowCookie [_value=20], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nO
BYTCOUNTS=false, _sENDFLOWREM=false], _flowName=nextHop_255_7, _hardTimeout=0, _id=Uri [_value=nextHop_255_7], _idleTimeout=0, _instructions=Instructions [_inst
ruction=[Instruction [_instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_action=NxActionRegLoadNodesNodeTableFlowApplyActionsCase [_nx
RegLoad=NxRegLoad [_dst=Dst [_dstChoice=DstNxTunIpv4DstCase [_nxTunIpv4Dst=true, augmentation=[]], _end=31, _start=0, augmentation=[]], _value=167772170, augmen
tation=[]], augmentation=[]], _key=ActionKey [_order=0], _order=0, augmentation=[]]], augmentation=[]], augmentation=[]], _key=InstructionKey [_order=0], _order
=0, augmentation=[]], Instruction [_instruction=GoToTableCase [_goToTable=GoToTable [_tableId=10, augmentation=[]], augmentation=[]], _key=InstructionKey [_orde
r=1], _order=1, augmentation=[]]], augmentation=[]], _key=FlowKey [_id=Uri [_value=nextHop_255_7]], _match=Match [augmentation=[GeneralAugMatchNodesNodeTableFlo
w [_extensionList=[ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxNsp=NxmNxNsp [_value=7, augmentation=[]], ]]], _extens
ionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey, _key=ExtensionListKey [_extensionKey=cla
ss org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey], augmentation=[]], ExtensionList [_extension=Exten
sion [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxNsi=NxmNxNsi [_nsi=255, augmentation=[]], ]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.open
daylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey, _key=ExtensionListKey [_extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.o
penflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey], augmentation=[]]]]]], _priority=550, _tableId=4, _barrier=false, _strict=false, augmentation=[]]]

 

WriteFlow storing flow on Node [openflow:244899274205760] table [4] flow
[Flow [_cookie=FlowCookie [_value=20], _cookieMask=FlowCookie [_value=20], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nO
BYTCOUNTS=false, _sENDFLOWREM=false], _flowName=nextHop_255_8388615, _hardTimeout=0, _id=Uri [_value=nextHop_255_8388615], _idleTimeout=0, _instructions=Instruc
tions [_instruction=[Instruction [_instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_action=NxActionRegLoadNodesNodeTableFlowApplyActi
onsCase [_nxRegLoad=NxRegLoad [_dst=Dst [_dstChoice=DstNxTunIpv4DstCase [_nxTunIpv4Dst=true, augmentation=[]], _end=31, _start=0, augmentation=[]], _value=16777
2170, augmentation=[]], augmentation=[]], _key=ActionKey [_order=0], _order=0, augmentation=[]]], augmentation=[]], augmentation=[]], _key=InstructionKey [_orde
r=0], _order=0, augmentation=[]], Instruction [_instruction=GoToTableCase [_goToTable=GoToTable [_tableId=10, augmentation=[]], augmentation=[]], _key=Instructi
onKey [_order=1], _order=1, augmentation=[]]], augmentation=[]], _key=FlowKey [_id=Uri [_value=nextHop_255_8388615]], _match=Match [augmentation=[GeneralAugMatc
hNodesNodeTableFlow [_extensionList=[ExtensionList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxNsp=NxmNxNsp [_value=8388615, augmen
tation=[]], ]]], _extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey, _key=ExtensionLi
stKey [_extensionKey=class org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey], augmentation=[]], Extensi
onList [_extension=Extension [augmentation=[NxAugMatchNodesNodeTableFlow [_nxmNxNsi=NxmNxNsi [_nsi=255, augmentation=[]], ]]], _extensionKey=class org.opendayli
ght.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey, _key=ExtensionListKey [_extensionKey=class org.opendaylight.yang.g
en.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey], augmentation=[]]]]]], _priority=550, _tableId=4, _barrier=false, _strict=fa
lse, augmentation=[]]]

 



 Comments   
Comment by Brady Johnson [ 22/Jan/18 ]

This was fixed by this patch:

https://git.opendaylight.org/gerrit/#/c/67368/

 

 

Comment by Brady Johnson [ 22/Jan/18 ]

 

Fixed in this patch

https://git.opendaylight.org/gerrit/#/c/67368/

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