blob: 2805f1e87e6ccf0626f581372ff64c5d7373d89c [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};