Cisco-IOS-XE-nwpi-rpc

This module contains a collection of YANG definitions for Network Wide Path Insight RPC. Copyright (c) 2020-2021 by Cisco System...

  • Version: 2021-07-01

    Cisco-IOS-XE-nwpi-rpc@2021-07-01


    
      module Cisco-IOS-XE-nwpi-rpc {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-nwpi-rpc";
    
        prefix Cisco-IOS-XE-nwpi-rpc;
    
        import Cisco-IOS-XE-nwpi-types {
          prefix Cisco-IOS-XE-nwpi-types;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions for
         Network Wide Path Insight RPC.
         Copyright (c) 2020-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-07-01" {
          description
            "1, Added new filters to match source/destination prefixes,
              application group, and domain list.
           2, Added new trace options to optionally have ART visibility,
              application visibility, direct internet access visibility,
              HUB WAN ingress traffic visibility, and flow sampling.
           3, Added domain monitor mode support.
           4, Change max vpn id from 65530 to 65531.";
          reference
            "1.1.0";
    
        }
    
        revision "2020-11-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.1.0";
        cisco-semver:module-version "1.0.0";
    
        typedef nwpi-control-type {
          type enumeration {
            enum "nwpi-enable" {
              value 0;
              description
                "Enable Network Wide Path Insight";
            }
            enum "nwpi-disable" {
              value 1;
              description
                "Disable Network Wide Path Insight";
            }
          }
          description
            "Network Wide Path Insight control type";
        }
    
        grouping nwpi-trace {
          description
            "Trace identifier, action and filters";
          leaf trace-id {
            when
              "(../action[.='action-start-trace' or .='action-stop-trace' or .='action-clear-trace' or .='action-update-policy'])";
            type uint16 {
              range "1..65535";
            }
            mandatory true;
            description
              "Global unique trace identifier";
          }
    
          leaf action {
            type Cisco-IOS-XE-nwpi-types:nwpi-action-type;
            must
              ".!='action-enable-nwpi' and .!='action-disable-nwpi'" {
              error-message
                "Please use device-nwpi-global RPC instead";
              error-app-tag "must-violation";
            }
            mandatory true;
            description
              "Trace start/stop/clean actions";
          }
    
          leaf target {
            when
              "(../action = 'action-start-trace')";
            type Cisco-IOS-XE-nwpi-types:nwpi-target-type;
            mandatory true;
            description "Target types";
          }
    
          leaf vpn-id {
            when
              "(../action = 'action-start-trace') and (../target = 'target-vpn-id')";
            type uint32 {
              range "0..65531";
            }
            mandatory true;
            description "SD-WAN VPN identifier";
          }
    
          leaf vrf-name {
            when
              "(../action = 'action-start-trace') and (../target = 'target-vrf-name')";
            type string;
            mandatory true;
            description "VRF name";
          }
    
          leaf src-ip {
            type inet:ip-address;
            description "Source IP to filter";
          }
    
          leaf dst-ip {
            type inet:ip-address;
            description
              "Destination IP to filter";
          }
    
          leaf app {
            type string;
            description "Application to filter";
          }
    
          leaf src-if {
            type string;
            description
              "Source interface to filter";
          }
    
          leaf protocol {
            type uint8;
            description
              "IP protocol field in IP header to filter";
          }
    
          leaf src-port {
            type uint16;
            description "Source port to filter";
          }
    
          leaf dst-port {
            type uint16;
            description
              "Destination port to filter";
          }
    
          leaf dscp-is-valid {
            type boolean;
            description
              "Indicate DSCP filter was configured";
          }
    
          leaf dscp {
            when "(../dscp-is-valid = 'true')";
            type uint8 {
              range "0..63";
            }
            mandatory true;
            description "DSCP value to filter";
          }
    
          leaf duration {
            type uint16 {
              range "1..1440";
            }
            units "minutes";
            description
              "Option to change default trace duration of 60 minutes.
             The duration value is in minutes and in range between
             1 and 1440 minutes. A trace will auto stop if specified
             duration expired. If duration not specified and user didn't
             issue on-demand stop action, the trace will auto stop in
             60 minutes";
          }
    
          leaf src-pfx {
            type inet:ip-address;
            description
              "Source prefix to filter";
          }
    
          leaf src-pfx-len {
            type uint8;
            units "bits";
            description
              "Source prefix length to filter";
          }
    
          leaf dst-pfx {
            type inet:ip-address;
            description
              "Destination prefix to filter";
          }
    
          leaf dst-pfx-len {
            type uint8;
            units "bits";
            description
              "Destination prefix length to filter";
          }
    
          leaf app-grp {
            type string;
            description
              "Application grouped by vendors to filter";
          }
    
          leaf domain-mon {
            type boolean;
            description "Enable domain monitor";
          }
    
          leaf art-vis {
            type boolean;
            description "Enable ART visibility";
          }
    
          leaf app-vis {
            type boolean;
            description
              "Enable application visibility";
          }
    
          leaf dia-vis {
            type boolean;
            description
              "Enable direct internet access visibility";
          }
    
          leaf hub-wan-vis {
            type boolean;
            description
              "Enable HUB WAN ingress visibility";
          }
    
          leaf sampling {
            type boolean;
            description
              "Enable trace flow sampling";
          }
    
          leaf spl-intvl {
            type uint32 {
              range "1..86400000";
            }
            units "milliseconds";
            description
              "Option to change default trace flow sample interval of
             60000 milliseconds. The sample interval value is in milliseconds
             and in range between 1 and 86400000 milliseconds. Only one flow
             will be traced within a given interval";
          }
    
          list domain {
            description "Domain list to filter";
            uses Cisco-IOS-XE-nwpi-types:nwpi-domain-filter;
          }  // list domain
        }  // grouping nwpi-trace
    
        grouping nwpi-global {
          description
            "Network Wide Path Insight global control";
          leaf control {
            type nwpi-control-type;
            mandatory true;
            description
              "Global enable/disable control";
          }
        }  // grouping nwpi-global
    
        rpc device-nwpi {
          description
            "Device Network Wide Path Insight RPC";
          input {
            uses Cisco-IOS-XE-nwpi-rpc:nwpi-trace;
          }
        }  // rpc device-nwpi
    
        rpc device-nwpi-global {
          description
            "Device Network Wide Path Insight global control RPC";
          input {
            uses Cisco-IOS-XE-nwpi-rpc:nwpi-global;
          }
        }  // rpc device-nwpi-global
      }  // module Cisco-IOS-XE-nwpi-rpc
    

© 2023 YumaWorks, Inc. All rights reserved.