blob: d308780974f0247da4d0c21c49e80191616a5836 [file] [log] [blame]
Carmelo Cascone3304fd52017-07-30 00:43:01 -04001{
2 "program" : "empty.p4",
3 "__meta__" : {
4 "version" : [2, 7],
5 "compiler" : "https://github.com/p4lang/p4c"
6 },
7 "header_types" : [
8 {
9 "name" : "scalars_0",
10 "id" : 0,
11 "fields" : []
12 },
13 {
14 "name" : "dummy_t",
15 "id" : 1,
16 "fields" : [
17 ["dummyField", 8, false]
18 ]
19 },
20 {
21 "name" : "standard_metadata",
22 "id" : 2,
23 "fields" : [
24 ["ingress_port", 9, false],
25 ["egress_spec", 9, false],
26 ["egress_port", 9, false],
27 ["clone_spec", 32, false],
28 ["instance_type", 32, false],
29 ["drop", 1, false],
30 ["recirculate_port", 16, false],
31 ["packet_length", 32, false],
32 ["enq_timestamp", 32, false],
33 ["enq_qdepth", 19, false],
34 ["deq_timedelta", 32, false],
35 ["deq_qdepth", 19, false],
36 ["ingress_global_timestamp", 48, false],
37 ["lf_field_list", 32, false],
38 ["mcast_grp", 16, false],
39 ["resubmit_flag", 1, false],
40 ["egress_rid", 16, false],
41 ["_padding", 5, false]
42 ]
43 }
44 ],
45 "headers" : [
46 {
47 "name" : "scalars",
48 "id" : 0,
49 "header_type" : "scalars_0",
50 "metadata" : true,
51 "pi_omit" : true
52 },
53 {
54 "name" : "standard_metadata",
55 "id" : 1,
56 "header_type" : "standard_metadata",
57 "metadata" : true,
58 "pi_omit" : true
59 },
60 {
61 "name" : "dummy_metadata",
62 "id" : 2,
63 "header_type" : "dummy_t",
64 "metadata" : true,
65 "pi_omit" : true
66 }
67 ],
68 "header_stacks" : [],
69 "header_union_types" : [],
70 "header_unions" : [],
71 "header_union_stacks" : [],
72 "field_lists" : [],
73 "errors" : [
74 ["NoError", 1],
75 ["PacketTooShort", 2],
76 ["NoMatch", 3],
77 ["StackOutOfBounds", 4],
78 ["HeaderTooShort", 5],
79 ["ParserTimeout", 6]
80 ],
81 "enums" : [],
82 "parsers" : [
83 {
84 "name" : "parser",
85 "id" : 0,
86 "init_state" : "start",
87 "parse_states" : [
88 {
89 "name" : "start",
90 "id" : 0,
91 "parser_ops" : [],
92 "transitions" : [
93 {
94 "value" : "default",
95 "mask" : null,
96 "next_state" : null
97 }
98 ],
99 "transition_key" : []
100 }
101 ]
102 }
103 ],
104 "deparsers" : [
105 {
106 "name" : "deparser",
107 "id" : 0,
108 "source_info" : {
109 "filename" : "empty.p4",
Carmelo Cascone2cad9ef2017-08-01 21:52:07 +0200110 "line" : 44,
Carmelo Cascone3304fd52017-07-30 00:43:01 -0400111 "column" : 8,
112 "source_fragment" : "DeparserImpl"
113 },
114 "order" : []
115 }
116 ],
117 "meter_arrays" : [],
118 "counter_arrays" : [],
119 "register_arrays" : [],
120 "calculations" : [],
121 "learn_lists" : [],
122 "actions" : [
123 {
124 "name" : "NoAction",
125 "id" : 0,
126 "runtime_data" : [],
127 "primitives" : []
128 },
129 {
130 "name" : "dummy_action",
131 "id" : 1,
132 "runtime_data" : [],
133 "primitives" : [
134 {
135 "op" : "assign",
136 "parameters" : [
137 {
138 "type" : "field",
139 "value" : ["dummy_metadata", "dummyField"]
140 },
141 {
142 "type" : "hexstr",
143 "value" : "0x01"
144 }
145 ],
146 "source_info" : {
147 "filename" : "empty.p4",
Carmelo Cascone2cad9ef2017-08-01 21:52:07 +0200148 "line" : 23,
Carmelo Cascone3304fd52017-07-30 00:43:01 -0400149 "column" : 8,
150 "source_fragment" : "meta.dummy_metadata.dummyField = 8w1"
151 }
152 }
153 ]
154 }
155 ],
156 "pipelines" : [
157 {
158 "name" : "ingress",
159 "id" : 0,
160 "source_info" : {
161 "filename" : "empty.p4",
Carmelo Cascone2cad9ef2017-08-01 21:52:07 +0200162 "line" : 21,
Carmelo Cascone3304fd52017-07-30 00:43:01 -0400163 "column" : 8,
164 "source_fragment" : "ingress"
165 },
166 "init_table" : "table0",
167 "tables" : [
168 {
169 "name" : "table0",
170 "id" : 0,
171 "source_info" : {
172 "filename" : "empty.p4",
Carmelo Cascone2cad9ef2017-08-01 21:52:07 +0200173 "line" : 25,
Carmelo Cascone3304fd52017-07-30 00:43:01 -0400174 "column" : 10,
175 "source_fragment" : "table0"
176 },
177 "key" : [
178 {
179 "match_type" : "exact",
180 "target" : ["dummy_metadata", "dummyField"],
181 "mask" : null
182 }
183 ],
184 "match_type" : "exact",
185 "type" : "simple",
186 "max_size" : 1024,
187 "with_counters" : false,
188 "support_timeout" : false,
189 "direct_meters" : null,
190 "action_ids" : [1, 0],
191 "actions" : ["dummy_action", "NoAction"],
192 "base_default_next" : null,
193 "next_tables" : {
194 "dummy_action" : null,
195 "NoAction" : null
196 },
197 "default_entry" : {
198 "action_id" : 0,
199 "action_const" : false,
200 "action_data" : [],
201 "action_entry_const" : false
202 }
203 }
204 ],
205 "action_profiles" : [],
206 "conditionals" : []
207 },
208 {
209 "name" : "egress",
210 "id" : 1,
211 "source_info" : {
212 "filename" : "empty.p4",
Carmelo Cascone2cad9ef2017-08-01 21:52:07 +0200213 "line" : 38,
Carmelo Cascone3304fd52017-07-30 00:43:01 -0400214 "column" : 8,
215 "source_fragment" : "egress"
216 },
217 "init_table" : null,
218 "tables" : [],
219 "action_profiles" : [],
220 "conditionals" : []
221 }
222 ],
223 "checksums" : [],
224 "force_arith" : [],
225 "extern_instances" : [],
226 "field_aliases" : [
227 [
228 "queueing_metadata.enq_timestamp",
229 ["standard_metadata", "enq_timestamp"]
230 ],
231 [
232 "queueing_metadata.enq_qdepth",
233 ["standard_metadata", "enq_qdepth"]
234 ],
235 [
236 "queueing_metadata.deq_timedelta",
237 ["standard_metadata", "deq_timedelta"]
238 ],
239 [
240 "queueing_metadata.deq_qdepth",
241 ["standard_metadata", "deq_qdepth"]
242 ],
243 [
244 "intrinsic_metadata.ingress_global_timestamp",
245 ["standard_metadata", "ingress_global_timestamp"]
246 ],
247 [
248 "intrinsic_metadata.lf_field_list",
249 ["standard_metadata", "lf_field_list"]
250 ],
251 [
252 "intrinsic_metadata.mcast_grp",
253 ["standard_metadata", "mcast_grp"]
254 ],
255 [
256 "intrinsic_metadata.resubmit_flag",
257 ["standard_metadata", "resubmit_flag"]
258 ],
259 [
260 "intrinsic_metadata.egress_rid",
261 ["standard_metadata", "egress_rid"]
262 ]
263 ]
264}