[ODTN] Add read/create/delete ConnectivityService RPC
- RPC: get service interface point
- RPC: get connectivity service list
- RPC: get connectivity service detail
- RPC: create connectivity service
- RPC: delete connectivity service
- Filter method of TAPI resolver for both Node / NEP
- Change condition for sip to odtn-port-type
- Use odtn-port-type in path-computation mock
- Create CEP at topology discovery
- Add sample path calculator
- Add connection-id based path selection
Change-Id: I2f08aacb3dd14b6b3c59a64a349e50abb495f70b
diff --git a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
index 347a0c8..4ebe973 100644
--- a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
+++ b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
@@ -148,14 +148,12 @@
//log.warn("parent data Node: {}",
// ((SubnodeConfiguration) component).getParent().getRootNode().getName());
-
String name = component.getString("name");
checkNotNull(name);
if (!name.contains("GIGECLIENTCTP")) {
return null;
}
-
Builder builder = DefaultPortDescription.builder();
Map<String, String> props = new HashMap<>();
@@ -168,12 +166,17 @@
Matcher lineMatch = linePattern.matcher(name);
if (clientMatch.find()) {
+ String num = clientMatch.group(1);
+ Integer connection = (Integer.parseInt(num) + 1) / 2;
props.putIfAbsent(PORT_TYPE, OdtnPortType.CLIENT.value());
- builder.withPortNumber(PortNumber.portNumber(Long.parseLong(clientMatch.group(1)), name));
+ props.putIfAbsent(CONNECTION_ID, "connection:" + connection.toString());
+ builder.withPortNumber(PortNumber.portNumber(Long.parseLong(num), name));
builder.type(Type.PACKET);
} else if (lineMatch.find()) {
+ String num = lineMatch.group(1);
props.putIfAbsent(PORT_TYPE, OdtnPortType.LINE.value());
- builder.withPortNumber(PortNumber.portNumber(100 + Long.parseLong(lineMatch.group(1)), name));
+ props.putIfAbsent(CONNECTION_ID, "connection:" + num);
+ builder.withPortNumber(PortNumber.portNumber(100 + Long.parseLong(num), name));
builder.type(Type.OCH);
} else {
return null;