netconfcentral logo

openconfig-packet-match-types

HTML

openconfig-packet-match-types@2017-05-26



  module openconfig-packet-match-types {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/packet-match-types";

    prefix oc-pkt-match-types;

    import openconfig-inet-types {
      prefix oc-inet;
    }
    import openconfig-extensions {
      prefix oc-ext;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "This module defines common types for use in models requiring
    data definitions related to packet matches.";

    revision "2017-05-26" {
      description
        "Separated IP matches into AFs";
      reference
        "1.0.0";

    }

    revision "2016-08-08" {
      description
        "OpenConfig public release";
      reference
        "0.2.0";

    }

    revision "2016-04-27" {
      description "Initial revision";
      reference
        "TBD";

    }

    oc-ext:openconfig-version "1.0.0";

    identity ETHERTYPE {
      base 
      description
        "Base identity for commonly used Ethertype values used
      in packet header matches on Ethernet frames.  The Ethertype
      indicates which protocol is encapsulated in the Ethernet
      payload.";
      reference
        "IEEE 802.3";

    }

    identity ETHERTYPE_IPV4 {
      base ETHERTYPE;
      description "IPv4 protocol (0x0800)";
    }

    identity ETHERTYPE_ARP {
      base ETHERTYPE;
      description
        "Address resolution protocol (0x0806)";
    }

    identity ETHERTYPE_VLAN {
      base ETHERTYPE;
      description
        "VLAN-tagged frame (as defined by IEEE 802.1q) (0x8100). Note
      that this value is also used to represent Shortest Path
      Bridging (IEEE 801.1aq) frames.";
    }

    identity ETHERTYPE_IPV6 {
      base ETHERTYPE;
      description "IPv6 protocol (0x86DD)";
    }

    identity ETHERTYPE_MPLS {
      base ETHERTYPE;
      description "MPLS unicast (0x8847)";
    }

    identity ETHERTYPE_LLDP {
      base ETHERTYPE;
      description
        "Link Layer Discovery Protocol (0x88CC)";
    }

    identity ETHERTYPE_ROCE {
      base ETHERTYPE;
      description
        "RDMA over Converged Ethernet (0x8915)";
    }

    identity IP_PROTOCOL {
      base 
      description
        "Base identity for commonly used IP protocols used in
      packet header matches";
      reference
        "IANA Assigned Internet Protocol Numbers";

    }

    identity IP_TCP {
      base IP_PROTOCOL;
      description
        "Transmission Control Protocol (6)";
    }

    identity IP_UDP {
      base IP_PROTOCOL;
      description
        "User Datagram Protocol (17)";
    }

    identity IP_ICMP {
      base IP_PROTOCOL;
      description
        "Internet Control Message Protocol (1)";
    }

    identity IP_IGMP {
      base IP_PROTOCOL;
      description
        "Internet Group Membership Protocol (2)";
    }

    identity IP_PIM {
      base IP_PROTOCOL;
      description
        "Protocol Independent Multicast (103)";
    }

    identity IP_RSVP {
      base IP_PROTOCOL;
      description
        "Resource Reservation Protocol (46)";
    }

    identity IP_GRE {
      base IP_PROTOCOL;
      description
        "Generic Routing Encapsulation (47)";
    }

    identity IP_AUTH {
      base IP_PROTOCOL;
      description
        "Authentication header, e.g., for IPSEC (51)";
    }

    identity IP_L2TP {
      base IP_PROTOCOL;
      description
        "Layer Two Tunneling Protocol v.3 (115)";
    }

    identity TCP_FLAGS {
      base 
      description
        "Common TCP flags used in packet header matches";
      reference
        "IETF RFC 793 - Transmission Control Protocol
        IETF RFC 3168 - The Addition of Explicit Congestion
        Notification (ECN) to IP";

    }

    identity TCP_SYN {
      base TCP_FLAGS;
      description "TCP SYN flag";
    }

    identity TCP_FIN {
      base TCP_FLAGS;
      description "TCP FIN flag";
    }

    identity TCP_RST {
      base TCP_FLAGS;
      description "TCP RST flag";
    }

    identity TCP_PSH {
      base TCP_FLAGS;
      description "TCP push flag";
    }

    identity TCP_ACK {
      base TCP_FLAGS;
      description "TCP ACK flag";
    }

    identity TCP_URG {
      base TCP_FLAGS;
      description "TCP urgent flag";
    }

    identity TCP_ECE {
      base TCP_FLAGS;
      description
        "TCP ECN-Echo flag.  If the SYN flag is set, indicates that
      the TCP peer is ECN-capable, otherwise indicates that a
      packet with Congestion Experienced flag in the IP header
      is set";
    }

    identity TCP_CWR {
      base TCP_FLAGS;
      description
        "TCP Congestion Window Reduced flag";
    }

    typedef port-num-range {
      type union {
        type string {
          pattern
            '^(6[0-5][0-5][0-3][0-5]|[0-5]?[0-9]?[0-9]?[0-9]?'
              + '[0-9]?)\.\.(6[0-5][0-5][0-3][0-5]|[0-5]?[0-9]?[0-9]?'
              + '[0-9]?[0-9]?)$';
        }
        type oc-inet:port-number;
        type enumeration {
          enum "ANY" {
            value 0;
            description
              "Indicates any valid port number (e.g., wildcard)";
          }
        }
      }
      description
        "Port numbers may be represented as a single value,
      an inclusive range as <lower>..<higher>, or as ANY to
      indicate a wildcard.";
    }

    typedef ip-protocol-type {
      type union {
        type uint8 {
          range "0..254";
        }
        type identityref {
          base IP_PROTOCOL;
        }
      }
      description
        "The IP protocol number may be expressed as a valid protocol
      number (integer) or using a protocol type defined by the
      IP_PROTOCOL identity";
    }

    typedef ethertype-type {
      type union {
        type uint16 {
          range "1..65535";
        }
        type identityref {
          base ETHERTYPE;
        }
      }
      description
        "The Ethertype value may be expressed as a 16-bit number in
      hexadecimal notation, or using a type defined by the
      ETHERTYPE identity";
    }
  }  // module openconfig-packet-match-types

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-packet-match-types
Version 2017-05-26
File openconfig-packet-match-types.yang
  
Prefix oc-pkt-match-types
Namespace http://openconfig.net/yang/packet-match-types
  
Cooked /cookedmodules/openconfig-packet-match-types/2017-05-26
YANG /src/openconfig-packet-match-types@2017-05-26.yang
XSD /xsd/openconfig-packet-match-types@2017-05-26.xsd
  
Abstract This module defines common types for use in models requiring data definitions related to packet matches.
  
Contact
OpenConfig working group
www.openconfig.net

Description

 
This module defines common types for use in models requiring
data definitions related to packet matches.

Typedefs

Typedef Base type Abstract
ethertype-type union The Ethertype value may be expressed as a 16-bit number in hexadecimal notation, or using a type defined by the ETHERTYPE identity
ip-protocol-type union The IP protocol number may be expressed as a valid protocol number (integer) or using a protocol type defined by the IP_PROTOCOL identity
port-num-range union Port numbers may be represented as a single value, an inclusive range as <lower>..<higher>, or as ANY to indicate a wildcard.