-
Type: Bug
-
Status: Closed (View Workflow)
-
Priority: Major
-
Resolution: Done
-
Affects Version/s: 1.0.0, 1.1.0, 1.2.0
-
Fix Version/s: 1.3.0
-
Component/s: None
-
Labels:None
-
Environment:
Commit hash: f9c8436
-
Epic Link:
-
Sprint:Drake Sprint 2 (7/27-8/14) 2
Procedure
- Run opticalTest.py to create an optical topology with LINC-OE
- Execute the following command to submit an optical connectivity intent
- add-optical-intent of:0000ffffffffff04/10 of:0000ffffffffff07/10
Things observed
The following is the result of "flows" command. Flow rules for devices, of:0000ffffffffff06, of:0000ffffffffff07, and of:0000ffffffffff08, stay in PENDING_ADD state while flow rule for of:0000ffffffffff04 is successfully added.
I set a break point on line 429 in FlowRuleManager and make it show the state of flow rules on a device and the store. The break point is only hit when there is inconsistency between flow rules in the store and flow rules on the device. This happens because the values for optical properties (for example, slotGranularity) are overwrote with hard-coded value when a FlowMod is built from a FlowRule.
Result of "flows" command
deviceId=of:0000ffffffff0001, flowRuleCount=5 id=100002a2d0cb8, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=800}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2d233e, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2d233e, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c108a84, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=88cc}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c12457a, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=8942}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffff0002, flowRuleCount=5 id=100002a2d8117, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=800}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2d979d, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2d979d, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c10fee3, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=88cc}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c12b9d9, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=8942}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffff0003, flowRuleCount=5 id=100002a2df576, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=800}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2e0bfc, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2e0bfc, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c117342, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=88cc}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c132e38, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=8942}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffff0004, flowRuleCount=5 id=100002a2e69d5, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=800}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2e805b, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2e805b, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c11e7a1, state=ADDED, bytes=20655, packets=255, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=88cc}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c13a297, state=ADDED, bytes=20655, packets=255, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=8942}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffff0005, flowRuleCount=5 id=100002a2ede34, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=800}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2ef4ba, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2ef4ba, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c125c00, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=88cc}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c1416f6, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=8942}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffff0006, flowRuleCount=5 id=100002a2f5293, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=800}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2f6919, state=ADDED, bytes=0, packets=0, duration=890, priority=5, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002a2f6919, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=806}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c12d05f, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=88cc}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} id=100002c148b55, state=ADDED, bytes=0, packets=0, duration=890, priority=40000, tableId=0 appId=org.onosproject.core, payLoad=null selector=[ETH_TYPE{ethType=8942}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=CONTROLLER}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffffff01, flowRuleCount=0 deviceId=of:0000ffffffffff02, flowRuleCount=0 deviceId=of:0000ffffffffff03, flowRuleCount=0 deviceId=of:0000ffffffffff04, flowRuleCount=1 id=1d00007ef0f8d1, state=ADDED, bytes=41634, packets=514, duration=797, priority=100, tableId=0 appId=org.onosproject.net.intent, payLoad=null selector=[IN_PORT{port=10}] treatment=DefaultTrafficTreatment{immediate=[ModOchSignalInstruction{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}, OUTPUT{port=20}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffffff05, flowRuleCount=0 deviceId=of:0000ffffffffff06, flowRuleCount=1 id=1d00006df664a9, state=PENDING_ADD, bytes=0, packets=0, duration=0, priority=100, tableId=0 appId=org.onosproject.net.intent, payLoad=null selector=[OchSignalTypeCriterion{signalType=FIXED_GRID}, IN_PORT{port=20}, OchSignalCriterion{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}] treatment=DefaultTrafficTreatment{immediate=[ModOchSignalInstruction{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}, OUTPUT{port=30}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffffff07, flowRuleCount=1 id=1d00009dae9858, state=PENDING_ADD, bytes=0, packets=0, duration=0, priority=100, tableId=0 appId=org.onosproject.net.intent, payLoad=null selector=[OchSignalTypeCriterion{signalType=FIXED_GRID}, IN_PORT{port=20}, OchSignalCriterion{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}] treatment=DefaultTrafficTreatment{immediate=[OUTPUT{port=10}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffffff08, flowRuleCount=1 id=1d00006df7be05, state=PENDING_ADD, bytes=0, packets=0, duration=0, priority=100, tableId=0 appId=org.onosproject.net.intent, payLoad=null selector=[OchSignalTypeCriterion{signalType=FIXED_GRID}, IN_PORT{port=50}, OchSignalCriterion{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}] treatment=DefaultTrafficTreatment{immediate=[ModOchSignalInstruction{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}, OUTPUT{port=30}], deferred=[], transition=None, cleared=false, metadata=null} deviceId=of:0000ffffffffff09, flowRuleCount=0 deviceId=of:0000ffffffffff0a, flowRuleCount=0
Flow rule on the device at the break point
[DefaultFlowEntry{rule=DefaultFlowEntry{id=1d00006df7be05, deviceId=of:0000ffffffffff08, priority=100, selector=[OchSignalTypeCriterion{signalType=FIXED_GRID}, IN_PORT{port=50}, OchSignalCriterion{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}], treatment=[ModOchSignalInstruction{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=8}}, OUTPUT{port=30}], tableId=0, created=1432917957148, payLoad=null}, state=PENDING_ADD}]
Flow rule in the store at the break point
[DefaultFlowEntry{rule=DefaultFlowEntry{id=1d00006df7be05, deviceId=of:0000ffffffffff08, priority=100, selector=[OchSignalTypeCriterion{signalType=FIXED_GRID}, IN_PORT{port=50}, OchSignalCriterion{lambda=OchSignal{gridType=DWDM, channelSpacing=CHL_50GHZ, spacingMultiplier=0, slotGranularity=2}}], treatment=[LAMBDA{lambda=0}, OUTPUT{port=30}], tableId=0, created=1432917963577, payLoad=null}, state=ADDED}]