Support to provision and unprovision physical bridge along with ports
Change-Id: I16868a264ea95099b2184e652859a9adbec9eacd
diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/util/OpenstackNodeUtil.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/util/OpenstackNodeUtil.java
index d478bcc..9e5bc0a 100644
--- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/util/OpenstackNodeUtil.java
+++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/util/OpenstackNodeUtil.java
@@ -18,6 +18,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
+import org.apache.commons.lang3.StringUtils;
import org.onosproject.net.Device;
import org.onosproject.net.behaviour.BridgeConfig;
import org.onosproject.net.behaviour.BridgeName;
@@ -75,6 +76,8 @@
private static final String DPDK_DEVARGS = "dpdk-devargs";
private static final String NOT_AVAILABLE = "N/A";
+ private static final int PORT_NAME_MAX_LENGTH = 15;
+
/**
* Prevents object installation from external.
*/
@@ -297,6 +300,23 @@
}
/**
+ * Re-structures the OVS port name.
+ * The length of OVS port name should be not large than 15.
+ *
+ * @param portName original port name
+ * @return re-structured OVS port name
+ */
+ public static String structurePortName(String portName) {
+
+ // The size of OVS port name should not be larger than 15
+ if (portName.length() > PORT_NAME_MAX_LENGTH) {
+ return StringUtils.substring(portName, 0, PORT_NAME_MAX_LENGTH);
+ }
+
+ return portName;
+ }
+
+ /**
* Obtains the gateway node by openstack node. Note that the gateway
* node is determined by device's device identifier.
*