Merge branch 'optical_path_provisioner'
Conflicts:
apps/optical/src/main/resources/demo-3-roadm-2-ps.json
Change-Id: I6fb95eb8de5b8331678c8cdac621309ea4d2d2b8
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java
index cba4e46..6d46807 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java
@@ -291,6 +291,17 @@
linkProviderService.linkDetected(linkDescription);
log.info(String.format("WDM link: %s : %s",
linkDescription.src().toString(), linkDescription.dst().toString()));
+
+
+ DefaultLinkDescription linkDescriptionReverse =
+ new DefaultLinkDescription(snkPoint,
+ srcPoint,
+ Link.Type.OPTICAL,
+ extendedAttributes);
+
+ linkProviderService.linkDetected(linkDescriptionReverse);
+ log.info(String.format("WDM link: %s : %s",
+ linkDescriptionReverse.src().toString(), linkDescriptionReverse.dst().toString()));
}
// Discover the packet optical link objects
@@ -322,6 +333,16 @@
linkProviderService.linkDetected(linkDescription);
log.info(String.format("Packet-optical link: %s : %s",
linkDescription.src().toString(), linkDescription.dst().toString()));
+
+ DefaultLinkDescription linkDescriptionReverse =
+ new DefaultLinkDescription(snkPoint,
+ srcPoint,
+ Link.Type.OPTICAL,
+ extendedAttributes);
+
+ linkProviderService.linkDetected(linkDescriptionReverse);
+ log.info(String.format("Packet-optical link: %s : %s",
+ linkDescriptionReverse.src().toString(), linkDescriptionReverse.dst().toString()));
}
}
diff --git a/apps/optical/src/main/resources/demo-3-roadm-2-ps.json b/apps/optical/src/main/resources/demo-3-roadm-2-ps.json
index 13e415d..d4f4a14 100644
--- a/apps/optical/src/main/resources/demo-3-roadm-2-ps.json
+++ b/apps/optical/src/main/resources/demo-3-roadm-2-ps.json
@@ -52,37 +52,9 @@
},
"type": "wdmLink"
},
- {
- "allowed": true,
- "nodeDpid1": "00:00:ff:ff:ff:ff:ff:03",
- "nodeDpid2": "00:00:ff:ff:ff:ff:ff:01",
- "params": {
- "distKms": 1000,
- "nodeName1": "ROADM3",
- "nodeName2": "ROADM1",
- "numWaves": 80,
- "port1": 30,
- "port2": 10
- },
- "type": "wdmLink"
- },
{
"allowed": true,
- "nodeDpid1": "00:00:ff:ff:ff:ff:ff:02",
- "nodeDpid2": "00:00:ff:ff:ff:ff:ff:03",
- "params": {
- "distKms": 2000,
- "nodeName1": "ROADM2",
- "nodeName2": "ROADM3",
- "numWaves": 80,
- "port1": 20,
- "port2": 31
- },
- "type": "wdmLink"
- },
- {
- "allowed": true,
"nodeDpid1": "00:00:ff:ff:ff:ff:ff:03",
"nodeDpid2": "00:00:ff:ff:ff:ff:ff:02",
"params": {
@@ -104,20 +76,7 @@
"nodeName1": "ROUTER1",
"nodeName2": "ROADM1",
"bandWidth": 100000,
- "port1": 10,
- "port2": 10
- },
- "type": "pktOptLink"
- },
- {
- "allowed": true,
- "nodeDpid1": "00:00:ff:ff:ff:ff:ff:01",
- "nodeDpid2": "00:00:ff:ff:ff:ff:00:01",
- "params": {
- "nodeName1": "ROADM1",
- "nodeName2": "ROUTER1",
- "bandWidth": 100000,
- "port1": 11,
+ "port1": 1,
"port2": 10
},
"type": "pktOptLink"
@@ -131,24 +90,11 @@
"nodeName1": "ROUTER2",
"nodeName2": "ROADM2",
"bandWidth": 100000,
- "port1": 10,
+ "port1": 1,
"port2": 11
},
"type": "pktOptLink"
},
- {
- "allowed": true,
- "nodeDpid1": "00:00:ff:ff:ff:ff:ff:02",
- "nodeDpid2": "00:00:ff:ff:ff:ff:00:02",
- "params": {
- "nodeName1": "ROADM2",
- "nodeName2": "ROUTER2",
- "bandWidth": 100000,
- "port1": 21,
- "port2": 10
- },
- "type": "pktOptLink"
- }
]
}
diff --git a/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalConnectivityIntentCompiler.java b/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalConnectivityIntentCompiler.java
index 58586dc..b76cc3b 100644
--- a/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalConnectivityIntentCompiler.java
+++ b/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalConnectivityIntentCompiler.java
@@ -70,6 +70,7 @@
public List<Intent> compile(OpticalConnectivityIntent intent) {
// TODO: compute multiple paths using the K-shortest path algorithm
List<Intent> retList = new ArrayList<>();
+ log.info("The system is comipling the OpticalConnectivityIntent:" + intent.toString());
Path path = calculatePath(intent.getSrcConnectPoint(), intent.getDst());
if (path == null) {
return retList;
@@ -88,6 +89,8 @@
intent.getDst(),
path);
+ log.info("a new OpticalPathIntent was created: " + newIntent.toString());
+
retList.add(newIntent);
return retList;
@@ -123,6 +126,7 @@
Iterator<Path> itr = paths.iterator();
while (itr.hasNext()) {
Path path = itr.next();
+ // log.info(String.format("total link number.:%d", path.links().size()));
if (path.cost() >= 10000) {
itr.remove();
}
diff --git a/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java b/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java
index 64ac3ea..5557b05 100644
--- a/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java
+++ b/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java
@@ -116,6 +116,7 @@
appId,
100,
true);
+
rules.add(new FlowRuleBatchEntry(FlowRuleOperation.ADD, rule));
prev = link.dst();