Added patch interface add and remove behavior, and implemented OVSDB driver
Change-Id: Ic7632906fcfe50ec224fabdc15cb902a70150fae
diff --git a/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbInterfaceConfig.java b/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbInterfaceConfig.java
index e35599c..f38346e 100644
--- a/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbInterfaceConfig.java
+++ b/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbInterfaceConfig.java
@@ -20,6 +20,7 @@
import org.onlab.packet.VlanId;
import org.onosproject.net.DeviceId;
import org.onosproject.net.behaviour.InterfaceConfig;
+import org.onosproject.net.behaviour.PatchDescription;
import org.onosproject.net.behaviour.TunnelDescription;
import org.onosproject.net.device.DeviceInterfaceDescription;
import org.onosproject.net.driver.AbstractHandlerBehaviour;
@@ -67,11 +68,28 @@
@Override
public boolean removeAccessMode(String ifaceName) {
- // TODO implement
throw new UnsupportedOperationException("Not implemented yet");
}
@Override
+ public boolean addPatchMode(String ifaceName, PatchDescription patchDesc) {
+ OvsdbInterface ovsdbIface = OvsdbInterface.builder(patchDesc).build();
+ OvsdbClientService ovsdbClient = getOvsdbClient(handler());
+
+ if (!patchDesc.deviceId().isPresent()) {
+ log.warn("Device ID is required {}", patchDesc);
+ return false;
+ }
+ return ovsdbClient.createInterface(patchDesc.deviceId().get(), ovsdbIface);
+ }
+
+ @Override
+ public boolean removePatchMode(String ifaceName) {
+ OvsdbClientService ovsdbClient = getOvsdbClient(handler());
+ return ovsdbClient.dropInterface(ifaceName);
+ }
+
+ @Override
public boolean addTrunkMode(String ifaceName, List<VlanId> vlanIds) {
// TODO implement
throw new UnsupportedOperationException("Not implemented yet");