Cisco-IOS-XR-um-ipv4-prefix-list-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ipv4-prefix-list package configuration. This YANG module...

  • Version: 2020-12-03

    Cisco-IOS-XR-um-ipv4-prefix-list-cfg@2020-12-03


    
      module Cisco-IOS-XR-um-ipv4-prefix-list-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-prefix-list-cfg";
    
        prefix um-ipv4-prefix-list-cfg;
    
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import ietf-inet-types {
          prefix inet;
        }
    
        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 ipv4-prefix-list package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2019-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-12-03" {
          description
            "Limit Remark leaf length.";
        }
    
        revision "2019-06-10" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-04-02" {
          description "Initial version";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        container ipv4 {
          description "IPv4 prefix list";
          container prefix-lists {
            description "Prefix list";
            list prefix-list {
              key "prefix-list-name";
              description "prefix list";
              leaf prefix-list-name {
                type xr:Cisco-ios-xr-string {
                  length "1..32";
                }
                description
                  "Name of a prefix list - maximum 32 characters";
              }
    
              container sequences {
                description "Sequence number";
                list sequence {
                  must
                    "(remark and not(permission) and not(prefix) and not(mask) and not(match-prefix-length/ge or match-prefix-length/le or match-prefix-length/eq)) or (not(remark) and permission and prefix and mask)";
                  key "sequence-number";
                  description "Sequence number";
                  leaf sequence-number {
                    type uint32 {
                      range "1..2147483646";
                    }
                    description
                      "Sequence number";
                  }
    
                  leaf remark {
                    type string {
                      length "0..255";
                    }
                    description
                      "Comments for prefix list";
                  }
    
                  leaf permission {
                    type enumeration {
                      enum "deny" {
                        value 0;
                        description
                          "Specify prefixes to reject";
                      }
                      enum "permit" {
                        value 1;
                        description
                          "Specify prefixes to permit";
                      }
                    }
                    description
                      "specify the type to be either deny (or) permit";
                  }
    
                  leaf prefix {
                    type inet:ipv4-address-no-zone;
                    description
                      "IPv4 address prefix";
                  }
    
                  leaf mask {
                    type inet:ipv4-address-no-zone;
                    description
                      "Mask length of IPv4 address";
                  }
    
                  container match-prefix-length {
                    description
                      "Prefix length to be matched";
                    leaf eq {
                      type uint32 {
                        range "0..32";
                      }
                      must "not(../ge or ../le)";
                      description
                        "Exact prefix length to be matched";
                    }
    
                    leaf ge {
                      type uint32 {
                        range "0..32";
                      }
                      must "not(../eq)";
                      description
                        "Minimum prefix length to be matched";
                    }
    
                    leaf le {
                      type uint32 {
                        range "0..32";
                      }
                      must "not(../eq)";
                      description
                        "Maximum prefix length to be matched";
                    }
                  }  // container match-prefix-length
                }  // list sequence
              }  // container sequences
            }  // list prefix-list
          }  // container prefix-lists
        }  // container ipv4
      }  // module Cisco-IOS-XR-um-ipv4-prefix-list-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.