This module contains a collection of YANG definitions for Cisco IOS-XR linux-xlnc package configuration. This module contains d...
Version: 2019-04-05
module Cisco-IOS-XR-linux-xlnc-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-linux-xlnc-cfg"; prefix linux-xlnc-cfg; import ietf-inet-types { prefix inet; } import Cisco-IOS-XR-types { prefix xr; } import cisco-semver { prefix semver; } 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 linux-xlnc package configuration. This module contains definitions for the following management objects: linux-networking: Linux Networking interface configuration Copyright (c) 2013-2019 by Cisco Systems, Inc. All rights reserved."; revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2015-11-09" { description "IOS XR 6.0 revision."; } semver:module-version "2.0.0"; typedef Addr-family { type enumeration { enum "ipv4" { value 412; description "Internet Protocol version 4, RFC 791"; } enum "ipv6" { value 413; description "Internet Protocol version 6, RFC 8200"; } } description "Addr family"; } typedef L4-proto-family { type enumeration { enum "tcp" { value 104; description "Transmission Control Protocol, RFC 793"; } enum "udp" { value 105; description "User Datagram Protocol, RFC 768"; } } description "L4 proto family"; } typedef Statistics-sync-interval { type enumeration { enum "5s" { value 2; description "5 seconds"; } enum "10s" { value 3; description "10 seconds"; } enum "30s" { value 4; description "30 seconds"; } enum "60s" { value 5; description "60 seconds"; } } description "Statistics sync interval"; } typedef Xlnc-sync-dir { type enumeration { enum "xr-to-linux" { value 0; description "Set direction to be from XR to Linux"; } enum "linux-to-xr" { value 1; description "Set direction to be from Linux to XR"; } } description "Xlnc sync dir"; } typedef Xlnc-protection-action { type enumeration { enum "permit" { value 7926; description "Allow traffic"; } enum "deny" { value 7927; description "Deny traffic"; } } description "Xlnc protection action"; } container linux-networking { description "Linux Networking interface configuration"; container exposed-interfaces { description "Configuration for exposed interfaces"; list exposed-interface { key "interface-name"; description "Configuration for a single exposed interface"; container statistics-synchronization { presence "Indicates a statistics-synchronization node is configured."; description "Configure synchronization of this interface's statistics between IOS-XR and Linux"; leaf direction { type Xlnc-sync-dir; mandatory true; description "Specify the direction in which statistics sychronization should be performed. Currently the only supported value is FromXR"; } leaf interval { type Statistics-sync-interval; mandatory true; description "Interval how often statistics sychronization takes place"; } } // container statistics-synchronization leaf exposed-interface-sync-direction { type Xlnc-sync-dir; description "Synchronization direction for an exposed interface."; } leaf interface-name { type xr:Interface-name; description "Interface name"; } } // list exposed-interface } // container exposed-interfaces container statistics-synchronization { presence "Indicates a statistics-synchronization node is configured."; description "Configure synchronization of interface statistics between IOS-XR and Linux"; leaf direction { type Xlnc-sync-dir; mandatory true; description "Specify the direction in which statistics sychronization should be performed. Currently the only supported value is FromXR"; } leaf interval { type Statistics-sync-interval; mandatory true; description "Interval how often statistics sychronization takes place"; } } // container statistics-synchronization container vrf-names { description "Table of VRF names"; list vrf-name { key "vrf-name"; description "VRF name"; container address-families { description "Table of address families"; list address-family { key "address-family"; description "IP address family"; container traffic-protection { description "Traffic Protection configuration"; container service-protocol-local-port-nums { description "Container for Traffic Protection Services"; grouping SERVICE-CONTENT { description "SERVICE CONTENT"; container rules-table { description "Container for Traffic Protection Rule"; grouping RULE-CONTENT { description "RULE CONTENT"; leaf rule-action { type Xlnc-protection-action; mandatory true; description "rule action"; } } // grouping RULE-CONTENT grouping REMOTE-ADDRESS-LEAF { description "REMOTE ADDRESS LEAF"; leaf remote-address { type inet:ip-prefix; description "remote prefix/length"; } } // grouping REMOTE-ADDRESS-LEAF grouping LOCAL-ADDRESS-LEAF { description "LOCAL ADDRESS LEAF"; leaf local-address { type inet:ip-prefix; description "local prefix/length"; } } // grouping LOCAL-ADDRESS-LEAF grouping INTERFACE-NAME-LEAF { description "INTERFACE NAME LEAF"; leaf interface-name { type xr:Interface-name; description "interface name"; } } // grouping INTERFACE-NAME-LEAF list rule-local-address { key "local-address"; description "Represents a single Traffic Protection Rule, defining an exception to the parent Service's default action."; uses LOCAL-ADDRESS-LEAF; uses RULE-CONTENT; } // list rule-local-address list rule-interface-name { key "interface-name"; description "Represents a single Traffic Protection Rule, defining an exception to the parent Service's default action."; uses INTERFACE-NAME-LEAF; uses RULE-CONTENT; } // list rule-interface-name list rule-remote-address { key "remote-address"; description "Represents a single Traffic Protection Rule, defining an exception to the parent Service's default action."; uses REMOTE-ADDRESS-LEAF; uses RULE-CONTENT; } // list rule-remote-address list rule-remote-address-local-address { key "remote-address local-address"; description "Represents a single Traffic Protection Rule, defining an exception to the parent Service's default action."; uses REMOTE-ADDRESS-LEAF; uses LOCAL-ADDRESS-LEAF; uses RULE-CONTENT; } // list rule-remote-address-local-address list rule-remote-address-interface-name { key "remote-address interface-name"; description "Represents a single Traffic Protection Rule, defining an exception to the parent Service's default action."; uses REMOTE-ADDRESS-LEAF; uses INTERFACE-NAME-LEAF; uses RULE-CONTENT; } // list rule-remote-address-interface-name list rule-local-address-interface-name { key "local-address interface-name"; description "Represents a single Traffic Protection Rule, defining an exception to the parent Service's default action."; uses LOCAL-ADDRESS-LEAF; uses INTERFACE-NAME-LEAF; uses RULE-CONTENT; } // list rule-local-address-interface-name list rule-remote-address-local-address-interface-name { key "remote-address local-address interface-name"; description "Represents a single Traffic Protection Rule, defining an exception to the parent Service's default action."; uses REMOTE-ADDRESS-LEAF; uses LOCAL-ADDRESS-LEAF; uses INTERFACE-NAME-LEAF; uses RULE-CONTENT; } // list rule-remote-address-local-address-interface-name } // container rules-table leaf service-default-action { type Xlnc-protection-action; description "Indicates the default action to be taken for traffic this Traffic Protection Service."; } } // grouping SERVICE-CONTENT list service-protocol-local-port-num { key "protocol local-port-num"; description "A single Traffic Protection Service, defining a L4 protocol and local port value."; leaf protocol { type L4-proto-family; description "L4 protocol"; } leaf local-port-num { type xr:Cisco-ios-xr-port-number; description "Local port number"; } uses SERVICE-CONTENT; } // list service-protocol-local-port-num list service-protocol-local-port-all { key "protocol local-port-all"; description "A single Traffic Protection Service, defining a L4 protocol and local port value."; leaf protocol { type L4-proto-family; description "L4 protocol"; } leaf local-port-all { type xr:Cisco-ios-xr-string; description "All ports"; } uses SERVICE-CONTENT; } // list service-protocol-local-port-all } // container service-protocol-local-port-nums } // container traffic-protection leaf address-family { type Addr-family; description "IP address family"; } } // list address-family } // container address-families leaf vrf-name { type xr:Cisco-ios-xr-string { length "1..32"; } description "VRF name"; } } // list vrf-name } // container vrf-names } // container linux-networking } // module Cisco-IOS-XR-linux-xlnc-cfg
© 2023 YumaWorks, Inc. All rights reserved.