[ONOS-4837] NETCONF function for FUJITSU OLT #4 and #5
- Add the following commands for FJ OLT
volt-onus <netconf:target> <ONU ID>
volt-setonu <netconf:target> <ONU-ID:parameter type:parameter value>
volt-onustats <netconf:target> {ONU-ID}
volt-rebootonu <netconf:target> <ONU-ID>
volt-ethloopback <netconf:target> <ONU-ETH-ID[:loopback mode]>
- Add the method of doUserRpc() in Netconfsession/NetconfSessionImpl
*If you dont allow to implement the method, i can move it to our XmlUtility method.
- Add new behaviours in /core/.../net/behaviour, and @Beta in the interface.
- Move those behaviour interface to fujitsu driver directory.
* VoltPonLinkConfig.java as well.
- Update fujitsu-drivers.xml
- Change the method name from doUserRpc to doWrappedRpc
Change-Id: Ic39d3a11ba35d2377e552af097eda65c5554c63f
diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltOnuConfig.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltOnuConfig.java
new file mode 100644
index 0000000..ab77877
--- /dev/null
+++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltOnuConfig.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.drivers.fujitsu.behaviour;
+
+import com.google.common.annotations.Beta;
+import org.onosproject.net.driver.HandlerBehaviour;
+
+/**
+ * Device behaviour to obtain and set parameters of ONUs in vOLT.
+ */
+@Beta
+public interface VoltOnuConfig extends HandlerBehaviour {
+
+ /**
+ * Obtain all ONUs or a specific ONU in the device.
+ *
+ * @param target input data in string
+ * @return response string
+ */
+ String getOnus(String target);
+
+ /**
+ * Set a parameter value of an ONU in the device.
+ *
+ * @param target input data in string
+ * @return response string
+ */
+ String setOnu(String target);
+
+ /**
+ * Obtain all or a specific ONU statistics in the device.
+ *
+ * @param target input data in string
+ * @return response string
+ */
+ String getOnuStatistics(String target);
+
+}
diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltOnuOperConfig.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltOnuOperConfig.java
new file mode 100644
index 0000000..996d5ca
--- /dev/null
+++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltOnuOperConfig.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.drivers.fujitsu.behaviour;
+
+import com.google.common.annotations.Beta;
+import org.onosproject.net.driver.HandlerBehaviour;
+
+/**
+ * Device behaviour to perform actions in an ONU in vOLT.
+ */
+@Beta
+public interface VoltOnuOperConfig extends HandlerBehaviour {
+
+ /**
+ * Reboot an ONU in the device.
+ *
+ * @param target input data in string
+ */
+ String rebootOnu(String target);
+
+ /**
+ * Operate/release loopback on Ethernet port an ONU in the device.
+ *
+ * @param target input data in string
+ */
+ String loopbackEthOnu(String target);
+
+}
diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltPonLinkConfig.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltPonLinkConfig.java
new file mode 100644
index 0000000..dfd2812
--- /dev/null
+++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/VoltPonLinkConfig.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.drivers.fujitsu.behaviour;
+
+import com.google.common.annotations.Beta;
+import org.onosproject.net.driver.HandlerBehaviour;
+
+/**
+ * Device behaviour to obtain and set parameters of PON links in vOLT.
+ */
+@Beta
+public interface VoltPonLinkConfig extends HandlerBehaviour {
+
+ /**
+ * Obtain all GPON PON links or a specific PON link in the device.
+ *
+ * @param target input data in string
+ * @return response string
+ */
+ String getPonLinks(String target);
+
+ /**
+ * Set a parameter value of PON link in the device.
+ *
+ * @param target input data in string
+ *
+ */
+ void setPonLink(String target);
+
+}
diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/package-info.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/package-info.java
new file mode 100644
index 0000000..c9b3256
--- /dev/null
+++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/behaviour/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+/**
+ * Abstractions of various device configuration or device adaptation behaviours;
+ * counterpart to the device driver subsystem. -vOLT
+ */
+package org.onosproject.drivers.fujitsu.behaviour;