Cisco-IOS-XR-ethernet-loopback-act

This module contains a collection of YANG definitions for Cisco IOS-XR ethernet loopback actions. Copyright (c) 2020 by Cisco S...

  • Version: 2020-03-06

    Cisco-IOS-XR-ethernet-loopback-act@2020-03-06


    
      module Cisco-IOS-XR-ethernet-loopback-act {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-loopback-act";
    
        prefix ethernet-loopback-act;
    
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR ethernet loopback actions.
         
         Copyright (c) 2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-03-06" {
          description "IOS XR 7.4.1 revision.";
        }
    
    
        typedef loopback-direction {
          type enumeration {
            enum "external" {
              value 0;
              description
                "External loopback (wire loopback)";
            }
            enum "internal" {
              value 1;
              description
                "Internal loopback (bridge loopback)";
            }
          }
          description "Direction of loopback";
        }
    
        typedef loopback-status {
          type enumeration {
            enum "inactive" {
              value 0;
              description
                "Loopback is not active";
            }
            enum "active" {
              value 1;
              description "Loopback is active";
            }
          }
          description
            "Status of loopback session";
        }
    
        typedef vlan-type {
          type enumeration {
            enum "dot1q" {
              value 0;
              description
                "Dot1q outer VLAN type";
            }
            enum "dot1ad" {
              value 1;
              description
                "Dot1ad outer VLAN type";
            }
          }
          description
            "Type of the outer VLAN ID";
        }
    
        grouping EDPL-REMOTE-VLAN-TYPE {
          description
            "Encapsulation specification for remote loopback commands";
          leaf outer-type {
            type vlan-type;
            description "Type of outer VLAN ID";
          }
    
          leaf outer-vlan-ids {
            type string;
            description "Outer VLAN ID";
          }
    
          leaf inner-vlan-ids {
            type string;
            description "Inner VLAN ID";
          }
    
          leaf all-vlans {
            type boolean;
            description
              "Include the all-vlans flag in the remote request";
          }
        }  // grouping EDPL-REMOTE-VLAN-TYPE
    
        grouping EDPL-CFM-INFO-TYPE {
          description
            "CFM domain and service specification";
          leaf domain {
            type string;
            mandatory true;
            description "CFM domain name";
          }
    
          leaf service {
            type string;
            mandatory true;
            description "CFM service name";
          }
        }  // grouping EDPL-CFM-INFO-TYPE
    
        grouping EDPL-REMOTE-TARGET-TYPE {
          description
            "Information on remote session target";
          leaf mac {
            type yang:mac-address;
            description
              "Target remote mac address";
          }
    
          leaf mep {
            type uint16;
            description
              "ID of target remote MEP";
          }
        }  // grouping EDPL-REMOTE-TARGET-TYPE
    
        grouping EDPL-REMOTE-SESSION-LIST-TYPE {
          description "List of remote sessions";
          list session {
            description
              "List of remote sessions";
            leaf mac {
              type yang:mac-address;
              description "Remote mac address";
            }
    
            leaf direction {
              type loopback-direction;
              description
                "Loopback session direction";
            }
    
            leaf timer {
              type uint32;
              description
                "Remaining session time, in seconds";
            }
    
            leaf status {
              type loopback-status;
              description
                "Loopback session status";
            }
          }  // list session
        }  // grouping EDPL-REMOTE-SESSION-LIST-TYPE
    
        rpc ethernet-loopback-start-local {
          description
            "Start a local ethernet loopback session";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which to start the loopback";
            }
    
            leaf direction {
              type loopback-direction;
              mandatory true;
              description "Loopback direction";
            }
    
            leaf source-mac {
              type yang:mac-address;
              description
                "Source mac to filter on";
            }
    
            leaf dest-mac {
              type yang:mac-address;
              description
                "Destination mac to filter on";
            }
    
            leaf outer-type {
              type vlan-type;
              description
                "Type of outer VLAN ID to filter on";
            }
    
            leaf outer-vlan-ids {
              type string;
              description
                "Outer VLAN ID or IDs to filter on";
            }
    
            leaf inner-vlan-ids {
              type string;
              description
                "Inner VLAN ID or IDs to filter on";
            }
    
            leaf ether-type {
              type uint16;
              description "Ether-type to filter";
            }
    
            leaf cos {
              type uint8 {
                range "0..7";
              }
              description
                "Class of service to filter on";
            }
    
            leaf llc-oui {
              type uint32 {
                range "0..16777215";
              }
              description "LLC-OUI to filter on";
            }
    
            leaf timeout {
              type uint32 {
                range "0..604800";
              }
              description
                "Loopback duration in seconds";
            }
          }
    
          output {
            leaf id {
              type uint32;
              description "Session ID";
            }
          }
        }  // rpc ethernet-loopback-start-local
    
        rpc ethernet-loopback-stop-local {
          description
            "Stop a local ethernet loopback session";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which the loopback session is running";
            }
    
            leaf id {
              type uint32;
              mandatory true;
              description
                "ID of session to stop";
            }
          }
        }  // rpc ethernet-loopback-stop-local
    
        rpc ethernet-loopback-extend-local {
          description
            "Extend a local ethernet loopback session";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which the loopback session is running";
            }
    
            leaf id {
              type uint32;
              mandatory true;
              description
                "ID of session to extend";
            }
    
            leaf timeout {
              type uint32 {
                range "0..604800";
              }
              description
                "Loopback duration in seconds";
            }
          }
        }  // rpc ethernet-loopback-extend-local
    
        rpc ethernet-loopback-start-remote {
          description
            "Start a remote ethernet loopback session";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which to send the request";
            }
    
            uses EDPL-REMOTE-TARGET-TYPE;
    
            uses EDPL-CFM-INFO-TYPE;
    
            uses EDPL-REMOTE-VLAN-TYPE;
    
            leaf timeout {
              type uint32 {
                range "1..604800";
              }
              mandatory true;
              description
                "Loopback duration in seconds";
            }
          }
        }  // rpc ethernet-loopback-start-remote
    
        rpc ethernet-loopback-stop-remote {
          description
            "Stop a remote ethernet loopback session";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which to send the request";
            }
    
            uses EDPL-REMOTE-TARGET-TYPE;
    
            uses EDPL-CFM-INFO-TYPE;
    
            uses EDPL-REMOTE-VLAN-TYPE;
          }
        }  // rpc ethernet-loopback-stop-remote
    
        rpc ethernet-loopback-extend-remote {
          description
            "Extend a remote ethernet loopback session";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which to send the request";
            }
    
            uses EDPL-REMOTE-TARGET-TYPE;
    
            uses EDPL-CFM-INFO-TYPE;
    
            uses EDPL-REMOTE-VLAN-TYPE;
    
            leaf timeout {
              type uint32 {
                range "1..604800";
              }
              mandatory true;
              description
                "Loopback duration in seconds";
            }
          }
        }  // rpc ethernet-loopback-extend-remote
    
        rpc ethernet-loopback-get-state-remote {
          description
            "Retrieve the state of a remote ethernet loopback session";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which to send the request";
            }
    
            uses EDPL-REMOTE-TARGET-TYPE;
    
            uses EDPL-CFM-INFO-TYPE;
    
            uses EDPL-REMOTE-VLAN-TYPE;
          }
    
          output {
            uses EDPL-REMOTE-SESSION-LIST-TYPE;
          }
        }  // rpc ethernet-loopback-get-state-remote
    
        rpc ethernet-loopback-discover-remote {
          description
            "Send a discovery request to retrieve information on remote loopback sessions";
          input {
            leaf interface {
              type xr:Interface-name;
              mandatory true;
              description
                "Interface on which to send the request";
            }
    
            uses EDPL-CFM-INFO-TYPE;
    
            uses EDPL-REMOTE-VLAN-TYPE;
          }
    
          output {
            uses EDPL-REMOTE-SESSION-LIST-TYPE;
          }
        }  // rpc ethernet-loopback-discover-remote
      }  // module Cisco-IOS-XR-ethernet-loopback-act
    

© 2024 YumaWorks, Inc. All rights reserved.