Update netconfig xml for Oplink device
Change-Id: Idaab45c053bd65e37e2bc4065a617af4ae7510fe
diff --git a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkNetconfUtility.java b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkNetconfUtility.java
index c7053da..966821e 100644
--- a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkNetconfUtility.java
+++ b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkNetconfUtility.java
@@ -36,7 +36,8 @@
// public used nodes
public static final String CFG_MODE_MERGE = "merge";
- public static final String CFG_MODE_REMOVE = "remove";
+ public static final String CFG_MODE_NONE = "none";
+ public static final String CFG_OPT_DELETE = "nc:operation=\"delete\"";
public static final String KEY_XMLNS = "xmlns=\"http://com/att/device\"";
public static final String KEY_DATA = "data";
public static final String KEY_OPENOPTICALDEV = "open-optical-device";
diff --git a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalFlowRuleProgrammable.java b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalFlowRuleProgrammable.java
index a70b612..cc5195b 100644
--- a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalFlowRuleProgrammable.java
+++ b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalFlowRuleProgrammable.java
@@ -131,7 +131,7 @@
// Build xml
String connID = Integer.toString(crossConnect.getChannel());
String cfg = new StringBuilder(xmlOpen(KEY_OPENOPTICALDEV_XMLNS))
- .append(xmlOpen(KEY_CONNS))
+ .append(xmlOpen(String.format("%s %s", KEY_CONNS, CFG_OPT_DELETE)))
.append(xml(KEY_CONNID, connID))
.append(xmlOpen(KEY_SRC))
.append(xml(KEY_PORTID, crossConnect.getInPort().name()))
@@ -140,6 +140,6 @@
.append(xmlClose(KEY_CONNS))
.append(xmlClose(KEY_OPENOPTICALDEV))
.toString();
- return netconfEditConfig(handler(), CFG_MODE_REMOVE, cfg);
+ return netconfEditConfig(handler(), CFG_MODE_NONE, cfg);
}
}
diff --git a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalPowerConfig.java b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalPowerConfig.java
index ced0b08..110096c 100644
--- a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalPowerConfig.java
+++ b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalPowerConfig.java
@@ -64,6 +64,7 @@
public static final String KEY_PORTPWRCAPMAXTX = "port-power-capability-max-tx";
public static final String KEY_PORTS_PORT = String.format("%s.%s", KEY_DATA_PORTS, KEY_PORT);
public static final String KEY_PORTS_PORT_PROPERTY = String.format("%s.%s", KEY_PORTS_PORT, KEY_PORTPROPERTY);
+ public static final String KEY_OCMS = "ocms";
// log
private static final Logger log = getLogger(OplinkOpticalPowerConfig.class);
@@ -110,15 +111,13 @@
private String getChannelPowerFilter(PortNumber port, OchSignal channel) {
return new StringBuilder(xmlOpen(KEY_OPENOPTICALDEV_XMLNS))
- .append(xmlOpen(KEY_PORTS))
+ .append(xmlOpen(KEY_OCMS))
.append(xml(KEY_PORTID, Long.toString(port.toLong())))
- .append(xmlOpen(KEY_PORT))
.append(xmlOpen(KEY_OCMSTATS))
.append(xml(KEY_CHNUM, Integer.toString(channel.spacingMultiplier())))
.append(xmlEmpty(KEY_CHSTATS))
.append(xmlClose(KEY_OCMSTATS))
- .append(xmlClose(KEY_PORT))
- .append(xmlClose(KEY_PORTS))
+ .append(xmlClose(KEY_OCMS))
.append(xmlClose(KEY_OPENOPTICALDEV))
.toString();
}
diff --git a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalUtility.java b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalUtility.java
index 37f1d77..5a993d9 100644
--- a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalUtility.java
+++ b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkOpticalUtility.java
@@ -177,6 +177,7 @@
.withSelector(selector)
.withTreatment(treatment)
.withPriority(DEFAULT_PRIORITY)
+ .makePermanent()
.fromApp(behaviour.handler().get(CoreService.class).getAppId(DEFAULT_APP))
.build();