[SFC-205] SFC SCF classifier attempts to remove flows from the wrong table Created: 09/Nov/17 Updated: 27/Feb/18 Resolved: 27/Feb/18 |
|
| Status: | Verified |
| Project: | sfc |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | Oxygen |
| Type: | Bug | Priority: | Medium |
| Reporter: | Jaime Caamaño Ruiz | Assignee: | Jaime Caamaño Ruiz |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Originally reported by ebrjohn The classifier is being created in table=0 as expected, but when the classifier is deleted, it tries to delete from table=86. Here are the LOGs: Classifier flow creation: 2017-10-30 12:06:03,763 | INFO | pool-67-thread-1 | FlowSetWriterTask | 348 - org.opendaylight.sfc.openflow-utils - 0.7.0.SNAPSHOT | FlowSetWriterTask SFF [openflow:156930464280132] NodeKey [NodeKey [_id=Uri [_value=openflow:156930464280132]]] TableKey [TableKey [_id=0]] FlowKey [FlowKey [_id=Uri [_value=MatchAny]]] 2017-10-30 12:06:03,764 | INFO | pool-67-thread-1 | FlowSetWriterTask | 348 - org.opendaylight.sfc.openflow-utils - 0.7.0.SNAPSHOT | FlowSetWriterTask SFF [openflow:156930464280132] NodeKey [NodeKey [_id=Uri [_value=openflow:156930464280132]]] TableKey [TableKey [_id=0]] FlowKey [FlowKey [_id=Uri [_value=sff1ACL1ACE1.in]]] 2017-10-30 12:06:03,778 | INFO | pool-67-thread-1 | FlowSetWriterTask | 348 - org.opendaylight.sfc.openflow-utils - 0.7.0.SNAPSHOT | FlowSetWriterTask SFF [openflow:156930464280132] NodeKey [NodeKey [_id=Uri [_value=openflow:156930464280132]]] TableKey [TableKey [_id=0]] FlowKey [FlowKey [_id=Uri [_value=sff1ACL1ACE1.out]]] Classifier flow deletion: 2017-10-30 12:07:26,820 | INFO | pool-67-thread-1 | FlowSetRemoverTask | 348 - org.opendaylight.sfc.openflow-utils - 0.7.0.SNAPSHOT | FlowSetRemoverTask SFF [openflow:156930464280132] NodeKey [NodeKey [_id=Uri [_value=openflow:156930464280132]]] TableKey [TableKey [_id=82]] FlowKey [FlowKey [_id=Uri [_value=sff1ACL1ACE1.in]]] 2017-10-30 12:07:26,820 | INFO | pool-67-thread-1 | FlowSetRemoverTask | 348 - org.opendaylight.sfc.openflow-utils - 0.7.0.SNAPSHOT | FlowSetRemoverTask SFF [openflow:156930464280132] NodeKey [NodeKey [_id=Uri [_value=openflow:156930464280132]]] TableKey [TableKey [_id=82]] FlowKey [FlowKey [_id=Uri [_value=sff1ACL1ACE1.out]]] The TableKey is different when creating and deleting. Narrowed it down to where in the code this happens, but Im not sure what's going on there: /home/bjohnson/projects/odl/sfc/sfc-classifiers/sfc-scf-openflow/src/main/java/org/opendaylight/sfc/scfofrenderer/processors/NshProcessor.java Starting at Line 100
// add a classifier
if (addClassifier) {
// write the flows into the classifier
LOG.info("processAce - About to create flows");
theFlows.add(classifierInterface.initClassifierTable(nodeName));
theFlows.add(classifierInterface.createClassifierOutFlow(flowKey, match, nsh.get(), nodeName));
theFlows.addAll(classifierInterface.createDpdkFlows(nodeName, nsh.get().getNshNsp()));
} else {
LOG.info("processAce - About to delete the *out* flows");
theFlows.add(classifierHandler.deleteFlowFromTable(nodeName,
flowKey, ClassifierGeniusIntegration.getClassifierTable())); <== This thing always returns NwConstants.SFC_TRANSPORT_CLASSIFIER_TABLE = 86
}
|
| Comments |
| Comment by Jaime Caamaño Ruiz [ 09/Nov/17 ] |