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 | ||||
Carmelo Cascone | 8aa0548 | 2017-09-12 13:21:59 +0200 | [diff] [blame] | 9 | name: "ecmp_metadata.group_id" |
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 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 | f2ac720 | 2017-09-08 00:57:44 +0200 | [diff] [blame] | 81 | id: 33607247 |
82 | name: "process_packet_out_table" | ||||
83 | alias: "process_packet_out_table" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 84 | } |
85 | action_refs { | ||||
Carmelo Cascone | f2ac720 | 2017-09-08 00:57:44 +0200 | [diff] [blame] | 86 | id: 16798653 |
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 | } | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 112 | actions { |
113 | preamble { | ||||
114 | id: 16800567 | ||||
115 | name: "NoAction" | ||||
116 | alias: "NoAction" | ||||
117 | } | ||||
118 | } | ||||
119 | actions { | ||||
120 | preamble { | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 121 | id: 16794308 |
122 | name: "set_egress_port" | ||||
123 | alias: "set_egress_port" | ||||
124 | } | ||||
125 | params { | ||||
126 | id: 1 | ||||
127 | name: "port" | ||||
128 | bitwidth: 9 | ||||
129 | } | ||||
130 | } | ||||
131 | actions { | ||||
132 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 133 | id: 16830055 |
134 | name: "ecmp_group" | ||||
135 | alias: "ecmp_group" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 136 | } |
137 | params { | ||||
138 | id: 1 | ||||
Carmelo Cascone | 8aa0548 | 2017-09-12 13:21:59 +0200 | [diff] [blame] | 139 | name: "group_id" |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 140 | bitwidth: 16 |
141 | } | ||||
142 | } | ||||
143 | actions { | ||||
144 | preamble { | ||||
145 | id: 16829080 | ||||
146 | name: "send_to_cpu" | ||||
147 | alias: "send_to_cpu" | ||||
148 | } | ||||
149 | } | ||||
150 | actions { | ||||
151 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 152 | id: 16784184 |
153 | name: "_drop" | ||||
154 | alias: "_drop" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 155 | } |
156 | } | ||||
157 | actions { | ||||
158 | preamble { | ||||
Carmelo Cascone | f2ac720 | 2017-09-08 00:57:44 +0200 | [diff] [blame] | 159 | id: 16798653 |
160 | name: "_process_packet_out" | ||||
161 | alias: "_process_packet_out" | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 162 | } |
163 | } | ||||
164 | actions { | ||||
165 | preamble { | ||||
166 | id: 16822771 | ||||
167 | name: "count_egress" | ||||
168 | alias: "count_egress" | ||||
169 | } | ||||
170 | } | ||||
171 | actions { | ||||
172 | preamble { | ||||
173 | id: 16837943 | ||||
174 | name: "count_ingress" | ||||
175 | alias: "count_ingress" | ||||
176 | } | ||||
177 | } | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 178 | counters { |
179 | preamble { | ||||
180 | id: 302008596 | ||||
181 | name: "egress_port_counter" | ||||
182 | alias: "egress_port_counter" | ||||
Carmelo Cascone | 133c7b1 | 2017-09-13 15:36:08 +0200 | [diff] [blame] | 183 | annotations: "@min_width(64)" |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 184 | } |
185 | spec { | ||||
Carmelo Cascone | 0ce8f5d | 2017-09-13 03:50:36 +0200 | [diff] [blame] | 186 | unit: BYTES |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 187 | } |
Brian O'Connor | a6862e0 | 2017-09-08 01:17:39 -0700 | [diff] [blame] | 188 | size: 254 |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 189 | } |
190 | counters { | ||||
191 | preamble { | ||||
192 | id: 301991238 | ||||
193 | name: "ingress_port_counter" | ||||
194 | alias: "ingress_port_counter" | ||||
Carmelo Cascone | 133c7b1 | 2017-09-13 15:36:08 +0200 | [diff] [blame] | 195 | annotations: "@min_width(64)" |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 196 | } |
197 | spec { | ||||
Carmelo Cascone | 0ce8f5d | 2017-09-13 03:50:36 +0200 | [diff] [blame] | 198 | unit: BYTES |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 199 | } |
Brian O'Connor | a6862e0 | 2017-09-08 01:17:39 -0700 | [diff] [blame] | 200 | size: 254 |
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 201 | } |
202 | direct_counters { | ||||
203 | preamble { | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 204 | id: 302009688 |
205 | name: "ecmp_group_table_counter" | ||||
206 | alias: "ecmp_group_table_counter" | ||||
207 | } | ||||
208 | spec { | ||||
209 | unit: PACKETS | ||||
210 | } | ||||
211 | direct_table_id: 33612022 | ||||
212 | } | ||||
213 | direct_counters { | ||||
214 | preamble { | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 215 | id: 301990488 |
216 | name: "table0_counter" | ||||
217 | alias: "table0_counter" | ||||
218 | } | ||||
219 | spec { | ||||
220 | unit: PACKETS | ||||
221 | } | ||||
222 | direct_table_id: 33617813 | ||||
223 | } | ||||
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 224 | # Manually adding controller_packet_metadata for packet I/O since P4_14 doesn't support annotations. |
225 | controller_packet_metadata { | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 226 | preamble { |
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 227 | id: 2868941301 |
228 | name: "packet_in" | ||||
229 | annotations: "@controller_header(\"packet_in\")" | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 230 | } |
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 231 | metadata { |
232 | id: 1 | ||||
233 | name: "ingress_port" | ||||
234 | bitwidth: 9 | ||||
Carmelo Cascone | fc3776d | 2017-08-21 23:17:22 +0200 | [diff] [blame] | 235 | } |
Carmelo Cascone | 16de6db | 2017-08-22 00:27:57 +0200 | [diff] [blame] | 236 | } |
237 | controller_packet_metadata { | ||||
238 | preamble { | ||||
239 | id: 2868916615 | ||||
240 | name: "packet_out" | ||||
241 | annotations: "@controller_header(\"packet_out\")" | ||||
242 | } | ||||
243 | metadata { | ||||
244 | id: 1 | ||||
245 | name: "egress_port" | ||||
246 | bitwidth: 9 | ||||
247 | } | ||||
Brian O'Connor | a6862e0 | 2017-09-08 01:17:39 -0700 | [diff] [blame] | 248 | } |