1 module nts-network-function {
3 namespace "urn:o-ran-sc:params:xml:ns:yang:nts:network:function";
9 import ietf-yang-types {
16 " Web: <https://wiki.o-ran-sc.org/display/SIM/SIM>
18 Alex Stancu <mailto:alexandru.stancu@highstreet-technologies.com>
19 Adrian Lita <mailto:adrian.lita@highstreet-technologies.com>
20 Martin Skorupski <mailto:martin.skorupski@highstreet-technologies.com>";
22 "This module contains YANG definitions for the Network Topology Simulator - Network Functions";
26 "Added support for network emulation.";
28 "O-RAN-SC SIM project";
32 "Added info container, and expanted feature control mechanism and status.";
34 "O-RAN-SC SIM project";
38 "Renamed datastore-random-populate RPC to datastore-populate";
40 "O-RAN-SC SIM project";
44 "Added function-type to simulated function.";
46 "O-RAN-SC SIM project";
50 "Cleared revision for nts-common import.";
52 "O-RAN-SC SIM project";
56 "Add RPC for clearing the fault counters.";
58 "O-RAN-SC SIM project";
62 "Add RPC for datastore populating and feature control.";
64 "O-RAN-SC SIM project";
68 "Initial revision for the Network Topology Simulator - Next Generation";
70 "O-RAN-SC SIM project";
73 rpc datastore-populate {
75 "Operation to populate the datastore with data for all the containing YANG models, based on settings in config.json";
77 uses ntsc:rpc-status-g;
83 "Operation to control the features in a Network Function.";
86 type ntsc:feature-type;
88 "A bit-wise list with features to be activated.";
91 type ntsc:feature-type;
93 "A bit-wise list with features to be deactivated.";
97 uses ntsc:rpc-status-g;
101 rpc invoke-notification {
103 "Operation to control the features in a Network Function.";
105 leaf notification-format {
109 "The notification string is formatted as XML.";
113 "The notification string is formatted as JSON.";
118 "The format of the notification string.";
120 leaf notification-object {
124 "A JSON string containing the notification object to be sent by the device.";
128 uses ntsc:rpc-status-g;
132 rpc invoke-ves-pm-file-ready {
134 "Operation to generate a VES notification from a Network Function.";
140 "A string containing the location of the file on the server.";
144 uses ntsc:rpc-status-g;
148 rpc clear-fault-counters {
150 "Operation to clear the fault counters.";
152 uses ntsc:rpc-status-g;
159 "Information about NTS application and modules.";
161 type yang:date-and-time;
163 "Build time of NTS application.";
168 "NTS version of current network-function.";
170 leaf started-features {
171 type ntsc:feature-type;
173 "A bit-wise list with currently started features.";
176 container simulation {
178 "Root level container which controls the Network Function.";
179 container network-function {
181 "Container which encompasses the details of the network function.";
185 "Type of network function that is simulated.";
187 uses ntsc:mount-point-details-g;
189 uses ntsc:netconf-config-g;
190 uses ntsc:ves-config-g;
192 container network-emulation {
194 "Container which encompasses the details of the network emulation.";
202 "Maximum number of packets the qdisc may hold queued at a time.";
206 "Adds the chosen delay to the packets outgoing to chosen network interface.";
209 units "miliseconds (ms)";
211 "Delay time between packets.";
215 units "miliseconds (ms)";
225 "Delay correlation.";
231 "Uniform delay distribution.";
235 "Normal delay distribution.";
239 "Pareto delay distribution.";
243 "Paretonormal delay distribution.";
247 "Delay distribution.";
256 "Adds an independent loss probability to the packets outgoing from the chosen network interface.";
258 container corruption {
260 "Allows the emulation of random noise introducing an error in a random position for a chosen percent of packets.";
267 "Corruption percentage.";
275 "Corruption correlation.";
278 container duplication {
280 "Using this option the chosen percent of packets is duplicated before queuing them.";
287 "Duplication percentage.";
295 "Duplication correlation.";
298 container reordering {
300 "Used together with delay; a percentage of packets are sent immediately (with defined correlation) while the others are delayed (by specified delay).";
307 "Reordering percentage.";
315 "Reordering correlation.";
322 "Delay packets based on packet size.";
325 container sdn-controller {
327 "Groups details about the SDN Controller.";
328 uses ntsc:controller-g;
330 container ves-endpoint {
332 "Groups details about the VES Collector endpoint.";
333 uses ntsc:ves-endpoint-g;