blob: e75d218d36a4ef460d0fd6d553dc5f56c25efdb2 [file] [log] [blame]
Rich Lane883919c2013-05-09 17:53:18 -07001// Copyright 2013, Big Switch Networks, Inc.
2//
3// LoxiGen is licensed under the Eclipse Public License, version 1.0 (EPL), with
4// the following special exception:
5//
6// LOXI Exception
7//
8// As a special exception to the terms of the EPL, you may distribute libraries
9// generated by LoxiGen (LoxiGen Libraries) under the terms of your choice, provided
10// that copyright and licensing notices generated by LoxiGen are not altered or removed
11// from the LoxiGen Libraries and the notice provided below is (i) included in
12// the LoxiGen Libraries, if distributed in source code form and (ii) included in any
13// documentation for the LoxiGen Libraries, if distributed in binary form.
14//
15// Notice: "Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler."
16//
17// You may not use this file except in compliance with the EPL or LOXI Exception. You may obtain
18// a copy of the EPL at:
19//
20// http://www.eclipse.org/legal/epl-v10.html
21//
22// Unless required by applicable law or agreed to in writing, software
23// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
24// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
25// EPL for the specific language governing permissions and limitations
26// under the EPL.
27//
28// Also derived from the OpenFlow header files which have these copyrights:
29// Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
30// Copyright (c) 2011, 2012 Open Networking Foundation
31
32#version 3
33#version 4
34
Rich Lane883919c2013-05-09 17:53:18 -070035struct of_oxm {
36 uint32_t type_len;
37};
38
Rich Lanee9c37db2013-06-21 18:30:24 -070039struct of_oxm_arp_op : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070040 uint32_t type_len == 0x80002a02;
Rich Lane883919c2013-05-09 17:53:18 -070041 uint16_t value;
42};
43
Rich Lanee9c37db2013-06-21 18:30:24 -070044struct of_oxm_arp_op_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070045 uint32_t type_len == 0x80002b04;
Rich Lane883919c2013-05-09 17:53:18 -070046 uint16_t value;
47 uint16_t value_mask;
48};
49
Rich Lanee9c37db2013-06-21 18:30:24 -070050struct of_oxm_arp_sha : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070051 uint32_t type_len == 0x80003006;
Rich Lane883919c2013-05-09 17:53:18 -070052 of_mac_addr_t value;
53};
54
Rich Lanee9c37db2013-06-21 18:30:24 -070055struct of_oxm_arp_sha_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070056 uint32_t type_len == 0x8000310c;
Rich Lane883919c2013-05-09 17:53:18 -070057 of_mac_addr_t value;
58 of_mac_addr_t value_mask;
59};
60
Rich Lanee9c37db2013-06-21 18:30:24 -070061struct of_oxm_arp_spa : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070062 uint32_t type_len == 0x80002c04;
Rich Lane883919c2013-05-09 17:53:18 -070063 uint32_t value;
64};
65
Rich Lanee9c37db2013-06-21 18:30:24 -070066struct of_oxm_arp_spa_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070067 uint32_t type_len == 0x80002d08;
Rich Lane883919c2013-05-09 17:53:18 -070068 uint32_t value;
69 uint32_t value_mask;
70};
71
Rich Lanee9c37db2013-06-21 18:30:24 -070072struct of_oxm_arp_tha : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070073 uint32_t type_len == 0x80003206;
Rich Lane883919c2013-05-09 17:53:18 -070074 of_mac_addr_t value;
75};
76
Rich Lanee9c37db2013-06-21 18:30:24 -070077struct of_oxm_arp_tha_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070078 uint32_t type_len == 0x8000330c;
Rich Lane883919c2013-05-09 17:53:18 -070079 of_mac_addr_t value;
80 of_mac_addr_t value_mask;
81};
82
Rich Lanee9c37db2013-06-21 18:30:24 -070083struct of_oxm_arp_tpa : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070084 uint32_t type_len == 0x80002e04;
Rich Lane883919c2013-05-09 17:53:18 -070085 uint32_t value;
86};
87
Rich Lanee9c37db2013-06-21 18:30:24 -070088struct of_oxm_arp_tpa_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070089 uint32_t type_len == 0x80002f08;
Rich Lane883919c2013-05-09 17:53:18 -070090 uint32_t value;
91 uint32_t value_mask;
92};
93
Rich Lanee9c37db2013-06-21 18:30:24 -070094struct of_oxm_eth_dst : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -070095 uint32_t type_len == 0x80000606;
Rich Lane883919c2013-05-09 17:53:18 -070096 of_mac_addr_t value;
97};
98
Rich Lanee9c37db2013-06-21 18:30:24 -070099struct of_oxm_eth_dst_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700100 uint32_t type_len == 0x8000070c;
Rich Lane883919c2013-05-09 17:53:18 -0700101 of_mac_addr_t value;
102 of_mac_addr_t value_mask;
103};
104
Rich Lanee9c37db2013-06-21 18:30:24 -0700105struct of_oxm_eth_src : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700106 uint32_t type_len == 0x80000806;
Rich Lane883919c2013-05-09 17:53:18 -0700107 of_mac_addr_t value;
108};
109
Rich Lanee9c37db2013-06-21 18:30:24 -0700110struct of_oxm_eth_src_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700111 uint32_t type_len == 0x8000090c;
Rich Lane883919c2013-05-09 17:53:18 -0700112 of_mac_addr_t value;
113 of_mac_addr_t value_mask;
114};
115
Rich Lanee9c37db2013-06-21 18:30:24 -0700116struct of_oxm_eth_type : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700117 uint32_t type_len == 0x80000a02;
Rich Lane883919c2013-05-09 17:53:18 -0700118 uint16_t value;
119};
120
Rich Lanee9c37db2013-06-21 18:30:24 -0700121struct of_oxm_eth_type_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700122 uint32_t type_len == 0x80000b04;
Rich Lane883919c2013-05-09 17:53:18 -0700123 uint16_t value;
124 uint16_t value_mask;
125};
126
Rich Lanee9c37db2013-06-21 18:30:24 -0700127struct of_oxm_icmpv4_code : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700128 uint32_t type_len == 0x80002801;
Rich Lane883919c2013-05-09 17:53:18 -0700129 uint8_t value;
130};
131
Rich Lanee9c37db2013-06-21 18:30:24 -0700132struct of_oxm_icmpv4_code_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700133 uint32_t type_len == 0x80002902;
Rich Lane883919c2013-05-09 17:53:18 -0700134 uint8_t value;
135 uint8_t value_mask;
136};
137
Rich Lanee9c37db2013-06-21 18:30:24 -0700138struct of_oxm_icmpv4_type : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700139 uint32_t type_len == 0x80002601;
Rich Lane883919c2013-05-09 17:53:18 -0700140 uint8_t value;
141};
142
Rich Lanee9c37db2013-06-21 18:30:24 -0700143struct of_oxm_icmpv4_type_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700144 uint32_t type_len == 0x80002702;
Rich Lane883919c2013-05-09 17:53:18 -0700145 uint8_t value;
146 uint8_t value_mask;
147};
148
Rich Lanee9c37db2013-06-21 18:30:24 -0700149struct of_oxm_icmpv6_code : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700150 uint32_t type_len == 0x80003c01;
Rich Lane883919c2013-05-09 17:53:18 -0700151 uint8_t value;
152};
153
Rich Lanee9c37db2013-06-21 18:30:24 -0700154struct of_oxm_icmpv6_code_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700155 uint32_t type_len == 0x80003d02;
Rich Lane883919c2013-05-09 17:53:18 -0700156 uint8_t value;
157 uint8_t value_mask;
158};
159
Rich Lanee9c37db2013-06-21 18:30:24 -0700160struct of_oxm_icmpv6_type : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700161 uint32_t type_len == 0x80003a01;
Rich Lane883919c2013-05-09 17:53:18 -0700162 uint8_t value;
163};
164
Rich Lanee9c37db2013-06-21 18:30:24 -0700165struct of_oxm_icmpv6_type_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700166 uint32_t type_len == 0x80003b02;
Rich Lane883919c2013-05-09 17:53:18 -0700167 uint8_t value;
168 uint8_t value_mask;
169};
170
Rich Lanee9c37db2013-06-21 18:30:24 -0700171struct of_oxm_in_phy_port : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700172 uint32_t type_len == 0x80000204;
Rich Lane883919c2013-05-09 17:53:18 -0700173 of_port_no_t value;
174};
175
Rich Lanee9c37db2013-06-21 18:30:24 -0700176struct of_oxm_in_phy_port_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700177 uint32_t type_len == 0x80000308;
Rich Lane883919c2013-05-09 17:53:18 -0700178 of_port_no_t value;
179 of_port_no_t value_mask;
180};
181
Rich Lanee9c37db2013-06-21 18:30:24 -0700182struct of_oxm_in_port : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700183 uint32_t type_len == 0x80000004;
Rich Lane883919c2013-05-09 17:53:18 -0700184 of_port_no_t value;
185};
186
Rich Lanee9c37db2013-06-21 18:30:24 -0700187struct of_oxm_in_port_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700188 uint32_t type_len == 0x80000108;
Rich Lane883919c2013-05-09 17:53:18 -0700189 of_port_no_t value;
190 of_port_no_t value_mask;
191};
192
Rich Lanee9c37db2013-06-21 18:30:24 -0700193struct of_oxm_ip_dscp : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700194 uint32_t type_len == 0x80001001;
Rich Lane883919c2013-05-09 17:53:18 -0700195 uint8_t value;
196};
197
Rich Lanee9c37db2013-06-21 18:30:24 -0700198struct of_oxm_ip_dscp_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700199 uint32_t type_len == 0x80001102;
Rich Lane883919c2013-05-09 17:53:18 -0700200 uint8_t value;
201 uint8_t value_mask;
202};
203
Rich Lanee9c37db2013-06-21 18:30:24 -0700204struct of_oxm_ip_ecn : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700205 uint32_t type_len == 0x80001201;
Rich Lane883919c2013-05-09 17:53:18 -0700206 uint8_t value;
207};
208
Rich Lanee9c37db2013-06-21 18:30:24 -0700209struct of_oxm_ip_ecn_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700210 uint32_t type_len == 0x80001302;
Rich Lane883919c2013-05-09 17:53:18 -0700211 uint8_t value;
212 uint8_t value_mask;
213};
214
Rich Lanee9c37db2013-06-21 18:30:24 -0700215struct of_oxm_ip_proto : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700216 uint32_t type_len == 0x80001401;
Rich Lane883919c2013-05-09 17:53:18 -0700217 uint8_t value;
218};
219
Rich Lanee9c37db2013-06-21 18:30:24 -0700220struct of_oxm_ip_proto_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700221 uint32_t type_len == 0x80001502;
Rich Lane883919c2013-05-09 17:53:18 -0700222 uint8_t value;
223 uint8_t value_mask;
224};
225
Rich Lanee9c37db2013-06-21 18:30:24 -0700226struct of_oxm_ipv4_dst : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700227 uint32_t type_len == 0x80001804;
Andreas Wundsamb566a162013-07-18 19:30:23 -0700228 of_ipv4_t value;
Rich Lane883919c2013-05-09 17:53:18 -0700229};
230
Rich Lanee9c37db2013-06-21 18:30:24 -0700231struct of_oxm_ipv4_dst_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700232 uint32_t type_len == 0x80001908;
Andreas Wundsamb566a162013-07-18 19:30:23 -0700233 of_ipv4_t value;
234 of_ipv4_t value_mask;
Rich Lane883919c2013-05-09 17:53:18 -0700235};
236
Rich Lanee9c37db2013-06-21 18:30:24 -0700237struct of_oxm_ipv4_src : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700238 uint32_t type_len == 0x80001604;
Andreas Wundsamb566a162013-07-18 19:30:23 -0700239 of_ipv4_t value;
Rich Lane883919c2013-05-09 17:53:18 -0700240};
241
Rich Lanee9c37db2013-06-21 18:30:24 -0700242struct of_oxm_ipv4_src_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700243 uint32_t type_len == 0x80001708;
Andreas Wundsamb566a162013-07-18 19:30:23 -0700244 of_ipv4_t value;
245 of_ipv4_t value_mask;
Rich Lane883919c2013-05-09 17:53:18 -0700246};
247
Rich Lanee9c37db2013-06-21 18:30:24 -0700248struct of_oxm_ipv6_dst : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700249 uint32_t type_len == 0x80003610;
Rich Lane883919c2013-05-09 17:53:18 -0700250 of_ipv6_t value;
251};
252
Rich Lanee9c37db2013-06-21 18:30:24 -0700253struct of_oxm_ipv6_dst_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700254 uint32_t type_len == 0x80003720;
Rich Lane883919c2013-05-09 17:53:18 -0700255 of_ipv6_t value;
256 of_ipv6_t value_mask;
257};
258
Rich Lanee9c37db2013-06-21 18:30:24 -0700259struct of_oxm_ipv6_flabel : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700260 uint32_t type_len == 0x80003804;
Rich Lane883919c2013-05-09 17:53:18 -0700261 uint32_t value;
262};
263
Rich Lanee9c37db2013-06-21 18:30:24 -0700264struct of_oxm_ipv6_flabel_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700265 uint32_t type_len == 0x80003908;
Rich Lane883919c2013-05-09 17:53:18 -0700266 uint32_t value;
267 uint32_t value_mask;
268};
269
Rich Lanee9c37db2013-06-21 18:30:24 -0700270struct of_oxm_ipv6_nd_sll : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700271 uint32_t type_len == 0x80004006;
Rich Lane883919c2013-05-09 17:53:18 -0700272 of_mac_addr_t value;
273};
274
Rich Lanee9c37db2013-06-21 18:30:24 -0700275struct of_oxm_ipv6_nd_sll_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700276 uint32_t type_len == 0x8000410c;
Rich Lane883919c2013-05-09 17:53:18 -0700277 of_mac_addr_t value;
278 of_mac_addr_t value_mask;
279};
280
Rich Lanee9c37db2013-06-21 18:30:24 -0700281struct of_oxm_ipv6_nd_target : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700282 uint32_t type_len == 0x80003e10;
Rich Lane883919c2013-05-09 17:53:18 -0700283 of_ipv6_t value;
284};
285
Rich Lanee9c37db2013-06-21 18:30:24 -0700286struct of_oxm_ipv6_nd_target_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700287 uint32_t type_len == 0x80003f20;
Rich Lane883919c2013-05-09 17:53:18 -0700288 of_ipv6_t value;
289 of_ipv6_t value_mask;
290};
291
Rich Lanee9c37db2013-06-21 18:30:24 -0700292struct of_oxm_ipv6_nd_tll : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700293 uint32_t type_len == 0x80004206;
Rich Lane883919c2013-05-09 17:53:18 -0700294 of_mac_addr_t value;
295};
296
Rich Lanee9c37db2013-06-21 18:30:24 -0700297struct of_oxm_ipv6_nd_tll_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700298 uint32_t type_len == 0x8000430c;
Rich Lane883919c2013-05-09 17:53:18 -0700299 of_mac_addr_t value;
300 of_mac_addr_t value_mask;
301};
302
Rich Lanee9c37db2013-06-21 18:30:24 -0700303struct of_oxm_ipv6_src : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700304 uint32_t type_len == 0x80003410;
Rich Lane883919c2013-05-09 17:53:18 -0700305 of_ipv6_t value;
306};
307
Rich Lanee9c37db2013-06-21 18:30:24 -0700308struct of_oxm_ipv6_src_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700309 uint32_t type_len == 0x80003520;
Rich Lane883919c2013-05-09 17:53:18 -0700310 of_ipv6_t value;
311 of_ipv6_t value_mask;
312};
313
Rich Lanee9c37db2013-06-21 18:30:24 -0700314struct of_oxm_metadata : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700315 uint32_t type_len == 0x80000408;
Rich Lane883919c2013-05-09 17:53:18 -0700316 uint64_t value;
317};
318
Rich Lanee9c37db2013-06-21 18:30:24 -0700319struct of_oxm_metadata_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700320 uint32_t type_len == 0x80000510;
Rich Lane883919c2013-05-09 17:53:18 -0700321 uint64_t value;
322 uint64_t value_mask;
323};
324
Rich Lanee9c37db2013-06-21 18:30:24 -0700325struct of_oxm_mpls_label : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700326 uint32_t type_len == 0x80004404;
Rich Lane883919c2013-05-09 17:53:18 -0700327 uint32_t value;
328};
329
Rich Lanee9c37db2013-06-21 18:30:24 -0700330struct of_oxm_mpls_label_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700331 uint32_t type_len == 0x80004508;
Rich Lane883919c2013-05-09 17:53:18 -0700332 uint32_t value;
333 uint32_t value_mask;
334};
335
Rich Lanee9c37db2013-06-21 18:30:24 -0700336struct of_oxm_mpls_tc : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700337 uint32_t type_len == 0x80004601;
Rich Lane883919c2013-05-09 17:53:18 -0700338 uint8_t value;
339};
340
Rich Lanee9c37db2013-06-21 18:30:24 -0700341struct of_oxm_mpls_tc_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700342 uint32_t type_len == 0x80004702;
Rich Lane883919c2013-05-09 17:53:18 -0700343 uint8_t value;
344 uint8_t value_mask;
345};
346
Rich Lanee9c37db2013-06-21 18:30:24 -0700347struct of_oxm_sctp_dst : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700348 uint32_t type_len == 0x80002402;
Rich Lane883919c2013-05-09 17:53:18 -0700349 uint16_t value;
350};
351
Rich Lanee9c37db2013-06-21 18:30:24 -0700352struct of_oxm_sctp_dst_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700353 uint32_t type_len == 0x80002504;
Rich Lane883919c2013-05-09 17:53:18 -0700354 uint16_t value;
355 uint16_t value_mask;
356};
357
Rich Lanee9c37db2013-06-21 18:30:24 -0700358struct of_oxm_sctp_src : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700359 uint32_t type_len == 0x80002202;
Rich Lane883919c2013-05-09 17:53:18 -0700360 uint16_t value;
361};
362
Rich Lanee9c37db2013-06-21 18:30:24 -0700363struct of_oxm_sctp_src_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700364 uint32_t type_len == 0x80002304;
Rich Lane883919c2013-05-09 17:53:18 -0700365 uint16_t value;
366 uint16_t value_mask;
367};
368
Rich Lanee9c37db2013-06-21 18:30:24 -0700369struct of_oxm_tcp_dst : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700370 uint32_t type_len == 0x80001c02;
Rich Lane883919c2013-05-09 17:53:18 -0700371 uint16_t value;
372};
373
Rich Lanee9c37db2013-06-21 18:30:24 -0700374struct of_oxm_tcp_dst_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700375 uint32_t type_len == 0x80001d04;
Rich Lane883919c2013-05-09 17:53:18 -0700376 uint16_t value;
377 uint16_t value_mask;
378};
379
Rich Lanee9c37db2013-06-21 18:30:24 -0700380struct of_oxm_tcp_src : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700381 uint32_t type_len == 0x80001a02;
Rich Lane883919c2013-05-09 17:53:18 -0700382 uint16_t value;
383};
384
Rich Lanee9c37db2013-06-21 18:30:24 -0700385struct of_oxm_tcp_src_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700386 uint32_t type_len == 0x80001b04;
Rich Lane883919c2013-05-09 17:53:18 -0700387 uint16_t value;
388 uint16_t value_mask;
389};
390
Rich Lanee9c37db2013-06-21 18:30:24 -0700391struct of_oxm_udp_dst : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700392 uint32_t type_len == 0x80002002;
Rich Lane883919c2013-05-09 17:53:18 -0700393 uint16_t value;
394};
395
Rich Lanee9c37db2013-06-21 18:30:24 -0700396struct of_oxm_udp_dst_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700397 uint32_t type_len == 0x80002104;
Rich Lane883919c2013-05-09 17:53:18 -0700398 uint16_t value;
399 uint16_t value_mask;
400};
401
Rich Lanee9c37db2013-06-21 18:30:24 -0700402struct of_oxm_udp_src : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700403 uint32_t type_len == 0x80001e02;
Rich Lane883919c2013-05-09 17:53:18 -0700404 uint16_t value;
405};
406
Rich Lanee9c37db2013-06-21 18:30:24 -0700407struct of_oxm_udp_src_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700408 uint32_t type_len == 0x80001f04;
Rich Lane883919c2013-05-09 17:53:18 -0700409 uint16_t value;
410 uint16_t value_mask;
411};
412
Rich Lanee9c37db2013-06-21 18:30:24 -0700413struct of_oxm_vlan_pcp : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700414 uint32_t type_len == 0x80000e01;
Rich Lane883919c2013-05-09 17:53:18 -0700415 uint8_t value;
416};
417
Rich Lanee9c37db2013-06-21 18:30:24 -0700418struct of_oxm_vlan_pcp_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700419 uint32_t type_len == 0x80000f02;
Rich Lane883919c2013-05-09 17:53:18 -0700420 uint8_t value;
421 uint8_t value_mask;
422};
423
Rich Lanee9c37db2013-06-21 18:30:24 -0700424struct of_oxm_vlan_vid : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700425 uint32_t type_len == 0x80000c02;
Rich Lane883919c2013-05-09 17:53:18 -0700426 uint16_t value;
427};
428
Rich Lanee9c37db2013-06-21 18:30:24 -0700429struct of_oxm_vlan_vid_masked : of_oxm {
Rich Lane31b87142013-05-09 22:05:42 -0700430 uint32_t type_len == 0x80000d04;
Rich Lane883919c2013-05-09 17:53:18 -0700431 uint16_t value;
432 uint16_t value_mask;
433};