Remove redundant extensionTreatmentInterpreter support check
Change-Id: I1bcaefcdf8f97a7bed4916734142cabc04f566e4
diff --git a/drivers/default/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java b/drivers/default/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java
index 9ea3750..7718537 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/extensions/NiciraExtensionTreatmentInterpreter.java
@@ -161,7 +161,7 @@
}
@Override
- public ExtensionTreatment mapAction(OFAction action) {
+ public ExtensionTreatment mapAction(OFAction action) throws UnsupportedOperationException {
if (action.getType().equals(OFActionType.SET_FIELD)) {
OFActionSetField setFieldAction = (OFActionSetField) action;
OFOxm<?> oxm = setFieldAction.getField();
diff --git a/drivers/default/src/main/java/org/onosproject/driver/extensions/OfdpaExtensionTreatmentInterpreter.java b/drivers/default/src/main/java/org/onosproject/driver/extensions/OfdpaExtensionTreatmentInterpreter.java
index 45e6beb..33fbe76 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/extensions/OfdpaExtensionTreatmentInterpreter.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/extensions/OfdpaExtensionTreatmentInterpreter.java
@@ -58,7 +58,7 @@
}
@Override
- public ExtensionTreatment mapAction(OFAction action) {
+ public ExtensionTreatment mapAction(OFAction action) throws UnsupportedOperationException {
if (action.getType().equals(OFActionType.SET_FIELD)) {
OFActionSetField setFieldAction = (OFActionSetField) action;
OFOxm<?> oxm = setFieldAction.getField();
diff --git a/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java b/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java
index 88a5353..868c9db 100644
--- a/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java
+++ b/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java
@@ -52,7 +52,8 @@
*
* @param action OpenFlow action
* @return extension treatment
+ * @throws UnsupportedOperationException if driver does not support extension type
*/
- ExtensionTreatment mapAction(OFAction action);
+ ExtensionTreatment mapAction(OFAction action) throws UnsupportedOperationException;
}
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
index da0affc..a3c502a 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
@@ -45,7 +45,6 @@
import org.onosproject.net.flow.TrafficSelector;
import org.onosproject.net.flow.TrafficTreatment;
import org.onosproject.net.flow.criteria.ExtensionSelectorType.ExtensionSelectorTypes;
-import org.onosproject.net.flow.instructions.ExtensionTreatmentType.ExtensionTreatmentTypes;
import org.onosproject.net.flow.instructions.Instructions;
import org.onosproject.openflow.controller.ExtensionSelectorInterpreter;
import org.onosproject.openflow.controller.ExtensionTreatmentInterpreter;
@@ -393,7 +392,8 @@
break;
case ENQUEUE:
OFActionEnqueue enqueue = (OFActionEnqueue) act;
- builder.setQueue(enqueue.getQueueId(), PortNumber.portNumber(enqueue.getPort().getPortNumber()));
+ builder.setQueue(enqueue.getQueueId(),
+ PortNumber.portNumber(enqueue.getPort().getPortNumber()));
break;
case STRIP_VLAN:
case POP_VLAN:
@@ -447,10 +447,12 @@
builder.setVlanPcp(vlanpcp.getValue().getValue());
break;
case VLAN_VID:
- if (treatmentInterpreter != null &&
- treatmentInterpreter.supported(ExtensionTreatmentTypes.OFDPA_SET_VLAN_ID.type())) {
- builder.extension(treatmentInterpreter.mapAction(action),
- deviceId);
+ if (treatmentInterpreter != null) {
+ try {
+ builder.extension(treatmentInterpreter.mapAction(action), deviceId);
+ } catch (UnsupportedOperationException e) {
+ log.warn(e.getMessage());
+ }
} else {
@SuppressWarnings("unchecked")
OFOxm<OFVlanVidMatch> vlanvid = (OFOxm<OFVlanVidMatch>) oxm;
@@ -515,9 +517,12 @@
builder.setUdpSrc(TpPort.tpPort(udpsrc.getValue().getPort()));
break;
case TUNNEL_IPV4_DST:
- if (treatmentInterpreter != null &&
- treatmentInterpreter.supported(ExtensionTreatmentTypes.NICIRA_SET_TUNNEL_DST.type())) {
- builder.extension(treatmentInterpreter.mapAction(action), deviceId);
+ if (treatmentInterpreter != null) {
+ try {
+ builder.extension(treatmentInterpreter.mapAction(action), deviceId);
+ } catch (UnsupportedOperationException e) {
+ log.warn(e.getMessage());
+ }
}
break;
case EXP_ODU_SIG_ID:
@@ -895,9 +900,9 @@
return builder.build();
}
- private DriverHandler getDriver(DeviceId deviceId) {
- Driver driver = driverService.getDriver(deviceId);
- DriverHandler handler = new DefaultDriverHandler(new DefaultDriverData(driver, deviceId));
+ private DriverHandler getDriver(DeviceId devId) {
+ Driver driver = driverService.getDriver(devId);
+ DriverHandler handler = new DefaultDriverHandler(new DefaultDriverData(driver, devId));
return handler;
}
}