import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
import opendaylight-l2-types {prefix l2t;revision-date "2013-08-27";}
+ import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
revision "2013-10-26" {
description "Initial revision of macth types";
}
-
+
grouping "mac-address-filter" {
leaf address {
mandatory true;
type binary;
}
}
+
+ grouping "of-metadata" {
+ leaf metadata {
+ type uint64;
+ }
+
+ leaf metadata-mask {
+ type binary;
+ }
+ }
/** Match Groupings **/
grouping "ethernet-match-fields" {
mandatory true;
type l2t:ether-type; // Needs to define that as general model
}
+
leaf mask {
type binary;
}
container vlan-id {
description "VLAN id.";
presence "Match field is active and set";
-
+
+ leaf vlan-id-present {
+ type boolean;
+ }
+
leaf vlan-id {
- mandatory true;
type l2t:vlan-id;
}
- leaf mask {
- type binary;
- }
}
leaf vlan-pcp {
description "VLAN priority.";
type uint8;
}
- leaf ip-proto {
- description "IP Proto (IPv4 or IPv6 Protocol Number).";
- type inet:ip-version;
- }
- }
-
+ leaf ip-proto {
+ description "IP Proto (IPv4 or IPv6 Protocol Number).";
+ type inet:ip-version;
+ }
+ }
+
grouping "ipv4-match-fields" {
leaf ipv4-source {
description "IPv4 source address.";
type inet:ipv4-prefix;
}
+
leaf ipv4-destination {
description "IPv4 destination address.";
type inet:ipv4-prefix;
}
+
}
-
+
grouping "ipv6-match-fields" {
leaf ipv6-source {
description "IPv6 source address.";
type inet:ipv6-prefix;
}
-
+
leaf ipv6-destination {
description "IPv6 destination address.";
type inet:ipv6-prefix;
leaf ipv6-nd-target {
description "IPv6 target address for neighbour discovery message";
- type inet:ipv6-prefix;
+ type inet:ipv6-address;
}
- leaf ipv6-flabel {
- type inet:ipv6-flow-label;
+ container "ipv6-label" {
+ leaf ipv6-flabel {
+ type inet:ipv6-flow-label;
+ }
+
+ leaf flabel-mask {
+ type binary;
+ }
}
leaf ipv6-nd-sll {
description "Link layer target address for neighbour discovery message";
type yang:mac-address;
}
-
- leaf ipv6-exthdr {
- description "IPv6 Extension Header field";
- type uint16;
+
+ container "ipv6-ext-header" {
+ leaf ipv6-exthdr {
+ description "IPv6 Extension Header field";
+ type uint16;
+ }
+
+ leaf ipv6-exthdr-mask {
+ type binary;
+ }
}
}
type uint8;
}
- leaf pbb-isid {
- description "I-SID in the first PBB service instance tag";
- type uint32;
- }
-
+ container "pbb" {
+ leaf pbb-isid {
+ description "I-SID in the first PBB service instance tag";
+ type uint32;
+ }
+
+ leaf pbb-mask {
+ type binary;
+ }
+ }
}
grouping "tcp-match-fields" {
grouping match {
leaf in-port {
- type uint32;
+ type inv:node-connector-id;
}
leaf in-phy-port {
- type uint32;
+ type inv:node-connector-id;
}
- leaf metadata {
- type uint64;
+ container "metadata" {
+ uses of-metadata;
}
- leaf tunnel-id {
- description "Metadata associated in the logical port";
- type uint64;
+ container "tunnel" {
+ leaf tunnel-id {
+ description "Metadata associated in the logical port";
+ type uint64;
+ }
+
+ leaf tunnel-mask {
+ type binary;
+ }
}
container "ethernet-match" {