
[email protected] Maven / Gradle / Ivy
module ncmount {
yang-version 1;
namespace "urn:opendaylight:params:xml:ns:yang:ncmount";
prefix "ncmount";
import ietf-inet-types {
prefix "inet";
}
revision "2015-01-05" {
description "Initial revision of ncmount model";
}
grouping xr-node {
leaf node-name {
type string;
description
"Name of the node";
}
leaf status {
type string;
description
"Node status";
}
leaf-list properties {
type string;
description
"List of properties";
}
}
rpc write-routes {
description
"Artificial RPC that illustrates:
How to handle a list of route entries and transform + send them to a netconf device in a single edit transaction.
This is not possible by using just Restconf, since Restconf can send only a single list entry in a transaction (which is much slower).
This RPC demonstrates a couple of things:
1. How to write to a mounted netconf device from (binding aware) code level
2. How to transform input (from rpc-input to netconf device specific data)
3. How to improve performance of writing to a netconf device by batching a bunch of list entries in a single transaction
A single invocation of this RPC with 20 route entries over Restconf
is equal to 20 invocations of typical writes over Restconf with 1 route per call";
input {
leaf mount-name {
type string;
description "Id of mounted note to write the l2-fibs to";
}
leaf vrf-id {
type string;
description "Id of Vrf which should be modified (add new routes)";
}
list route {
key "ipv4-prefix";
leaf ipv4-prefix {
type inet:ipv4-address;
}
leaf ipv4-prefix-length {
type uint16;
}
leaf ipv4-next-hop {
type inet:ipv4-address;
}
}
}
}
rpc show-node {
description
"Start a new data store write test run";
input {
leaf node-name {
mandatory true;
type string;
description
"Name of the mounted node to be displayed";
}
}
output {
container if-cfg-data {
list ifc {
key "active interface-name";
description "A small subset of an interface
configuration; provides an example of processing
of data retrieved from a device.";
leaf interface-name {
type string;
description
"The name of the interface";
}
leaf active {
type string;
description
"Whether the interface is active or preconfigured";
}
leaf description {
type string;
description "Interface description";
}
leaf bandwidth {
type int32;
description "The bandwidth of the interface in kbps";
}
leaf link-status {
type string;
description
"Enable interface and line-protocol state change
alarms";
}
}
}
container if-oper-data {
}
}
}
rpc list-nodes {
description
"Returns a list of netconf nodes for each data store space";
output {
leaf-list nc-config-nodes {
type string;
description
"List of netconf nodes in the config space";
}
leaf-list nc-oper-nodes {
type string;
description
"List of netconf nodes in the operational space";
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy