blob: 0dacf16e048a2e78967d5ad0b7310eff8c17ae3e [file] [log] [blame]
Rich Lane1ac43002013-12-03 12:56:35 -08001// Copyright 2013, Big Switch Networks, Inc.
2//
3// LoxiGen is licensed under the Eclipse Public License,
4// version 1.0 (EPL), with the following special exception:
5//
6// LOXI Exception
7//
8// As a special exception to the terms of the EPL, you may
9// distribute libraries generated by LoxiGen (LoxiGen Libraries)
10// under the terms of your choice, provided that copyright and
11// licensing notices generated by LoxiGen are not altered or removed
12// from the LoxiGen Libraries and the notice provided below is (i)
13// included in the LoxiGen Libraries, if distributed in source code
14// form and (ii) included in any documentation for the LoxiGen
15// Libraries, if distributed in binary form.
16//
17// Notice: "Copyright 2013, Big Switch Networks, Inc.
18// This library was generated by the LoxiGen Compiler."
19//
20// You may not use this file except in compliance with the EPL or
21// LOXI Exception. You may obtain a copy of the EPL at:
22//
23// http://www.eclipse.org/legal/epl-v10.html
24//
25// Unless required by applicable law or agreed to in writing,
26// software distributed under the License is distributed on an "AS
27// IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
28// express or implied. See the EPL for the specific language
29// governing permissions and limitations under the EPL.
30
31#version 4
32
33struct of_bsn_tlv_port : of_bsn_tlv {
34 uint16_t type == 0;
35 uint16_t length;
36 of_port_no_t value;
37};
38
39struct of_bsn_tlv_mac : of_bsn_tlv {
40 uint16_t type == 1;
41 uint16_t length;
42 of_mac_addr_t value;
43};
44
45struct of_bsn_tlv_rx_packets : of_bsn_tlv {
46 uint16_t type == 2;
47 uint16_t length;
48 uint64_t value;
49};
50
51struct of_bsn_tlv_tx_packets : of_bsn_tlv {
52 uint16_t type == 3;
53 uint16_t length;
54 uint64_t value;
55};
Rich Lanee052b082014-01-03 16:43:15 -080056
57struct of_bsn_tlv_ipv4 : of_bsn_tlv {
58 uint16_t type == 4;
59 uint16_t length;
60 of_ipv4_t value;
61};
62
63struct of_bsn_tlv_idle_time : of_bsn_tlv {
64 uint16_t type == 5;
65 uint16_t length;
66 uint64_t value; /* Milliseconds */
67};
68
69struct of_bsn_tlv_vlan_vid : of_bsn_tlv {
70 uint16_t type == 6;
71 uint16_t length;
72 uint16_t value;
73};
74
75struct of_bsn_tlv_idle_notification : of_bsn_tlv {
76 uint16_t type == 7;
77 uint16_t length;
78};
Rich Lanea1258452014-01-24 14:25:00 -080079
80struct of_bsn_tlv_idle_timeout : of_bsn_tlv {
81 uint16_t type == 8;
82 uint16_t length;
83 uint32_t value; /* Milliseconds */
84};
85
86struct of_bsn_tlv_unicast_query_timeout : of_bsn_tlv {
87 uint16_t type == 9;
88 uint16_t length;
89 uint32_t value; /* Milliseconds */
90};
91
92struct of_bsn_tlv_broadcast_query_timeout : of_bsn_tlv {
93 uint16_t type == 10;
94 uint16_t length;
95 uint32_t value; /* Milliseconds */
96};
97
98struct of_bsn_tlv_request_packets : of_bsn_tlv {
99 uint16_t type == 11;
100 uint16_t length;
101 uint64_t value;
102};
103
104struct of_bsn_tlv_reply_packets : of_bsn_tlv {
105 uint16_t type == 12;
106 uint16_t length;
107 uint64_t value;
108};
109
110struct of_bsn_tlv_miss_packets : of_bsn_tlv {
111 uint16_t type == 13;
112 uint16_t length;
113 uint64_t value;
114};
Duc Pham9d29ed02014-01-30 16:23:16 -0800115
116struct of_bsn_tlv_circuit_id : of_bsn_tlv {
117 uint16_t type == 14;
118 uint16_t length;
119 of_octets_t value;
120};
Rich Lane5151f772014-03-20 15:32:33 -0700121
122struct of_bsn_tlv_udf_id : of_bsn_tlv {
123 uint16_t type == 15;
124 uint16_t length;
125 uint16_t value;
126};
127
128enum ofp_bsn_udf_anchor(wire_type=uint16_t) {
129 OFP_BSN_UDF_ANCHOR_PACKET_START = 0,
130 OFP_BSN_UDF_ANCHOR_L3_HEADER_START = 1,
131 OFP_BSN_UDF_ANCHOR_L4_HEADER_START = 2,
132};
133
134struct of_bsn_tlv_udf_anchor : of_bsn_tlv {
135 uint16_t type == 16;
136 uint16_t length;
137 enum ofp_bsn_udf_anchor value;
138};
139
140struct of_bsn_tlv_udf_offset : of_bsn_tlv {
141 uint16_t type == 17;
142 uint16_t length;
143 uint16_t value;
144};
145
146struct of_bsn_tlv_udf_length : of_bsn_tlv {
147 uint16_t type == 18;
148 uint16_t length;
149 uint16_t value;
150};
Duc Phamd07e6372014-04-01 17:54:15 -0700151
Duc Phamabe23a42014-04-02 10:39:34 -0700152struct of_bsn_tlv_vrf : of_bsn_tlv {
Duc Phamd07e6372014-04-01 17:54:15 -0700153 uint16_t type == 19;
154 uint16_t length;
Duc Pham48f997f2014-04-02 14:48:19 -0700155 uint32_t value;
Duc Phamd07e6372014-04-01 17:54:15 -0700156};
Duc Pham11b1b9d2014-05-07 16:56:59 -0700157
158struct of_bsn_tlv_queue_id : of_bsn_tlv {
159 uint16_t type == 20;
160 uint16_t length;
161 uint32_t value;
162};
163
164struct of_bsn_tlv_queue_weight : of_bsn_tlv {
165 uint16_t type == 21;
166 uint16_t length;
167 uint32_t value;
168};
Wilson Ng60e38ab2014-05-20 19:24:12 -0700169
Wilson Ng7c45cd52014-05-21 10:45:27 -0700170struct of_bsn_tlv_crc_enabled : of_bsn_tlv {
Wilson Ng60e38ab2014-05-20 19:24:12 -0700171 uint16_t type == 22;
172 uint16_t length;
Wilson Ng7c45cd52014-05-21 10:45:27 -0700173 uint8_t value;
Wilson Ng60e38ab2014-05-20 19:24:12 -0700174};
Rich Lane85b94e82014-09-24 13:24:53 -0700175
176struct of_bsn_tlv_external_ip : of_bsn_tlv {
177 uint16_t type == 23;
178 uint16_t length;
179 of_ipv4_t value;
180};
181
182struct of_bsn_tlv_external_mac : of_bsn_tlv {
183 uint16_t type == 24;
184 uint16_t length;
185 of_mac_addr_t value;
186};
187
188struct of_bsn_tlv_external_netmask : of_bsn_tlv {
189 uint16_t type == 25;
190 uint16_t length;
191 of_ipv4_t value;
192};
193
194struct of_bsn_tlv_external_gateway_ip : of_bsn_tlv {
195 uint16_t type == 26;
196 uint16_t length;
197 of_ipv4_t value;
198};
199
200struct of_bsn_tlv_internal_mac : of_bsn_tlv {
201 uint16_t type == 27;
202 uint16_t length;
203 of_mac_addr_t value;
204};
205
206struct of_bsn_tlv_internal_gateway_mac : of_bsn_tlv {
207 uint16_t type == 28;
208 uint16_t length;
209 of_mac_addr_t value;
210};
Rich Laneb9ccfa12014-10-01 16:25:12 -0700211
212struct of_bsn_tlv_external_gateway_mac : of_bsn_tlv {
213 uint16_t type == 29;
214 uint16_t length;
215 of_mac_addr_t value;
216};