All Downloads are FREE. Search and download functionalities are using the official Maven repository.

[email protected] Maven / Gradle / Ivy

There is a newer version: 0.19.0
Show newest version
module nicira-match {
    yang-version 1;

    namespace "urn:opendaylight:openflowjava:nx:match";
    prefix "nicira-match";

    import openflow-extensible-match {prefix ofoxm;}
    import openflow-types {prefix oft;}
    import openflow-augments {prefix aug;}
    import ietf-yang-types {prefix yang; revision-date "2013-07-15";}
    import yang-ext {prefix ext; revision-date "2013-07-09";}
    import ietf-inet-types {prefix inet; revision-date "2013-07-15";}

    description
        "Nicira openflow extensions of match.";

    revision "2014-04-21" {
        description "Initial revision";
    }

    identity nxm-nx-reg {
        base ofoxm:match-field;
    }

    identity nxm-nx-reg0 {
        base nxm-nx-reg;
    }
    identity nxm-nx-reg1 {
        base nxm-nx-reg;
    }
    identity nxm-nx-reg2 {
        base nxm-nx-reg;
    }
    identity nxm-nx-reg3 {
        base nxm-nx-reg;
    }
    identity nxm-nx-reg4 {
        base nxm-nx-reg;
    }
    identity nxm-nx-reg5 {
        base nxm-nx-reg;
    }
    identity nxm-nx-reg6 {
        base nxm-nx-reg;
    }
    identity nxm-nx-reg7 {
        base nxm-nx-reg;
    }
    identity nxm-nx-tun-id {
        base ofoxm:match-field;
    }
    identity nxm-nx-arp-sha {
        base ofoxm:match-field;
    }
    identity nxm-nx-arp-tha {
        base ofoxm:match-field;
    }
    identity nxm-of-arp-op {
        base ofoxm:match-field;
    }
    identity nxm-of-arp-spa {
        base ofoxm:match-field;
    }
    identity nxm-of-arp-tpa {
        base ofoxm:match-field;
    }
    identity nxm-of-in-port {
        base ofoxm:match-field;
    }
    identity nxm-nx-tun-ipv4-dst {
        base ofoxm:match-field;
    }
    identity nxm-nx-tun-ipv4-src {
        base ofoxm:match-field;
    }
    identity nxm-of-eth-src {
        base ofoxm:match-field;
    }
    identity nxm-of-eth-dst {
        base ofoxm:match-field;
    }
    identity nxm-of-eth-type {
        base ofoxm:match-field;
    }
    identity nxm-nx-nsp {
        base ofoxm:match-field;
    }
    identity nxm-nx-nsi {
        base ofoxm:match-field;
    }
    identity nxm-nx-nshc-1 {
        base ofoxm:match-field;
    }
    identity nxm-nx-nshc-2 {
        base ofoxm:match-field;
    }
    identity nxm-nx-nshc-3 {
        base ofoxm:match-field;
    }
    identity nxm-nx-nshc-4 {
        base ofoxm:match-field;
    }
    identity nxm-of-tcp-src {
        base ofoxm:match-field;
    }
    identity nxm-of-tcp-dst {
        base ofoxm:match-field;
    }
    identity nxm-of-udp-src {
        base ofoxm:match-field;
    }
    identity nxm-of-udp-dst {
        base ofoxm:match-field;
    }
    identity nxm-nx-ct-state {
        base ofoxm:match-field;
    }
    identity nxm-nx-ct-zone {
        base ofoxm:match-field;
    }
    identity nxm-of-ip-dst {
        base ofoxm:match-field;
    }
    identity nxm-of-ip-src {
        base ofoxm:match-field;
    }
    identity nxm-of-icmp-type {
        base ofoxm:match-field;
    }
    identity nxm-nx-nsh-flags {
        base ofoxm:match-field;
    }
    identity nxm-nx-nsh-mdtype {
        base ofoxm:match-field;
    }
    identity nxm-nx-nsh-np {
        base ofoxm:match-field;
    }
    identity nxm-nx-nsh-ttl {
        base ofoxm:match-field;
    }
    identity nxm-of-mpls-label {
        base ofoxm:match-field;
    }
    identity nxm-of-metadata {
        base ofoxm:match-field;
    }
    identity nxm-nx-ct-mark {
        base ofoxm:match-field;
    }
    identity nxm-nx-ct-tp-src {
        base ofoxm:match-field;
    }
    identity nxm-nx-ct-tp-dst {
        base ofoxm:match-field;
    }
    identity nxm-nx-pkt-mark {
        base ofoxm:match-field;
    }

    grouping ofj-nxm-nx-match-reg-grouping {
        container reg-values {
            leaf value {
                type uint32;
            }
            leaf mask {
                type uint32;
            }
        }
    }

    grouping ofj-oxm-of-mpls-label-grouping {
        container mpls-label-values {
             leaf mpls-label {
                 type uint32;
             }
        }
    }

    grouping ofj-oxm-of-metadata-grouping {
        container metadata-values {
             leaf metadata {
                 type uint32;
             }
        }
    }

    grouping ofj-nxm-nx-match-tun-id-grouping {
        container tun-id-values {
            leaf value {
                type uint64;
            }
        }
    }

    grouping ofj-nxm-nx-match-arp-sha-grouping {
        container arp-sha-values {
            leaf mac-address {
                type yang:mac-address;
            }
        }
    }

    grouping ofj-nxm-nx-match-arp-tha-grouping {
        container arp-tha-values {
            leaf mac-address {
                type yang:mac-address;
            }
        }
    }

    grouping ofj-nxm-of-match-arp-op-grouping {
        container arp-op-values {
            leaf value {
                type uint16;
            }
        }
    }

    grouping ofj-nxm-of-match-arp-spa-grouping {
        container arp-spa-values {
            leaf value {
                type uint32;
            }
        }
    }

    grouping ofj-nxm-of-match-arp-tpa-grouping {
        container arp-tpa-values {
            leaf value {
                type uint32;
            }
        }
    }

    grouping ofj-nxm-of-in-port-type-grouping {
        container nxm-of-in-port-values {
            leaf value {
                type uint16;
            }
        }
    }

    grouping ofj-nxm-nx-match-tun-ipv4-dst-grouping {
        container tun-ipv4-dst-values {
            leaf value {
                type uint32;
            }
        }
    }

    grouping ofj-nxm-nx-match-tun-ipv4-src-grouping {
        container tun-ipv4-src-values {
            leaf value {
                type uint32;
            }
        }
    }

    grouping ofj-nxm-of-match-eth-src-grouping {
        container eth-src-values {
            leaf mac-address {
                type yang:mac-address;
            }
        }
    }

    grouping ofj-nxm-of-match-eth-dst-grouping {
        container eth-dst-values {
            leaf mac-address {
                type yang:mac-address;
            }
        }
    }

    grouping ofj-nxm-of-match-eth-type-grouping {
        container eth-type-values {
            leaf value {
                type uint16;
            }
        }
    }

    grouping ofj-nxm-nx-match-nsp-grouping {
        container nsp-values {
            leaf nsp {
                type uint32;
            }
            leaf mask {
                type uint32;
            }
        }
    }

    grouping ofj-nxm-nx-match-nsi-grouping {
        container nsi-values {
            leaf nsi {
                type uint8;
            }
            leaf mask {
                type uint8;
            }
        }
    }

    grouping ofj-nxm-nx-match-nshc-grouping {
        leaf nshc {
            type uint32;
        }
        leaf mask {
            type uint32;
        }
    }

    grouping ofj-nxm-nx-match-nshc-1-grouping {
        container nshc-1-values {
            uses ofj-nxm-nx-match-nshc-grouping;
        }
    }

    grouping ofj-nxm-nx-match-nshc-2-grouping {
        container nshc-2-values {
            uses ofj-nxm-nx-match-nshc-grouping;
        }
    }

    grouping ofj-nxm-nx-match-nshc-3-grouping {
        container nshc-3-values {
            uses ofj-nxm-nx-match-nshc-grouping;
        }
    }

    grouping ofj-nxm-nx-match-nshc-4-grouping {
        container nshc-4-values {
            uses ofj-nxm-nx-match-nshc-grouping;
        }
    }

    grouping ofj-nxm-of-match-tcp-src-grouping {
        container tcp-src-values {
            leaf port {
               type inet:port-number;
            }
            leaf mask {
               type uint16;
            }
        }
    }

    grouping ofj-nxm-of-match-tcp-dst-grouping {
        container tcp-dst-values {
            leaf port {
               type inet:port-number;
            }
            leaf mask {
               type uint16;
            }
        }
    }

    grouping ofj-nxm-of-match-udp-src-grouping {
        container udp-src-values {
            leaf port {
               type inet:port-number;
            }
            leaf mask {
               type uint16;
            }
        }
    }

    grouping ofj-nxm-of-match-udp-dst-grouping {
        container udp-dst-values {
            leaf port {
               type inet:port-number;
            }
            leaf mask {
               type uint16;
            }
        }
    }

    grouping ofj-nxm-nx-match-ct-state-grouping{
         container ct-state-values {
            leaf ct-state {
               type uint32;
            }
             leaf mask {
               type uint32;
            }
        }
    }

    grouping ofj-nxm-nx-match-ct-zone-grouping{
         container ct-zone-values {
            leaf ct-zone {
               type uint16;
            }
        }
    }

    grouping ofj-nxm-of-match-ip-dst-grouping {
        container ip-dst-values {
            leaf value {
                type uint32;
            }
        }
    }

    grouping ofj-nxm-of-match-ip-src-grouping {
        container ip-src-values {
            leaf value {
                type uint32;
            }
        }
    }

    grouping ofj-nxm-of-match-icmp-type-grouping {
        container icmp-type-values {
            leaf value {
                type uint8;
            }
        }
    }

    grouping ofj-nxm-nx-match-nsh-flags-grouping {
        container nsh-flags-values {
            leaf nsh-flags {
                type uint8;
            }
            leaf mask {
                type uint8;
            }
        }
    }

    grouping ofj-nxm-nx-match-nsh-mdtype-grouping {
        container nsh-mdtype-values {
            leaf value {
                type uint8;
            }
        }
    }

    grouping ofj-nxm-nx-match-nsh-np-grouping {
        container nsh-np-values {
            leaf value {
                type uint8;
            }
        }
    }

    grouping ofj-nxm-nx-match-nsh-ttl-grouping {
        container nsh-ttl-values {
            leaf nsh-ttl {
                type uint8;
            }
            leaf mask {
                type uint8;
            }
        }
    }

    grouping ofj-nxm-nx-match-ct-mark-grouping {
        container ct-mark-values {
            leaf ct-mark {
               type uint32;
            }
            leaf mask {
               type uint32;
            }
        }
    }

    grouping ofj-nxm-nx-match-ct-tp-src-grouping {
        container ct-tp-src-values {
            leaf ct-tp-src {
               type uint16;
            }
            leaf mask {
               type uint16;
            }
        }
    }

    grouping ofj-nxm-nx-match-ct-tp-dst-grouping {
        container ct-tp-dst-values {
            leaf ct-tp-dst {
               type uint16;
            }
            leaf mask {
               type uint16;
            }
        }
    }

    grouping ofj-nxm-nx-match-pkt-mark-grouping {
        container pkt-mark-values {
            leaf pkt-mark {
               type uint32;
            }
            leaf mask {
               type uint32;
            }
        }
    }

    augment "/ofoxm:oxm-container/ofoxm:match-entry-value" {
        ext:augment-identifier "ofj-aug-nx-match";
        case reg-case-value {
            uses ofj-nxm-nx-match-reg-grouping;
        }
        case tun-id-case-value {
            uses ofj-nxm-nx-match-tun-id-grouping;
        }
        case arp-sha-case-value {
            uses ofj-nxm-nx-match-arp-sha-grouping;
        }
        case arp-tha-case-value {
            uses ofj-nxm-nx-match-arp-tha-grouping;
        }
        case arp-op-case-value {
            uses ofj-nxm-of-match-arp-op-grouping;
        }
        case arp-spa-case-value {
            uses ofj-nxm-of-match-arp-spa-grouping;
        }
        case arp-tpa-case-value {
            uses ofj-nxm-of-match-arp-tpa-grouping;
        }
        case of-in-port-case-value {
            uses ofj-nxm-of-in-port-type-grouping;
        }
        case tun-ipv4-dst-case-value {
            uses ofj-nxm-nx-match-tun-ipv4-dst-grouping;
        }
        case tun-ipv4-src-case-value {
            uses ofj-nxm-nx-match-tun-ipv4-src-grouping;
        }
        case eth-src-case-value {
            uses ofj-nxm-of-match-eth-src-grouping;
        }
        case of-mpls-label-case-value {
            uses ofj-oxm-of-mpls-label-grouping;
        }
        case of-metadata-case-value {
            uses ofj-oxm-of-metadata-grouping;
        }
        case eth-dst-case-value {
            uses ofj-nxm-of-match-eth-dst-grouping;
        }
        case eth-type-case-value {
            uses ofj-nxm-of-match-eth-type-grouping;
        }
        case tcp-src-case-value {
            uses ofj-nxm-of-match-tcp-src-grouping;
        }
        case tcp-dst-case-value {
            uses ofj-nxm-of-match-tcp-dst-grouping;
        }
        case udp-src-case-value {
            uses ofj-nxm-of-match-udp-src-grouping;
        }
        case udp-dst-case-value {
            uses ofj-nxm-of-match-udp-dst-grouping;
        }
        case ct-state-case-value {
            uses ofj-nxm-nx-match-ct-state-grouping;
        }
        case ct-zone-case-value {
            uses ofj-nxm-nx-match-ct-zone-grouping;
        }
        case ip-dst-case-value {
            uses ofj-nxm-of-match-ip-dst-grouping;
        }
        case ip-src-case-value {
            uses ofj-nxm-of-match-ip-src-grouping;
        }
        case icmp-type-case-value {
            uses ofj-nxm-of-match-icmp-type-grouping;
        }
        case ct-mark-case-value {
            uses ofj-nxm-nx-match-ct-mark-grouping;
        }
        case ct-tp-src-case-value {
            uses ofj-nxm-nx-match-ct-tp-src-grouping;
        }
        case ct-tp-dst-case-value {
            uses ofj-nxm-nx-match-ct-tp-dst-grouping;
        }
        case pkt-mark-case-value {
            uses ofj-nxm-nx-match-pkt-mark-grouping;
        }
    }

    augment "/ofoxm:oxm-container/ofoxm:match-entry-value/aug:experimenter-id-case" {
        ext:augment-identifier "ofj-aug-nx-exp-match";
        choice nx-exp-match-entry-value {
            case nsh-flags-case-value {
                uses ofj-nxm-nx-match-nsh-flags-grouping;
            }
            case nsh-mdtype-case-value {
                uses ofj-nxm-nx-match-nsh-mdtype-grouping;
            }
            case nsh-np-case-value {
                uses ofj-nxm-nx-match-nsh-np-grouping;
            }
            case nsp-case-value {
                uses ofj-nxm-nx-match-nsp-grouping;
            }
            case nsi-case-value {
                uses ofj-nxm-nx-match-nsi-grouping;
            }
            case nshc-case-value {
                uses ofj-nxm-nx-match-nshc-grouping;
            }
            case nsh-ttl-case-value {
                uses ofj-nxm-nx-match-nsh-ttl-grouping;
            }
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy