packet-fields

  • Version: 2014-06-25

    packet-fields@2014-06-25


    
      module packet-fields {
    
        yang-version 1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:packet-fields";
    
        prefix packet-fields;
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
    
        revision "2014-06-25" {
          description
            "Initial version of packet fields used by access-lists";
        }
    
    
        grouping acl-transport-header-fields {
          description "Transport header fields";
          container source-port-range {
            description
              "inclusive range of source ports";
            leaf lower-port {
              type inet:port-number;
              mandatory true;
            }
    
            leaf upper-port {
              type inet:port-number;
            }
          }  // container source-port-range
    
          container destination-port-range {
            description
              "inclusive range of destination ports";
            leaf lower-port {
              type inet:port-number;
              mandatory true;
            }
    
            leaf upper-port {
              type inet:port-number;
            }
          }  // container destination-port-range
        }  // grouping acl-transport-header-fields
    
        grouping acl-ip-header-fields {
          description
            "Header fields common to ipv4 and ipv6";
          uses acl-transport-header-fields;
    
          leaf dscp {
            type inet:dscp;
          }
    
          leaf ip-protocol {
            type uint8;
          }
        }  // grouping acl-ip-header-fields
    
        grouping acl-ipv4-header-fields {
          description "fields in IPv4 header";
          leaf destination-ipv4-address {
            type inet:ipv4-prefix;
          }
    
          leaf source-ipv4-address {
            type inet:ipv4-prefix;
          }
        }  // grouping acl-ipv4-header-fields
    
        grouping acl-ipv6-header-fields {
          description "fields in IPv6 header";
          leaf destination-ipv6-address {
            type inet:ipv6-prefix;
          }
    
          leaf source-ipv6-address {
            type inet:ipv6-prefix;
          }
    
          leaf flow-label {
            type inet:ipv6-flow-label;
          }
        }  // grouping acl-ipv6-header-fields
    
        grouping acl-eth-header-fields {
          description
            "fields in ethernet header";
          leaf destination-mac-address {
            type yang:mac-address;
          }
    
          leaf destination-mac-address-mask {
            type yang:mac-address;
          }
    
          leaf source-mac-address {
            type yang:mac-address;
          }
    
          leaf source-mac-address-mask {
            type yang:mac-address;
          }
        }  // grouping acl-eth-header-fields
    
        grouping timerange {
          description
            "Define time range entries to restrict
    the access. The time range is identified by a name
    and then referenced by a function, so that those
    time restrictions are imposed on the function itself.";
          container absolute {
            description
              "Absolute time and date that
    the associated function starts
    going into effect.";
            leaf start {
              type yang:date-and-time;
              description "Start time and date";
            }
    
            leaf end {
              type yang:date-and-time;
              description
                "Absolute end time and date";
            }
    
            leaf active {
              type boolean;
              default "true";
              description
                "Specify the associated function
    active or inactive state when
    starts going into effect";
            }
          }  // container absolute
        }  // grouping timerange
    
        grouping metadata {
          description
            "Fields associated with a packet but not in the header";
          leaf input-interface {
            type string;
            description
              "Packet was received on this interface";
          }
    
          uses timerange;
        }  // grouping metadata
      }  // module packet-fields
    

© 2023 YumaWorks, Inc. All rights reserved.