1 module packetcable-match-types
3 namespace "urn:opendaylight:model:match:types";
6 import ietf-inet-types {prefix inet; }
8 revision "2014-01-20" {
9 description "Initial revision of packetcable match types";
13 grouping "ip-match-fields" {
15 description "IP protocol.";
20 description "IP DSCP (6 bits in ToS field).";
25 description "IP ECN (2 bits in ToS field).";
30 description "IP Proto (IPv4 or IPv6 Protocol Number).";
35 grouping "ipv4-match-fields" {
37 description "IPv4 source address.";
38 type inet:ipv4-prefix;
41 leaf ipv4-destination {
42 description "IPv4 destination address.";
43 type inet:ipv4-prefix;
48 grouping "ipv6-match-fields" {
50 description "IPv6 source address.";
51 type inet:ipv6-prefix;
54 leaf ipv6-destination {
55 description "IPv6 destination address.";
56 type inet:ipv6-prefix;
60 description "IPv6 target address for neighbour discovery message";
61 type inet:ipv6-address;
64 container "ipv6-label" {
66 type inet:ipv6-flow-label;
75 description "IPv6 Extension Header field";
81 grouping "udp-match-fields" {
82 leaf udp-source-port {
83 description "UDP source port.";
84 type inet:port-number;
86 leaf udp-destination-port {
87 description "UDP destination port.";
88 type inet:port-number;
92 grouping "tcp-match-fields" {
93 leaf tcp-source-port {
94 description "TCP source port.";
95 type inet:port-number;
97 leaf tcp-destination-port {
98 description "TCP destination port.";
99 type inet:port-number;
103 grouping "udp-match-ranges" {
104 leaf udp-source-port-start {
105 description "UDP source port start.";
106 type inet:port-number;
108 leaf udp-source-port-end {
109 description "UDP source port end.";
110 type inet:port-number;
112 leaf udp-destination-port-start {
113 description "UDP destination port start.";
114 type inet:port-number;
116 leaf udp-destination-port-end {
117 description "UDP destination port end.";
118 type inet:port-number;
122 grouping "tcp-match-ranges" {
123 leaf tcp-source-port-start {
124 description "TCP source port start.";
125 type inet:port-number;
127 leaf tcp-source-port-end {
128 description "TCP source port end.";
129 type inet:port-number;
131 leaf tcp-destination-port-begin {
132 description "TCP destination port begin.";
133 type inet:port-number;
135 leaf tcp-destination-port-end {
136 description "TCP destination port end.";
137 type inet:port-number;
143 container "ip-match" {
144 uses "ip-match-fields";
147 choice layer-3-match {
149 uses "ipv4-match-fields";
152 uses "ipv6-match-fields";
156 description "if tpSrc then tpSrcStart = tpSrcEnd = tpSrc";
157 choice layer-4-match {
159 choice "udp-field-range" {
161 uses "udp-match-fields";
164 uses "udp-match-ranges";
169 choice "tcp-field-range" {
171 uses "tcp-match-fields";
174 uses "tcp-match-ranges";