Skip to content
Snippets Groups Projects
Commit abd91145 authored by Ryan Izard's avatar Ryan Izard
Browse files

Fixed an OpenFlow version bug in the SFP's flow removed handler -- getTable()...

Fixed an OpenFlow version bug in the SFP's flow removed handler -- getTable() isn't supported in 1.0 and getHardTimeout() isn't supported until 1.2+.
parent 20acd4c7
No related branches found
No related tags found
No related merge requests found
...@@ -390,6 +390,10 @@ public class OXMSerializer { ...@@ -390,6 +390,10 @@ public class OXMSerializer {
map.put(U32.ofRaw(NXM_1 | (36 << SHIFT_FIELD) | 4), STR_NXM + "internal_recirc_id"); map.put(U32.ofRaw(NXM_1 | (36 << SHIFT_FIELD) | 4), STR_NXM + "internal_recirc_id");
map.put(U32.ofRaw(NXM_1 | (36 << SHIFT_FIELD) | 4 * 2 | MASKED), STR_NXM + "internal_recirc_id" + STR_MASKED); map.put(U32.ofRaw(NXM_1 | (36 << SHIFT_FIELD) | 4 * 2 | MASKED), STR_NXM + "internal_recirc_id" + STR_MASKED);
map.put(U32.ofRaw(NXM_1 | (37 << SHIFT_FIELD) | 4), STR_NXM + MatchUtils.STR_PBB_ISID);
map.put(U32.ofRaw(NXM_1 | (37 << SHIFT_FIELD) | 4 * 2 | MASKED), STR_NXM + MatchUtils.STR_PBB_ISID + STR_MASKED);
} }
/** /**
......
...@@ -741,11 +741,11 @@ implements IOFSwitchListener, IFloodlightModule, IStaticFlowEntryPusherService, ...@@ -741,11 +741,11 @@ implements IOFSwitchListener, IFloodlightModule, IStaticFlowEntryPusherService,
Map<String, OFFlowMod> flowsByName = getFlows(sw.getId()); Map<String, OFFlowMod> flowsByName = getFlows(sw.getId());
for (Map.Entry<String, OFFlowMod> entry : flowsByName.entrySet()) { for (Map.Entry<String, OFFlowMod> entry : flowsByName.entrySet()) {
if (msg.getCookie().equals(entry.getValue().getCookie()) && if (msg.getCookie().equals(entry.getValue().getCookie()) &&
msg.getHardTimeout() == entry.getValue().getHardTimeout() && (msg.getVersion().compareTo(OFVersion.OF_12) < 0 ? true : msg.getHardTimeout() == entry.getValue().getHardTimeout()) &&
msg.getIdleTimeout() == entry.getValue().getIdleTimeout() && msg.getIdleTimeout() == entry.getValue().getIdleTimeout() &&
msg.getMatch().equals(entry.getValue().getMatch()) && msg.getMatch().equals(entry.getValue().getMatch()) &&
msg.getPriority() == entry.getValue().getPriority() && msg.getPriority() == entry.getValue().getPriority() &&
msg.getTableId().equals(entry.getValue().getTableId()) (msg.getVersion().compareTo(OFVersion.OF_10) == 0 ? true : msg.getTableId().equals(entry.getValue().getTableId()))
) { ) {
flowToRemove = entry.getKey(); flowToRemove = entry.getKey();
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment