Make the netconf notification stream customisable
Change-Id: I0e51861b7f8cb4961a47e88f64a493106e2c7a8a
diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
index 596cb1a..261adea 100644
--- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
+++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
@@ -119,6 +119,7 @@
private static final String NETCONF_10_CAPABILITY = "urn:ietf:params:netconf:base:1.0";
private static final String NETCONF_11_CAPABILITY = "urn:ietf:params:netconf:base:1.1";
private static final String NETCONF_CLIENT_CAPABILITY = "netconfClientCapability";
+ private static final String NOTIFICATION_STREAM = "notificationStream";
private static ServiceDirectory directory = new DefaultServiceDirectory();
@@ -351,6 +352,16 @@
subscriptionbuffer.append("<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n");
subscriptionbuffer.append(" <create-subscription\n");
subscriptionbuffer.append("xmlns=\"urn:ietf:params:xml:ns:netconf:notification:1.0\">\n");
+ DriverService driverService = directory.get(DriverService.class);
+ Driver driver = driverService.getDriver(deviceInfo.getDeviceId());
+ if (driver != null) {
+ String stream = driver.getProperty(NOTIFICATION_STREAM);
+ if (stream != null) {
+ subscriptionbuffer.append(" <stream>");
+ subscriptionbuffer.append(stream);
+ subscriptionbuffer.append("</stream>\n");
+ }
+ }
// FIXME Only subtree filtering supported at the moment.
if (filterSchema != null) {
subscriptionbuffer.append(" ");