Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 1 | tables { |
2 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 3 | id: 33612022 |
4 | name: "ecmp_group_table" | ||||
5 | alias: "ecmp_group_table" | ||||
6 | } | ||||
7 | match_fields { | ||||
8 | id: 1 | ||||
9 | name: "ecmp_metadata.groupId" | ||||
10 | bitwidth: 16 | ||||
11 | match_type: EXACT | ||||
12 | } | ||||
13 | match_fields { | ||||
14 | id: 2 | ||||
15 | name: "ecmp_metadata.selector" | ||||
16 | bitwidth: 16 | ||||
17 | match_type: EXACT | ||||
18 | } | ||||
19 | action_refs { | ||||
20 | id: 16794308 | ||||
21 | } | ||||
22 | action_refs { | ||||
23 | id: 16800567 | ||||
24 | annotations: "@defaultonly()" | ||||
25 | } | ||||
26 | direct_resource_ids: 302009688 | ||||
27 | size: 1024 | ||||
28 | } | ||||
29 | tables { | ||||
30 | preamble { | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 31 | id: 33617813 |
32 | name: "table0" | ||||
33 | alias: "table0" | ||||
34 | } | ||||
35 | match_fields { | ||||
36 | id: 1 | ||||
37 | name: "standard_metadata.ingress_port" | ||||
38 | bitwidth: 9 | ||||
39 | match_type: TERNARY | ||||
40 | } | ||||
41 | match_fields { | ||||
42 | id: 2 | ||||
43 | name: "ethernet.dstAddr" | ||||
44 | bitwidth: 48 | ||||
45 | match_type: TERNARY | ||||
46 | } | ||||
47 | match_fields { | ||||
48 | id: 3 | ||||
49 | name: "ethernet.srcAddr" | ||||
50 | bitwidth: 48 | ||||
51 | match_type: TERNARY | ||||
52 | } | ||||
53 | match_fields { | ||||
54 | id: 4 | ||||
55 | name: "ethernet.etherType" | ||||
56 | bitwidth: 16 | ||||
57 | match_type: TERNARY | ||||
58 | } | ||||
59 | action_refs { | ||||
60 | id: 16794308 | ||||
61 | } | ||||
62 | action_refs { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 63 | id: 16830055 |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 64 | } |
65 | action_refs { | ||||
66 | id: 16829080 | ||||
67 | } | ||||
68 | action_refs { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 69 | id: 16784184 |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 70 | } |
71 | action_refs { | ||||
72 | id: 16800567 | ||||
73 | annotations: "@defaultonly()" | ||||
74 | } | ||||
75 | direct_resource_ids: 301990488 | ||||
76 | size: 1024 | ||||
77 | with_entry_timeout: true | ||||
78 | } | ||||
79 | tables { | ||||
80 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 81 | id: 33560548 |
82 | name: "ingress_pkt" | ||||
83 | alias: "ingress_pkt" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 84 | } |
85 | action_refs { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 86 | id: 16835928 |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 87 | } |
88 | size: 1024 | ||||
89 | } | ||||
90 | tables { | ||||
91 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 92 | id: 33618793 |
93 | name: "egress_port_count_table" | ||||
94 | alias: "egress_port_count_table" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 95 | } |
96 | action_refs { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 97 | id: 16822771 |
98 | } | ||||
99 | size: 1024 | ||||
100 | } | ||||
101 | tables { | ||||
102 | preamble { | ||||
103 | id: 33579767 | ||||
104 | name: "ingress_port_count_table" | ||||
105 | alias: "ingress_port_count_table" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 106 | } |
107 | action_refs { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 108 | id: 16837943 |
109 | } | ||||
110 | size: 1024 | ||||
111 | } | ||||
112 | tables { | ||||
113 | preamble { | ||||
114 | id: 33608529 | ||||
115 | name: "egress_pkt" | ||||
116 | alias: "egress_pkt" | ||||
117 | } | ||||
118 | action_refs { | ||||
119 | id: 16835663 | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 120 | } |
121 | size: 1024 | ||||
122 | } | ||||
123 | actions { | ||||
124 | preamble { | ||||
125 | id: 16800567 | ||||
126 | name: "NoAction" | ||||
127 | alias: "NoAction" | ||||
128 | } | ||||
129 | } | ||||
130 | actions { | ||||
131 | preamble { | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 132 | id: 16794308 |
133 | name: "set_egress_port" | ||||
134 | alias: "set_egress_port" | ||||
135 | } | ||||
136 | params { | ||||
137 | id: 1 | ||||
138 | name: "port" | ||||
139 | bitwidth: 9 | ||||
140 | } | ||||
141 | } | ||||
142 | actions { | ||||
143 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 144 | id: 16830055 |
145 | name: "ecmp_group" | ||||
146 | alias: "ecmp_group" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 147 | } |
148 | params { | ||||
149 | id: 1 | ||||
150 | name: "groupId" | ||||
151 | bitwidth: 16 | ||||
152 | } | ||||
153 | } | ||||
154 | actions { | ||||
155 | preamble { | ||||
156 | id: 16829080 | ||||
157 | name: "send_to_cpu" | ||||
158 | alias: "send_to_cpu" | ||||
159 | } | ||||
160 | } | ||||
161 | actions { | ||||
162 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 163 | id: 16784184 |
164 | name: "_drop" | ||||
165 | alias: "_drop" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 166 | } |
167 | } | ||||
168 | actions { | ||||
169 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 170 | id: 16835928 |
171 | name: "_packet_out" | ||||
172 | alias: "_packet_out" | ||||
173 | } | ||||
174 | } | ||||
175 | actions { | ||||
176 | preamble { | ||||
177 | id: 16822771 | ||||
178 | name: "count_egress" | ||||
179 | alias: "count_egress" | ||||
180 | } | ||||
181 | } | ||||
182 | actions { | ||||
183 | preamble { | ||||
184 | id: 16837943 | ||||
185 | name: "count_ingress" | ||||
186 | alias: "count_ingress" | ||||
187 | } | ||||
188 | } | ||||
189 | actions { | ||||
190 | preamble { | ||||
191 | id: 16835663 | ||||
192 | name: "add_packet_in_hdr" | ||||
193 | alias: "add_packet_in_hdr" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 194 | } |
195 | } | ||||
196 | counters { | ||||
197 | preamble { | ||||
198 | id: 302008596 | ||||
199 | name: "egress_port_counter" | ||||
200 | alias: "egress_port_counter" | ||||
201 | annotations: "@min_width(32)" | ||||
202 | } | ||||
203 | spec { | ||||
204 | unit: PACKETS | ||||
205 | } | ||||
206 | size: 254 | ||||
207 | } | ||||
208 | counters { | ||||
209 | preamble { | ||||
210 | id: 301991238 | ||||
211 | name: "ingress_port_counter" | ||||
212 | alias: "ingress_port_counter" | ||||
213 | annotations: "@min_width(32)" | ||||
214 | } | ||||
215 | spec { | ||||
216 | unit: PACKETS | ||||
217 | } | ||||
218 | size: 254 | ||||
219 | } | ||||
220 | direct_counters { | ||||
221 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 222 | id: 302009688 |
223 | name: "ecmp_group_table_counter" | ||||
224 | alias: "ecmp_group_table_counter" | ||||
225 | } | ||||
226 | spec { | ||||
227 | unit: PACKETS | ||||
228 | } | ||||
229 | direct_table_id: 33612022 | ||||
230 | } | ||||
231 | direct_counters { | ||||
232 | preamble { | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 233 | id: 301990488 |
234 | name: "table0_counter" | ||||
235 | alias: "table0_counter" | ||||
236 | } | ||||
237 | spec { | ||||
238 | unit: PACKETS | ||||
239 | } | ||||
240 | direct_table_id: 33617813 | ||||
241 | } | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 242 | # Manually adding controller_packet_metadata for packet I/O since P4_14 doesn't support annotations. |
243 | controller_packet_metadata { | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 244 | preamble { |
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 245 | id: 2868941301 |
246 | name: "packet_in" | ||||
247 | annotations: "@controller_header(\"packet_in\")" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 248 | } |
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 249 | metadata { |
250 | id: 1 | ||||
251 | name: "ingress_port" | ||||
252 | bitwidth: 9 | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 253 | } |
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 254 | } |
255 | controller_packet_metadata { | ||||
256 | preamble { | ||||
257 | id: 2868916615 | ||||
258 | name: "packet_out" | ||||
259 | annotations: "@controller_header(\"packet_out\")" | ||||
260 | } | ||||
261 | metadata { | ||||
262 | id: 1 | ||||
263 | name: "egress_port" | ||||
264 | bitwidth: 9 | ||||
265 | } | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 266 | } |