Max level shown:
1 
2 CLOT Allocation (ingress):
3 +------+-------------------------------------------------+---------------+-----------+
4 | CLOT | Fields | Bits | Property |
5 +------+-------------------------------------------------+---------------+-----------+
6 | 0 | state ingress::parse_arp | 28 bytes | |
7 | | | | |
8 | | ingress::hdr.arp.hw_type | 16 [0..15] | |
9 | | ingress::hdr.arp.proto_type | 16 [16..31] | |
10 | | ingress::hdr.arp.hw_addr_len | 8 [32..39] | |
11 | | ingress::hdr.arp.proto_addr_len | 8 [40..47] | |
12 | | ingress::hdr.arp.opcode | 16 [48..63] | |
13 | | ingress::hdr.arp.sender_mac | 48 [64..111] | |
14 | | ingress::hdr.arp.sender_ip | 32 [112..143] | |
15 | | ingress::hdr.arp.target_mac | 48 [144..191] | |
16 | | ingress::hdr.arp.target_ip | 32 [192..223] | |
17 +------+-------------------------------------------------+---------------+-----------+
18 | 1 | state ingress::parse_geneve_mcast_tag | 4 bytes | |
19 | | | | |
20 | | ingress::hdr.geneve_opts.ox_mcast_tag.mcast_tag | 2 [0..1] | ( phv ) |
21 | | ingress::hdr.geneve_opts.ox_mcast_tag.reserved | 30 [2..31] | |
22 +------+-------------------------------------------------+---------------+-----------+
23 | | Total Bits | 256 | |
24 +------+-------------------------------------------------+---------------+-----------+
25 
26 Packets will use up to 1 CLOTs.
27 The parser path(s) that will use the most CLOTs contain the following states:
28 ingress::parse_inner_tcp (0 CLOTs)
29 ingress::parse_inner_udp (0 CLOTs)
30 ingress::parse_inner_icmp (0 CLOTs)
31 ingress::parse_inner_ipv4 (0 CLOTs)
32 ingress::parse_inner_ipv6 (0 CLOTs)
33 ingress::parse_inner_eth (0 CLOTs)
34 ingress::geneve_parsed (0 CLOTs)
35 ingress::parse_geneve_mcast_tag (1 CLOTs)
36 ingress::parse_geneve_ox_opt (0 CLOTs)
37 ingress::parse_geneve_opt (0 CLOTs)
38 ingress::parse_geneve (0 CLOTs)
39 ingress::parse_udp (0 CLOTs)
40 ingress::goto_proto_ipv4 (0 CLOTs)
41 ingress::set_mcast_ipv4 (0 CLOTs)
42 ingress::validate_ipv4_mcast_3 (0 CLOTs)
43 ingress::validate_ipv4_mcast1_2 (0 CLOTs)
44 ingress::validate_ttl (0 CLOTs)
45 ingress::parse_ipv4 (0 CLOTs)
46 ingress::goto_proto_ipv6 (0 CLOTs)
47 ingress::set_link_local_mcast (0 CLOTs)
48 ingress::set_mcast_ipv6 (0 CLOTs)
49 ingress::validate_hop_limit (0 CLOTs)
50 ingress::check_ipv6_mcast (0 CLOTs)
51 ingress::parse_ipv6 (0 CLOTs)
52 ingress::parse_arp (1 CLOTs)
53 ingress::parse_vlan (0 CLOTs)
54 ingress::parse_sidecar (0 CLOTs)
55 $entry_point.start (0 CLOTs)
56 
57 CLOT Allocation (egress):
58 +------+--------------------------------------------------+----------------+------------+
59 | CLOT | Fields | Bits | Property |
60 +------+--------------------------------------------------+----------------+------------+
61 | 0 | state egress::parse_ipv6 | 40 bytes | |
62 | | | | |
63 | | egress::hdr.ipv6.version | 4 [0..3] | |
64 | | egress::hdr.ipv6.traffic_class | 8 [4..11] | |
65 | | egress::hdr.ipv6.flow_label | 20 [12..31] | |
66 | | egress::hdr.ipv6.payload_len | 16 [32..47] | |
67 | | egress::hdr.ipv6.next_hdr | 8 [48..55] | |
68 | | egress::hdr.ipv6.hop_limit | 8 [56..63] | |
69 | | egress::hdr.ipv6.src_addr | 128 [64..191] | |
70 | | egress::hdr.ipv6.dst_addr | 128 [192..319] | ( phv ) |
71 +------+--------------------------------------------------+----------------+------------+
72 | 1 | state egress::parse_inner_ipv6 | 40 bytes | |
73 | | | | |
74 | | egress::hdr.inner_ipv6.version | 4 [0..3] | |
75 | | egress::hdr.inner_ipv6.traffic_class | 8 [4..11] | |
76 | | egress::hdr.inner_ipv6.flow_label | 20 [12..31] | |
77 | | egress::hdr.inner_ipv6.payload_len | 16 [32..47] | |
78 | | egress::hdr.inner_ipv6.next_hdr | 8 [48..55] | |
79 | | egress::hdr.inner_ipv6.hop_limit | 8 [56..63] | ( phv* ) |
80 | | egress::hdr.inner_ipv6.src_addr | 128 [64..191] | |
81 | | egress::hdr.inner_ipv6.dst_addr | 128 [192..319] | ( phv ) |
82 +------+--------------------------------------------------+----------------+------------+
83 | 2 | state egress::parse_inner_tcp | 20 bytes | |
84 | | | | |
85 | | egress::hdr.inner_tcp.src_port | 16 [0..15] | |
86 | | egress::hdr.inner_tcp.dst_port | 16 [16..31] | |
87 | | egress::hdr.inner_tcp.seq_no | 32 [32..63] | |
88 | | egress::hdr.inner_tcp.ack_no | 32 [64..95] | |
89 | | egress::hdr.inner_tcp.data_offset | 4 [96..99] | |
90 | | egress::hdr.inner_tcp.res | 4 [100..103] | |
91 | | egress::hdr.inner_tcp.flags | 8 [104..111] | |
92 | | egress::hdr.inner_tcp.window | 16 [112..127] | |
93 | | egress::hdr.inner_tcp.checksum | 16 [128..143] | |
94 | | egress::hdr.inner_tcp.urgent_ptr | 16 [144..159] | |
95 +------+--------------------------------------------------+----------------+------------+
96 | 3 | state egress::parse_ipv4 | 20 bytes | |
97 | | | | |
98 | | egress::hdr.ipv4.version | 4 [0..3] | |
99 | | egress::hdr.ipv4.ihl | 4 [4..7] | |
100 | | egress::hdr.ipv4.diffserv | 8 [8..15] | |
101 | | egress::hdr.ipv4.total_len | 16 [16..31] | |
102 | | egress::hdr.ipv4.identification | 16 [32..47] | |
103 | | egress::hdr.ipv4.flags | 3 [48..50] | |
104 | | egress::hdr.ipv4.frag_offset | 13 [51..63] | |
105 | | egress::hdr.ipv4.ttl | 8 [64..71] | |
106 | | egress::hdr.ipv4.protocol | 8 [72..79] | |
107 | | egress::hdr.ipv4.hdr_checksum | 16 [80..95] | |
108 | | egress::hdr.ipv4.src_addr | 32 [96..127] | |
109 | | egress::hdr.ipv4.dst_addr | 32 [128..159] | ( phv ) |
110 +------+--------------------------------------------------+----------------+------------+
111 | 4 | state egress::parse_inner_eth | 11 bytes | |
112 | | | | |
113 | | egress::hdr.inner_eth.dst_mac | 48 [0..47] | |
114 | | egress::hdr.inner_eth.src_mac[47:8] | 40 [48..87] | |
115 +------+--------------------------------------------------+----------------+------------+
116 | 5 | state egress::parse_inner_ipv4 | 10 bytes | |
117 | | | | |
118 | | egress::hdr.inner_ipv4.version | 4 [0..3] | |
119 | | egress::hdr.inner_ipv4.ihl | 4 [4..7] | |
120 | | egress::hdr.inner_ipv4.diffserv | 8 [8..15] | |
121 | | egress::hdr.inner_ipv4.total_len | 16 [16..31] | |
122 | | egress::hdr.inner_ipv4.identification | 16 [32..47] | |
123 | | egress::hdr.inner_ipv4.flags | 3 [48..50] | |
124 | | egress::hdr.inner_ipv4.frag_offset | 13 [51..63] | |
125 | | egress::hdr.inner_ipv4.ttl | 8 [64..71] | ( phv* ) |
126 | | egress::hdr.inner_ipv4.protocol | 8 [72..79] | |
127 +------+--------------------------------------------------+----------------+------------+
128 | 6 | state egress::parse_inner_udp | 8 bytes | |
129 | | | | |
130 | | egress::hdr.inner_udp.src_port | 16 [0..15] | |
131 | | egress::hdr.inner_udp.dst_port | 16 [16..31] | |
132 | | egress::hdr.inner_udp.hdr_length | 16 [32..47] | |
133 | | egress::hdr.inner_udp.checksum | 16 [48..63] | |
134 +------+--------------------------------------------------+----------------+------------+
135 | 7 | state egress::parse_udp | 8 bytes | |
136 | | | | |
137 | | egress::hdr.udp.src_port | 16 [0..15] | |
138 | | egress::hdr.udp.dst_port | 16 [16..31] | |
139 | | egress::hdr.udp.hdr_length | 16 [32..47] | |
140 | | egress::hdr.udp.checksum | 16 [48..63] | |
141 +------+--------------------------------------------------+----------------+------------+
142 | 8 | state egress::parse_icmp | 5 bytes | |
143 | | | | |
144 | | egress::hdr.icmp.hdr_checksum[7:0] | 8 [0..7] | |
145 | | egress::hdr.icmp.data | 32 [8..39] | |
146 +------+--------------------------------------------------+----------------+------------+
147 | 9 | state egress::parse_geneve | 5 bytes | |
148 | | | | |
149 | | egress::hdr.geneve.version | 2 [0..1] | |
150 | | egress::hdr.geneve.opt_len | 6 [2..7] | |
151 | | egress::hdr.geneve.ctrl | 1 [8..8] | |
152 | | egress::hdr.geneve.crit | 1 [9..9] | |
153 | | egress::hdr.geneve.reserved | 6 [10..15] | |
154 | | egress::hdr.geneve.protocol | 16 [16..31] | |
155 | | egress::hdr.geneve.vni[23:16] | 8 [32..39] | |
156 +------+--------------------------------------------------+----------------+------------+
157 | 10 | state egress::parse_geneve_opt | 4 bytes | |
158 | | | | |
159 | | egress::hdr.geneve_opts.ox_external_tag.class | 16 [0..15] | |
160 | | egress::hdr.geneve_opts.ox_external_tag.crit | 1 [16..16] | |
161 | | egress::hdr.geneve_opts.ox_external_tag.type | 7 [17..23] | |
162 | | egress::hdr.geneve_opts.ox_external_tag.reserved | 3 [24..26] | |
163 | | egress::hdr.geneve_opts.ox_external_tag.opt_len | 5 [27..31] | |
164 +------+--------------------------------------------------+----------------+------------+
165 | 11 | state egress::parse_inner_ipv4 | 7 bytes | |
166 | | | | |
167 | | egress::hdr.inner_ipv4.src_addr[23:0] | 24 [0..23] | |
168 | | egress::hdr.inner_ipv4.dst_addr | 32 [24..55] | ( phv ) |
169 +------+--------------------------------------------------+----------------+------------+
170 | | Total Bits | 1424 | |
171 +------+--------------------------------------------------+----------------+------------+
172 
173 Packets will use up to 8 CLOTs.
174 The parser path(s) that will use the most CLOTs contain the following states:
175 egress::parse_inner_tcp (1 CLOTs)
176 egress::parse_inner_udp (1 CLOTs)
177 egress::parse_inner_ipv4 (2 CLOTs)
178 egress::parse_inner_eth (1 CLOTs)
179 egress::geneve_parsed (0 CLOTs)
180 egress::parse_geneve_mcast_tag (0 CLOTs)
181 egress::parse_geneve_ox_opt (0 CLOTs)
182 egress::parse_geneve_opt (1 CLOTs)
183 egress::parse_geneve (1 CLOTs)
184 egress::parse_udp (1 CLOTs)
185 egress::parse_ipv4 (1 CLOTs)
186 egress::parse_ipv6 (1 CLOTs)
187 egress::parse_vlan (0 CLOTs)
188 $entry_point.start (0 CLOTs)
189 
190 All fields:
191 +---------------------------------------------------+------+-------+-----------+
192 | Field | Bits | CLOTs | Property |
193 +---------------------------------------------------+------+-------+-----------+
194 | ingress::ig_intr_md.ingress_port | 9 | | read-only |
195 | ingress::meta.bridge_hdr.ingress_port | 9 | | unused |
196 | ingress::hdr.ethernet.dst_mac | 48 | | modified |
197 | ingress::hdr.ethernet.src_mac | 48 | | modified |
198 | ingress::hdr.ethernet.ether_type | 16 | | modified |
199 | ingress::meta.orig_src_mac | 48 | | read-only |
200 | ingress::hdr.sidecar.sc_code | 8 | | modified |
201 | ingress::hdr.sidecar.sc_pad | 8 | | unused |
202 | ingress::hdr.sidecar.sc_ingress | 16 | | modified |
203 | ingress::hdr.sidecar.sc_egress | 16 | | modified |
204 | ingress::hdr.sidecar.sc_ether_type | 16 | | modified |
205 | ingress::hdr.sidecar.sc_payload | 128 | | modified |
206 | ingress::hdr.vlan.pcp | 3 | | modified |
207 | ingress::hdr.vlan.dei | 1 | | modified |
208 | ingress::hdr.vlan.vlan_id | 12 | | modified |
209 | ingress::hdr.vlan.ether_type | 16 | | modified |
210 | ingress::hdr.ipv4.version | 4 | | modified |
211 | ingress::hdr.ipv4.ihl | 4 | | modified |
212 | ingress::hdr.ipv4.diffserv | 8 | | modified |
213 | ingress::hdr.ipv4.total_len | 16 | | modified |
214 | ingress::hdr.ipv4.identification | 16 | | modified |
215 | ingress::hdr.ipv4.flags | 3 | | modified |
216 | ingress::hdr.ipv4.frag_offset | 13 | | modified |
217 | ingress::hdr.ipv4.ttl | 8 | | modified |
218 | ingress::hdr.ipv4.protocol | 8 | | modified |
219 | ingress::hdr.ipv4.hdr_checksum | 16 | | checksum |
220 | ingress::hdr.ipv4.src_addr | 32 | | modified |
221 | ingress::hdr.ipv4.dst_addr | 32 | | modified |
222 | ingress::meta.orig_src_ipv4 | 32 | | read-only |
223 | ingress::meta.orig_dst_ipv4 | 32 | | read-only |
224 | ingress::hdr.icmp.type | 8 | | modified |
225 | ingress::hdr.icmp.code | 8 | | modified |
226 | ingress::hdr.icmp.hdr_checksum | 16 | | checksum |
227 | ingress::hdr.icmp.data | 32 | | modified |
228 | ingress::hdr.tcp.src_port | 16 | | modified |
229 | ingress::hdr.tcp.dst_port | 16 | | modified |
230 | ingress::hdr.tcp.seq_no | 32 | | modified |
231 | ingress::hdr.tcp.ack_no | 32 | | modified |
232 | ingress::hdr.tcp.data_offset | 4 | | modified |
233 | ingress::hdr.tcp.res | 4 | | modified |
234 | ingress::hdr.tcp.flags | 8 | | modified |
235 | ingress::hdr.tcp.window | 16 | | modified |
236 | ingress::hdr.tcp.checksum | 16 | | modified |
237 | ingress::hdr.tcp.urgent_ptr | 16 | | modified |
238 | ingress::meta.l4_src_port | 16 | | read-only |
239 | ingress::meta.l4_dst_port | 16 | | modified |
240 | ingress::hdr.udp.src_port | 16 | | modified |
241 | ingress::hdr.udp.dst_port | 16 | | modified |
242 | ingress::hdr.udp.hdr_length | 16 | | modified |
243 | ingress::hdr.udp.checksum | 16 | | checksum |
244 | ingress::hdr.geneve.version | 2 | | modified |
245 | ingress::hdr.geneve.opt_len | 6 | | modified |
246 | ingress::hdr.geneve.ctrl | 1 | | modified |
247 | ingress::hdr.geneve.crit | 1 | | modified |
248 | ingress::hdr.geneve.reserved | 6 | | modified |
249 | ingress::hdr.geneve.protocol | 16 | | modified |
250 | ingress::hdr.geneve.vni | 24 | | modified |
251 | ingress::hdr.geneve.reserved2 | 8 | | modified |
252 | ingress::hdr.inner_eth.dst_mac | 48 | | modified |
253 | ingress::hdr.inner_eth.src_mac | 48 | | modified |
254 | ingress::hdr.inner_eth.ether_type | 16 | | modified |
255 | ingress::hdr.inner_ipv4.version | 4 | | modified |
256 | ingress::hdr.inner_ipv4.ihl | 4 | | modified |
257 | ingress::hdr.inner_ipv4.diffserv | 8 | | modified |
258 | ingress::hdr.inner_ipv4.total_len | 16 | | modified |
259 | ingress::hdr.inner_ipv4.identification | 16 | | modified |
260 | ingress::hdr.inner_ipv4.flags | 3 | | modified |
261 | ingress::hdr.inner_ipv4.frag_offset | 13 | | modified |
262 | ingress::hdr.inner_ipv4.ttl | 8 | | modified |
263 | ingress::hdr.inner_ipv4.protocol | 8 | | modified |
264 | ingress::hdr.inner_ipv4.hdr_checksum | 16 | | modified |
265 | ingress::hdr.inner_ipv4.src_addr | 32 | | modified |
266 | ingress::hdr.inner_ipv4.dst_addr | 32 | | modified |
267 | ingress::hdr.inner_tcp.src_port | 16 | | modified |
268 | ingress::hdr.inner_tcp.dst_port | 16 | | modified |
269 | ingress::hdr.inner_tcp.seq_no | 32 | | modified |
270 | ingress::hdr.inner_tcp.ack_no | 32 | | modified |
271 | ingress::hdr.inner_tcp.data_offset | 4 | | modified |
272 | ingress::hdr.inner_tcp.res | 4 | | modified |
273 | ingress::hdr.inner_tcp.flags | 8 | | modified |
274 | ingress::hdr.inner_tcp.window | 16 | | modified |
275 | ingress::hdr.inner_tcp.checksum | 16 | | modified |
276 | ingress::hdr.inner_tcp.urgent_ptr | 16 | | modified |
277 | ingress::hdr.inner_udp.src_port | 16 | | modified |
278 | ingress::hdr.inner_udp.dst_port | 16 | | modified |
279 | ingress::hdr.inner_udp.hdr_length | 16 | | modified |
280 | ingress::hdr.inner_udp.checksum | 16 | | modified |
281 | ingress::hdr.inner_icmp.type | 8 | | modified |
282 | ingress::hdr.inner_icmp.code | 8 | | modified |
283 | ingress::hdr.inner_icmp.hdr_checksum | 16 | | modified |
284 | ingress::hdr.inner_icmp.data | 32 | | modified |
285 | ingress::hdr.inner_ipv6.version | 4 | | modified |
286 | ingress::hdr.inner_ipv6.traffic_class | 8 | | modified |
287 | ingress::hdr.inner_ipv6.flow_label | 20 | | modified |
288 | ingress::hdr.inner_ipv6.payload_len | 16 | | modified |
289 | ingress::hdr.inner_ipv6.next_hdr | 8 | | modified |
290 | ingress::hdr.inner_ipv6.hop_limit | 8 | | modified |
291 | ingress::hdr.inner_ipv6.src_addr | 128 | | modified |
292 | ingress::hdr.inner_ipv6.dst_addr | 128 | | modified |
293 | ingress::hdr.geneve_opts.ox_external_tag.class | 16 | | modified |
294 | ingress::hdr.geneve_opts.ox_external_tag.crit | 1 | | modified |
295 | ingress::hdr.geneve_opts.ox_external_tag.type | 7 | | modified |
296 | ingress::hdr.geneve_opts.ox_external_tag.reserved | 3 | | modified |
297 | ingress::hdr.geneve_opts.ox_external_tag.opt_len | 5 | | modified |
298 | ingress::hdr.geneve_opts.ox_mcast_tag.mcast_tag | 2 | 1 | read-only |
299 | ingress::hdr.geneve_opts.ox_mcast_tag.reserved | 30 | 1 | unused |
300 | ingress::hdr.ipv6.version | 4 | | modified |
301 | ingress::hdr.ipv6.traffic_class | 8 | | modified |
302 | ingress::hdr.ipv6.flow_label | 20 | | modified |
303 | ingress::hdr.ipv6.payload_len | 16 | | modified |
304 | ingress::hdr.ipv6.next_hdr | 8 | | modified |
305 | ingress::hdr.ipv6.hop_limit | 8 | | modified |
306 | ingress::hdr.ipv6.src_addr | 128 | | modified |
307 | ingress::hdr.ipv6.dst_addr | 128 | | modified |
308 | ingress::hdr.arp.hw_type | 16 | 0 | unused |
309 | ingress::hdr.arp.proto_type | 16 | 0 | unused |
310 | ingress::hdr.arp.hw_addr_len | 8 | 0 | unused |
311 | ingress::hdr.arp.proto_addr_len | 8 | 0 | unused |
312 | ingress::hdr.arp.opcode | 16 | 0 | unused |
313 | ingress::hdr.arp.sender_mac | 48 | 0 | unused |
314 | ingress::hdr.arp.sender_ip | 32 | 0 | unused |
315 | ingress::hdr.arp.target_mac | 48 | 0 | unused |
316 | ingress::hdr.arp.target_ip | 32 | 0 | unused |
317 | egress::eg_intr_md.egress_port | 9 | | read-only |
318 | egress::eg_intr_md.egress_rid | 16 | | read-only |
319 | egress::eg_intr_md.egress_rid_first | 1 | | read-only |
320 | egress::meta.bridge_hdr.ingress_port | 9 | | read-only |
321 | egress::hdr.ethernet.dst_mac | 48 | | modified |
322 | egress::hdr.ethernet.src_mac | 48 | | modified |
323 | egress::hdr.ethernet.ether_type | 16 | | modified |
324 | egress::hdr.vlan.pcp | 3 | | modified |
325 | egress::hdr.vlan.dei | 1 | | modified |
326 | egress::hdr.vlan.vlan_id | 12 | | modified |
327 | egress::hdr.vlan.ether_type | 16 | | modified |
328 | egress::hdr.ipv4.version | 4 | 3 | unused |
329 | egress::hdr.ipv4.ihl | 4 | 3 | unused |
330 | egress::hdr.ipv4.diffserv | 8 | 3 | unused |
331 | egress::hdr.ipv4.total_len | 16 | 3 | unused |
332 | egress::hdr.ipv4.identification | 16 | 3 | unused |
333 | egress::hdr.ipv4.flags | 3 | 3 | unused |
334 | egress::hdr.ipv4.frag_offset | 13 | 3 | unused |
335 | egress::hdr.ipv4.ttl | 8 | 3 | unused |
336 | egress::hdr.ipv4.protocol | 8 | 3 | unused |
337 | egress::hdr.ipv4.hdr_checksum | 16 | 3 | unused |
338 | egress::hdr.ipv4.src_addr | 32 | 3 | unused |
339 | egress::hdr.ipv4.dst_addr | 32 | 3 | read-only |
340 | egress::hdr.icmp.type | 8 | | unused |
341 | egress::hdr.icmp.code | 8 | | unused |
342 | egress::hdr.icmp.hdr_checksum | 16 | 8 | unused |
343 | egress::hdr.icmp.data | 32 | 8 | unused |
344 | egress::hdr.udp.src_port | 16 | 7 | unused |
345 | egress::hdr.udp.dst_port | 16 | 7 | unused |
346 | egress::hdr.udp.hdr_length | 16 | 7 | unused |
347 | egress::hdr.udp.checksum | 16 | 7 | unused |
348 | egress::hdr.geneve.version | 2 | 9 | unused |
349 | egress::hdr.geneve.opt_len | 6 | 9 | unused |
350 | egress::hdr.geneve.ctrl | 1 | 9 | unused |
351 | egress::hdr.geneve.crit | 1 | 9 | unused |
352 | egress::hdr.geneve.reserved | 6 | 9 | unused |
353 | egress::hdr.geneve.protocol | 16 | 9 | unused |
354 | egress::hdr.geneve.vni | 24 | 9 | unused |
355 | egress::hdr.geneve.reserved2 | 8 | | unused |
356 | egress::hdr.inner_eth.dst_mac | 48 | 4 | unused |
357 | egress::hdr.inner_eth.src_mac | 48 | 4 | unused |
358 | egress::hdr.inner_eth.ether_type | 16 | | unused |
359 | egress::hdr.inner_ipv4.version | 4 | 5 | unused |
360 | egress::hdr.inner_ipv4.ihl | 4 | 5 | unused |
361 | egress::hdr.inner_ipv4.diffserv | 8 | 5 | unused |
362 | egress::hdr.inner_ipv4.total_len | 16 | 5 | unused |
363 | egress::hdr.inner_ipv4.identification | 16 | 5 | unused |
364 | egress::hdr.inner_ipv4.flags | 3 | 5 | unused |
365 | egress::hdr.inner_ipv4.frag_offset | 13 | 5 | unused |
366 | egress::hdr.inner_ipv4.ttl | 8 | 5 | modified |
367 | egress::hdr.inner_ipv4.protocol | 8 | 5 | unused |
368 | egress::hdr.inner_ipv4.hdr_checksum | 16 | | checksum |
369 | egress::hdr.inner_ipv4.src_addr | 32 | 11 | unused |
370 | egress::hdr.inner_ipv4.dst_addr | 32 | 11 | read-only |
371 | egress::hdr.inner_tcp.src_port | 16 | 2 | unused |
372 | egress::hdr.inner_tcp.dst_port | 16 | 2 | unused |
373 | egress::hdr.inner_tcp.seq_no | 32 | 2 | unused |
374 | egress::hdr.inner_tcp.ack_no | 32 | 2 | unused |
375 | egress::hdr.inner_tcp.data_offset | 4 | 2 | unused |
376 | egress::hdr.inner_tcp.res | 4 | 2 | unused |
377 | egress::hdr.inner_tcp.flags | 8 | 2 | unused |
378 | egress::hdr.inner_tcp.window | 16 | 2 | unused |
379 | egress::hdr.inner_tcp.checksum | 16 | 2 | unused |
380 | egress::hdr.inner_tcp.urgent_ptr | 16 | 2 | unused |
381 | egress::hdr.inner_udp.src_port | 16 | 6 | unused |
382 | egress::hdr.inner_udp.dst_port | 16 | 6 | unused |
383 | egress::hdr.inner_udp.hdr_length | 16 | 6 | unused |
384 | egress::hdr.inner_udp.checksum | 16 | 6 | unused |
385 | egress::hdr.inner_ipv6.version | 4 | 1 | unused |
386 | egress::hdr.inner_ipv6.traffic_class | 8 | 1 | unused |
387 | egress::hdr.inner_ipv6.flow_label | 20 | 1 | unused |
388 | egress::hdr.inner_ipv6.payload_len | 16 | 1 | unused |
389 | egress::hdr.inner_ipv6.next_hdr | 8 | 1 | unused |
390 | egress::hdr.inner_ipv6.hop_limit | 8 | 1 | modified |
391 | egress::hdr.inner_ipv6.src_addr | 128 | 1 | unused |
392 | egress::hdr.inner_ipv6.dst_addr | 128 | 1 | read-only |
393 | egress::hdr.geneve_opts.ox_external_tag.class | 16 | 10 | unused |
394 | egress::hdr.geneve_opts.ox_external_tag.crit | 1 | 10 | unused |
395 | egress::hdr.geneve_opts.ox_external_tag.type | 7 | 10 | unused |
396 | egress::hdr.geneve_opts.ox_external_tag.reserved | 3 | 10 | unused |
397 | egress::hdr.geneve_opts.ox_external_tag.opt_len | 5 | 10 | unused |
398 | egress::hdr.geneve_opts.ox_mcast_tag.mcast_tag | 2 | | read-only |
399 | egress::hdr.geneve_opts.ox_mcast_tag.reserved | 30 | | unused |
400 | egress::hdr.ipv6.version | 4 | 0 | unused |
401 | egress::hdr.ipv6.traffic_class | 8 | 0 | unused |
402 | egress::hdr.ipv6.flow_label | 20 | 0 | unused |
403 | egress::hdr.ipv6.payload_len | 16 | 0 | unused |
404 | egress::hdr.ipv6.next_hdr | 8 | 0 | unused |
405 | egress::hdr.ipv6.hop_limit | 8 | 0 | unused |
406 | egress::hdr.ipv6.src_addr | 128 | 0 | unused |
407 | egress::hdr.ipv6.dst_addr | 128 | 0 | read-only |
408 +---------------------------------------------------+------+-------+-----------+
409 | Unused fields | 84 | | |
410 | Unused bits | 1469 | | |
411 | Unused CLOT-allocated fields | 77 | | |
412 | Unused CLOT-allocated bits | 1342 | | |
413 +---------------------------------------------------+------+-------+-----------+
414 
415 
416 CLOT Allocation (ingress):
417 +------+-------------------------------------------------+---------------+-----------+
418 | CLOT | Fields | Bits | Property |
419 +------+-------------------------------------------------+---------------+-----------+
420 | 0 | state ingress::parse_arp | 28 bytes | |
421 | | | | |
422 | | ingress::hdr.arp.hw_type | 16 [0..15] | |
423 | | ingress::hdr.arp.proto_type | 16 [16..31] | |
424 | | ingress::hdr.arp.hw_addr_len | 8 [32..39] | |
425 | | ingress::hdr.arp.proto_addr_len | 8 [40..47] | |
426 | | ingress::hdr.arp.opcode | 16 [48..63] | |
427 | | ingress::hdr.arp.sender_mac | 48 [64..111] | |
428 | | ingress::hdr.arp.sender_ip | 32 [112..143] | |
429 | | ingress::hdr.arp.target_mac | 48 [144..191] | |
430 | | ingress::hdr.arp.target_ip | 32 [192..223] | |
431 +------+-------------------------------------------------+---------------+-----------+
432 | 1 | state ingress::parse_geneve_mcast_tag | 4 bytes | |
433 | | | | |
434 | | ingress::hdr.geneve_opts.ox_mcast_tag.mcast_tag | 2 [0..1] | ( phv ) |
435 | | ingress::hdr.geneve_opts.ox_mcast_tag.reserved | 30 [2..31] | |
436 +------+-------------------------------------------------+---------------+-----------+
437 | | Total Bits | 256 | |
438 +------+-------------------------------------------------+---------------+-----------+
439 
440 Packets will use up to 1 CLOTs.
441 The parser path(s) that will use the most CLOTs contain the following states:
442 ingress::parse_inner_tcp (0 CLOTs)
443 ingress::parse_inner_udp (0 CLOTs)
444 ingress::parse_inner_icmp (0 CLOTs)
445 ingress::parse_inner_ipv4 (0 CLOTs)
446 ingress::parse_inner_ipv6 (0 CLOTs)
447 ingress::parse_inner_eth (0 CLOTs)
448 ingress::geneve_parsed (0 CLOTs)
449 ingress::parse_geneve_mcast_tag (1 CLOTs)
450 ingress::parse_geneve_ox_opt (0 CLOTs)
451 ingress::parse_geneve_opt (0 CLOTs)
452 ingress::parse_geneve (0 CLOTs)
453 ingress::parse_udp (0 CLOTs)
454 ingress::goto_proto_ipv4 (0 CLOTs)
455 ingress::set_mcast_ipv4 (0 CLOTs)
456 ingress::validate_ipv4_mcast_3 (0 CLOTs)
457 ingress::validate_ipv4_mcast1_2 (0 CLOTs)
458 ingress::validate_ttl (0 CLOTs)
459 ingress::parse_ipv4 (0 CLOTs)
460 ingress::goto_proto_ipv6 (0 CLOTs)
461 ingress::set_link_local_mcast (0 CLOTs)
462 ingress::set_mcast_ipv6 (0 CLOTs)
463 ingress::validate_hop_limit (0 CLOTs)
464 ingress::check_ipv6_mcast (0 CLOTs)
465 ingress::parse_ipv6 (0 CLOTs)
466 ingress::parse_arp (1 CLOTs)
467 ingress::parse_vlan (0 CLOTs)
468 ingress::parse_sidecar (0 CLOTs)
469 $entry_point.start (0 CLOTs)
470 
471 CLOT Allocation (egress):
472 +------+--------------------------------------------------+----------------+------------+
473 | CLOT | Fields | Bits | Property |
474 +------+--------------------------------------------------+----------------+------------+
475 | 0 | state egress::parse_ipv6 | 40 bytes | |
476 | | | | |
477 | | egress::hdr.ipv6.version | 4 [0..3] | |
478 | | egress::hdr.ipv6.traffic_class | 8 [4..11] | |
479 | | egress::hdr.ipv6.flow_label | 20 [12..31] | |
480 | | egress::hdr.ipv6.payload_len | 16 [32..47] | |
481 | | egress::hdr.ipv6.next_hdr | 8 [48..55] | |
482 | | egress::hdr.ipv6.hop_limit | 8 [56..63] | |
483 | | egress::hdr.ipv6.src_addr | 128 [64..191] | |
484 | | egress::hdr.ipv6.dst_addr | 128 [192..319] | ( phv ) |
485 +------+--------------------------------------------------+----------------+------------+
486 | 1 | state egress::parse_inner_ipv6 | 40 bytes | |
487 | | | | |
488 | | egress::hdr.inner_ipv6.version | 4 [0..3] | |
489 | | egress::hdr.inner_ipv6.traffic_class | 8 [4..11] | |
490 | | egress::hdr.inner_ipv6.flow_label | 20 [12..31] | |
491 | | egress::hdr.inner_ipv6.payload_len | 16 [32..47] | |
492 | | egress::hdr.inner_ipv6.next_hdr | 8 [48..55] | |
493 | | egress::hdr.inner_ipv6.hop_limit | 8 [56..63] | ( phv* ) |
494 | | egress::hdr.inner_ipv6.src_addr | 128 [64..191] | |
495 | | egress::hdr.inner_ipv6.dst_addr | 128 [192..319] | ( phv ) |
496 +------+--------------------------------------------------+----------------+------------+
497 | 2 | state egress::parse_inner_tcp | 20 bytes | |
498 | | | | |
499 | | egress::hdr.inner_tcp.src_port | 16 [0..15] | |
500 | | egress::hdr.inner_tcp.dst_port | 16 [16..31] | |
501 | | egress::hdr.inner_tcp.seq_no | 32 [32..63] | |
502 | | egress::hdr.inner_tcp.ack_no | 32 [64..95] | |
503 | | egress::hdr.inner_tcp.data_offset | 4 [96..99] | |
504 | | egress::hdr.inner_tcp.res | 4 [100..103] | |
505 | | egress::hdr.inner_tcp.flags | 8 [104..111] | |
506 | | egress::hdr.inner_tcp.window | 16 [112..127] | |
507 | | egress::hdr.inner_tcp.checksum | 16 [128..143] | |
508 | | egress::hdr.inner_tcp.urgent_ptr | 16 [144..159] | |
509 +------+--------------------------------------------------+----------------+------------+
510 | 3 | state egress::parse_ipv4 | 20 bytes | |
511 | | | | |
512 | | egress::hdr.ipv4.version | 4 [0..3] | |
513 | | egress::hdr.ipv4.ihl | 4 [4..7] | |
514 | | egress::hdr.ipv4.diffserv | 8 [8..15] | |
515 | | egress::hdr.ipv4.total_len | 16 [16..31] | |
516 | | egress::hdr.ipv4.identification | 16 [32..47] | |
517 | | egress::hdr.ipv4.flags | 3 [48..50] | |
518 | | egress::hdr.ipv4.frag_offset | 13 [51..63] | |
519 | | egress::hdr.ipv4.ttl | 8 [64..71] | |
520 | | egress::hdr.ipv4.protocol | 8 [72..79] | |
521 | | egress::hdr.ipv4.hdr_checksum | 16 [80..95] | |
522 | | egress::hdr.ipv4.src_addr | 32 [96..127] | |
523 | | egress::hdr.ipv4.dst_addr | 32 [128..159] | ( phv ) |
524 +------+--------------------------------------------------+----------------+------------+
525 | 4 | state egress::parse_inner_eth | 11 bytes | |
526 | | | | |
527 | | egress::hdr.inner_eth.dst_mac | 48 [0..47] | |
528 | | egress::hdr.inner_eth.src_mac[47:8] | 40 [48..87] | |
529 +------+--------------------------------------------------+----------------+------------+
530 | 5 | state egress::parse_inner_ipv4 | 10 bytes | |
531 | | | | |
532 | | egress::hdr.inner_ipv4.version | 4 [0..3] | |
533 | | egress::hdr.inner_ipv4.ihl | 4 [4..7] | |
534 | | egress::hdr.inner_ipv4.diffserv | 8 [8..15] | |
535 | | egress::hdr.inner_ipv4.total_len | 16 [16..31] | |
536 | | egress::hdr.inner_ipv4.identification | 16 [32..47] | |
537 | | egress::hdr.inner_ipv4.flags | 3 [48..50] | |
538 | | egress::hdr.inner_ipv4.frag_offset | 13 [51..63] | |
539 | | egress::hdr.inner_ipv4.ttl | 8 [64..71] | ( phv* ) |
540 | | egress::hdr.inner_ipv4.protocol | 8 [72..79] | |
541 +------+--------------------------------------------------+----------------+------------+
542 | 6 | state egress::parse_inner_udp | 8 bytes | |
543 | | | | |
544 | | egress::hdr.inner_udp.src_port | 16 [0..15] | |
545 | | egress::hdr.inner_udp.dst_port | 16 [16..31] | |
546 | | egress::hdr.inner_udp.hdr_length | 16 [32..47] | |
547 | | egress::hdr.inner_udp.checksum | 16 [48..63] | |
548 +------+--------------------------------------------------+----------------+------------+
549 | 7 | state egress::parse_udp | 8 bytes | |
550 | | | | |
551 | | egress::hdr.udp.src_port | 16 [0..15] | |
552 | | egress::hdr.udp.dst_port | 16 [16..31] | |
553 | | egress::hdr.udp.hdr_length | 16 [32..47] | |
554 | | egress::hdr.udp.checksum | 16 [48..63] | |
555 +------+--------------------------------------------------+----------------+------------+
556 | 8 | state egress::parse_icmp | 5 bytes | |
557 | | | | |
558 | | egress::hdr.icmp.hdr_checksum[7:0] | 8 [0..7] | |
559 | | egress::hdr.icmp.data | 32 [8..39] | |
560 +------+--------------------------------------------------+----------------+------------+
561 | 9 | state egress::parse_geneve | 5 bytes | |
562 | | | | |
563 | | egress::hdr.geneve.version | 2 [0..1] | |
564 | | egress::hdr.geneve.opt_len | 6 [2..7] | |
565 | | egress::hdr.geneve.ctrl | 1 [8..8] | |
566 | | egress::hdr.geneve.crit | 1 [9..9] | |
567 | | egress::hdr.geneve.reserved | 6 [10..15] | |
568 | | egress::hdr.geneve.protocol | 16 [16..31] | |
569 | | egress::hdr.geneve.vni[23:16] | 8 [32..39] | |
570 +------+--------------------------------------------------+----------------+------------+
571 | 10 | state egress::parse_geneve_opt | 4 bytes | |
572 | | | | |
573 | | egress::hdr.geneve_opts.ox_external_tag.class | 16 [0..15] | |
574 | | egress::hdr.geneve_opts.ox_external_tag.crit | 1 [16..16] | |
575 | | egress::hdr.geneve_opts.ox_external_tag.type | 7 [17..23] | |
576 | | egress::hdr.geneve_opts.ox_external_tag.reserved | 3 [24..26] | |
577 | | egress::hdr.geneve_opts.ox_external_tag.opt_len | 5 [27..31] | |
578 +------+--------------------------------------------------+----------------+------------+
579 | 11 | state egress::parse_inner_ipv4 | 7 bytes | |
580 | | | | |
581 | | egress::hdr.inner_ipv4.src_addr[23:0] | 24 [0..23] | |
582 | | egress::hdr.inner_ipv4.dst_addr | 32 [24..55] | ( phv ) |
583 +------+--------------------------------------------------+----------------+------------+
584 | | Total Bits | 1424 | |
585 +------+--------------------------------------------------+----------------+------------+
586 
587 Packets will use up to 8 CLOTs.
588 The parser path(s) that will use the most CLOTs contain the following states:
589 egress::parse_inner_tcp (1 CLOTs)
590 egress::parse_inner_udp (1 CLOTs)
591 egress::parse_inner_ipv4 (2 CLOTs)
592 egress::parse_inner_eth (1 CLOTs)
593 egress::geneve_parsed (0 CLOTs)
594 egress::parse_geneve_mcast_tag (0 CLOTs)
595 egress::parse_geneve_ox_opt (0 CLOTs)
596 egress::parse_geneve_opt (1 CLOTs)
597 egress::parse_geneve (1 CLOTs)
598 egress::parse_udp (1 CLOTs)
599 egress::parse_ipv4 (1 CLOTs)
600 egress::parse_ipv6 (1 CLOTs)
601 egress::parse_vlan (0 CLOTs)
602 $entry_point.start (0 CLOTs)
603 
604 All fields:
605 +---------------------------------------------------+------+-------+-----------+
606 | Field | Bits | CLOTs | Property |
607 +---------------------------------------------------+------+-------+-----------+
608 | ingress::ig_intr_md.ingress_port | 9 | | read-only |
609 | ingress::meta.bridge_hdr.ingress_port | 9 | | unused |
610 | ingress::hdr.ethernet.dst_mac | 48 | | modified |
611 | ingress::hdr.ethernet.src_mac | 48 | | modified |
612 | ingress::hdr.ethernet.ether_type | 16 | | modified |
613 | ingress::meta.orig_src_mac | 48 | | read-only |
614 | ingress::hdr.sidecar.sc_code | 8 | | modified |
615 | ingress::hdr.sidecar.sc_pad | 8 | | unused |
616 | ingress::hdr.sidecar.sc_ingress | 16 | | modified |
617 | ingress::hdr.sidecar.sc_egress | 16 | | modified |
618 | ingress::hdr.sidecar.sc_ether_type | 16 | | modified |
619 | ingress::hdr.sidecar.sc_payload | 128 | | modified |
620 | ingress::hdr.vlan.pcp | 3 | | modified |
621 | ingress::hdr.vlan.dei | 1 | | modified |
622 | ingress::hdr.vlan.vlan_id | 12 | | modified |
623 | ingress::hdr.vlan.ether_type | 16 | | modified |
624 | ingress::hdr.ipv4.version | 4 | | modified |
625 | ingress::hdr.ipv4.ihl | 4 | | modified |
626 | ingress::hdr.ipv4.diffserv | 8 | | modified |
627 | ingress::hdr.ipv4.total_len | 16 | | modified |
628 | ingress::hdr.ipv4.identification | 16 | | modified |
629 | ingress::hdr.ipv4.flags | 3 | | modified |
630 | ingress::hdr.ipv4.frag_offset | 13 | | modified |
631 | ingress::hdr.ipv4.ttl | 8 | | modified |
632 | ingress::hdr.ipv4.protocol | 8 | | modified |
633 | ingress::hdr.ipv4.hdr_checksum | 16 | | checksum |
634 | ingress::hdr.ipv4.src_addr | 32 | | modified |
635 | ingress::hdr.ipv4.dst_addr | 32 | | modified |
636 | ingress::meta.orig_src_ipv4 | 32 | | read-only |
637 | ingress::meta.orig_dst_ipv4 | 32 | | read-only |
638 | ingress::hdr.icmp.type | 8 | | modified |
639 | ingress::hdr.icmp.code | 8 | | modified |
640 | ingress::hdr.icmp.hdr_checksum | 16 | | checksum |
641 | ingress::hdr.icmp.data | 32 | | modified |
642 | ingress::hdr.tcp.src_port | 16 | | modified |
643 | ingress::hdr.tcp.dst_port | 16 | | modified |
644 | ingress::hdr.tcp.seq_no | 32 | | modified |
645 | ingress::hdr.tcp.ack_no | 32 | | modified |
646 | ingress::hdr.tcp.data_offset | 4 | | modified |
647 | ingress::hdr.tcp.res | 4 | | modified |
648 | ingress::hdr.tcp.flags | 8 | | modified |
649 | ingress::hdr.tcp.window | 16 | | modified |
650 | ingress::hdr.tcp.checksum | 16 | | modified |
651 | ingress::hdr.tcp.urgent_ptr | 16 | | modified |
652 | ingress::meta.l4_src_port | 16 | | read-only |
653 | ingress::meta.l4_dst_port | 16 | | modified |
654 | ingress::hdr.udp.src_port | 16 | | modified |
655 | ingress::hdr.udp.dst_port | 16 | | modified |
656 | ingress::hdr.udp.hdr_length | 16 | | modified |
657 | ingress::hdr.udp.checksum | 16 | | checksum |
658 | ingress::hdr.geneve.version | 2 | | modified |
659 | ingress::hdr.geneve.opt_len | 6 | | modified |
660 | ingress::hdr.geneve.ctrl | 1 | | modified |
661 | ingress::hdr.geneve.crit | 1 | | modified |
662 | ingress::hdr.geneve.reserved | 6 | | modified |
663 | ingress::hdr.geneve.protocol | 16 | | modified |
664 | ingress::hdr.geneve.vni | 24 | | modified |
665 | ingress::hdr.geneve.reserved2 | 8 | | modified |
666 | ingress::hdr.inner_eth.dst_mac | 48 | | modified |
667 | ingress::hdr.inner_eth.src_mac | 48 | | modified |
668 | ingress::hdr.inner_eth.ether_type | 16 | | modified |
669 | ingress::hdr.inner_ipv4.version | 4 | | modified |
670 | ingress::hdr.inner_ipv4.ihl | 4 | | modified |
671 | ingress::hdr.inner_ipv4.diffserv | 8 | | modified |
672 | ingress::hdr.inner_ipv4.total_len | 16 | | modified |
673 | ingress::hdr.inner_ipv4.identification | 16 | | modified |
674 | ingress::hdr.inner_ipv4.flags | 3 | | modified |
675 | ingress::hdr.inner_ipv4.frag_offset | 13 | | modified |
676 | ingress::hdr.inner_ipv4.ttl | 8 | | modified |
677 | ingress::hdr.inner_ipv4.protocol | 8 | | modified |
678 | ingress::hdr.inner_ipv4.hdr_checksum | 16 | | modified |
679 | ingress::hdr.inner_ipv4.src_addr | 32 | | modified |
680 | ingress::hdr.inner_ipv4.dst_addr | 32 | | modified |
681 | ingress::hdr.inner_tcp.src_port | 16 | | modified |
682 | ingress::hdr.inner_tcp.dst_port | 16 | | modified |
683 | ingress::hdr.inner_tcp.seq_no | 32 | | modified |
684 | ingress::hdr.inner_tcp.ack_no | 32 | | modified |
685 | ingress::hdr.inner_tcp.data_offset | 4 | | modified |
686 | ingress::hdr.inner_tcp.res | 4 | | modified |
687 | ingress::hdr.inner_tcp.flags | 8 | | modified |
688 | ingress::hdr.inner_tcp.window | 16 | | modified |
689 | ingress::hdr.inner_tcp.checksum | 16 | | modified |
690 | ingress::hdr.inner_tcp.urgent_ptr | 16 | | modified |
691 | ingress::hdr.inner_udp.src_port | 16 | | modified |
692 | ingress::hdr.inner_udp.dst_port | 16 | | modified |
693 | ingress::hdr.inner_udp.hdr_length | 16 | | modified |
694 | ingress::hdr.inner_udp.checksum | 16 | | modified |
695 | ingress::hdr.inner_icmp.type | 8 | | modified |
696 | ingress::hdr.inner_icmp.code | 8 | | modified |
697 | ingress::hdr.inner_icmp.hdr_checksum | 16 | | modified |
698 | ingress::hdr.inner_icmp.data | 32 | | modified |
699 | ingress::hdr.inner_ipv6.version | 4 | | modified |
700 | ingress::hdr.inner_ipv6.traffic_class | 8 | | modified |
701 | ingress::hdr.inner_ipv6.flow_label | 20 | | modified |
702 | ingress::hdr.inner_ipv6.payload_len | 16 | | modified |
703 | ingress::hdr.inner_ipv6.next_hdr | 8 | | modified |
704 | ingress::hdr.inner_ipv6.hop_limit | 8 | | modified |
705 | ingress::hdr.inner_ipv6.src_addr | 128 | | modified |
706 | ingress::hdr.inner_ipv6.dst_addr | 128 | | modified |
707 | ingress::hdr.geneve_opts.ox_external_tag.class | 16 | | modified |
708 | ingress::hdr.geneve_opts.ox_external_tag.crit | 1 | | modified |
709 | ingress::hdr.geneve_opts.ox_external_tag.type | 7 | | modified |
710 | ingress::hdr.geneve_opts.ox_external_tag.reserved | 3 | | modified |
711 | ingress::hdr.geneve_opts.ox_external_tag.opt_len | 5 | | modified |
712 | ingress::hdr.geneve_opts.ox_mcast_tag.mcast_tag | 2 | 1 | read-only |
713 | ingress::hdr.geneve_opts.ox_mcast_tag.reserved | 30 | 1 | unused |
714 | ingress::hdr.ipv6.version | 4 | | modified |
715 | ingress::hdr.ipv6.traffic_class | 8 | | modified |
716 | ingress::hdr.ipv6.flow_label | 20 | | modified |
717 | ingress::hdr.ipv6.payload_len | 16 | | modified |
718 | ingress::hdr.ipv6.next_hdr | 8 | | modified |
719 | ingress::hdr.ipv6.hop_limit | 8 | | modified |
720 | ingress::hdr.ipv6.src_addr | 128 | | modified |
721 | ingress::hdr.ipv6.dst_addr | 128 | | modified |
722 | ingress::hdr.arp.hw_type | 16 | 0 | unused |
723 | ingress::hdr.arp.proto_type | 16 | 0 | unused |
724 | ingress::hdr.arp.hw_addr_len | 8 | 0 | unused |
725 | ingress::hdr.arp.proto_addr_len | 8 | 0 | unused |
726 | ingress::hdr.arp.opcode | 16 | 0 | unused |
727 | ingress::hdr.arp.sender_mac | 48 | 0 | unused |
728 | ingress::hdr.arp.sender_ip | 32 | 0 | unused |
729 | ingress::hdr.arp.target_mac | 48 | 0 | unused |
730 | ingress::hdr.arp.target_ip | 32 | 0 | unused |
731 | egress::eg_intr_md.egress_port | 9 | | read-only |
732 | egress::eg_intr_md.egress_rid | 16 | | read-only |
733 | egress::eg_intr_md.egress_rid_first | 1 | | read-only |
734 | egress::meta.bridge_hdr.ingress_port | 9 | | read-only |
735 | egress::hdr.ethernet.dst_mac | 48 | | modified |
736 | egress::hdr.ethernet.src_mac | 48 | | modified |
737 | egress::hdr.ethernet.ether_type | 16 | | modified |
738 | egress::hdr.vlan.pcp | 3 | | modified |
739 | egress::hdr.vlan.dei | 1 | | modified |
740 | egress::hdr.vlan.vlan_id | 12 | | modified |
741 | egress::hdr.vlan.ether_type | 16 | | modified |
742 | egress::hdr.ipv4.version | 4 | 3 | unused |
743 | egress::hdr.ipv4.ihl | 4 | 3 | unused |
744 | egress::hdr.ipv4.diffserv | 8 | 3 | unused |
745 | egress::hdr.ipv4.total_len | 16 | 3 | unused |
746 | egress::hdr.ipv4.identification | 16 | 3 | unused |
747 | egress::hdr.ipv4.flags | 3 | 3 | unused |
748 | egress::hdr.ipv4.frag_offset | 13 | 3 | unused |
749 | egress::hdr.ipv4.ttl | 8 | 3 | unused |
750 | egress::hdr.ipv4.protocol | 8 | 3 | unused |
751 | egress::hdr.ipv4.hdr_checksum | 16 | 3 | unused |
752 | egress::hdr.ipv4.src_addr | 32 | 3 | unused |
753 | egress::hdr.ipv4.dst_addr | 32 | 3 | read-only |
754 | egress::hdr.icmp.type | 8 | | unused |
755 | egress::hdr.icmp.code | 8 | | unused |
756 | egress::hdr.icmp.hdr_checksum | 16 | 8 | unused |
757 | egress::hdr.icmp.data | 32 | 8 | unused |
758 | egress::hdr.udp.src_port | 16 | 7 | unused |
759 | egress::hdr.udp.dst_port | 16 | 7 | unused |
760 | egress::hdr.udp.hdr_length | 16 | 7 | unused |
761 | egress::hdr.udp.checksum | 16 | 7 | unused |
762 | egress::hdr.geneve.version | 2 | 9 | unused |
763 | egress::hdr.geneve.opt_len | 6 | 9 | unused |
764 | egress::hdr.geneve.ctrl | 1 | 9 | unused |
765 | egress::hdr.geneve.crit | 1 | 9 | unused |
766 | egress::hdr.geneve.reserved | 6 | 9 | unused |
767 | egress::hdr.geneve.protocol | 16 | 9 | unused |
768 | egress::hdr.geneve.vni | 24 | 9 | unused |
769 | egress::hdr.geneve.reserved2 | 8 | | unused |
770 | egress::hdr.inner_eth.dst_mac | 48 | 4 | unused |
771 | egress::hdr.inner_eth.src_mac | 48 | 4 | unused |
772 | egress::hdr.inner_eth.ether_type | 16 | | unused |
773 | egress::hdr.inner_ipv4.version | 4 | 5 | unused |
774 | egress::hdr.inner_ipv4.ihl | 4 | 5 | unused |
775 | egress::hdr.inner_ipv4.diffserv | 8 | 5 | unused |
776 | egress::hdr.inner_ipv4.total_len | 16 | 5 | unused |
777 | egress::hdr.inner_ipv4.identification | 16 | 5 | unused |
778 | egress::hdr.inner_ipv4.flags | 3 | 5 | unused |
779 | egress::hdr.inner_ipv4.frag_offset | 13 | 5 | unused |
780 | egress::hdr.inner_ipv4.ttl | 8 | 5 | modified |
781 | egress::hdr.inner_ipv4.protocol | 8 | 5 | unused |
782 | egress::hdr.inner_ipv4.hdr_checksum | 16 | | checksum |
783 | egress::hdr.inner_ipv4.src_addr | 32 | 11 | unused |
784 | egress::hdr.inner_ipv4.dst_addr | 32 | 11 | read-only |
785 | egress::hdr.inner_tcp.src_port | 16 | 2 | unused |
786 | egress::hdr.inner_tcp.dst_port | 16 | 2 | unused |
787 | egress::hdr.inner_tcp.seq_no | 32 | 2 | unused |
788 | egress::hdr.inner_tcp.ack_no | 32 | 2 | unused |
789 | egress::hdr.inner_tcp.data_offset | 4 | 2 | unused |
790 | egress::hdr.inner_tcp.res | 4 | 2 | unused |
791 | egress::hdr.inner_tcp.flags | 8 | 2 | unused |
792 | egress::hdr.inner_tcp.window | 16 | 2 | unused |
793 | egress::hdr.inner_tcp.checksum | 16 | 2 | unused |
794 | egress::hdr.inner_tcp.urgent_ptr | 16 | 2 | unused |
795 | egress::hdr.inner_udp.src_port | 16 | 6 | unused |
796 | egress::hdr.inner_udp.dst_port | 16 | 6 | unused |
797 | egress::hdr.inner_udp.hdr_length | 16 | 6 | unused |
798 | egress::hdr.inner_udp.checksum | 16 | 6 | unused |
799 | egress::hdr.inner_ipv6.version | 4 | 1 | unused |
800 | egress::hdr.inner_ipv6.traffic_class | 8 | 1 | unused |
801 | egress::hdr.inner_ipv6.flow_label | 20 | 1 | unused |
802 | egress::hdr.inner_ipv6.payload_len | 16 | 1 | unused |
803 | egress::hdr.inner_ipv6.next_hdr | 8 | 1 | unused |
804 | egress::hdr.inner_ipv6.hop_limit | 8 | 1 | modified |
805 | egress::hdr.inner_ipv6.src_addr | 128 | 1 | unused |
806 | egress::hdr.inner_ipv6.dst_addr | 128 | 1 | read-only |
807 | egress::hdr.geneve_opts.ox_external_tag.class | 16 | 10 | unused |
808 | egress::hdr.geneve_opts.ox_external_tag.crit | 1 | 10 | unused |
809 | egress::hdr.geneve_opts.ox_external_tag.type | 7 | 10 | unused |
810 | egress::hdr.geneve_opts.ox_external_tag.reserved | 3 | 10 | unused |
811 | egress::hdr.geneve_opts.ox_external_tag.opt_len | 5 | 10 | unused |
812 | egress::hdr.geneve_opts.ox_mcast_tag.mcast_tag | 2 | | read-only |
813 | egress::hdr.geneve_opts.ox_mcast_tag.reserved | 30 | | unused |
814 | egress::hdr.ipv6.version | 4 | 0 | unused |
815 | egress::hdr.ipv6.traffic_class | 8 | 0 | unused |
816 | egress::hdr.ipv6.flow_label | 20 | 0 | unused |
817 | egress::hdr.ipv6.payload_len | 16 | 0 | unused |
818 | egress::hdr.ipv6.next_hdr | 8 | 0 | unused |
819 | egress::hdr.ipv6.hop_limit | 8 | 0 | unused |
820 | egress::hdr.ipv6.src_addr | 128 | 0 | unused |
821 | egress::hdr.ipv6.dst_addr | 128 | 0 | read-only |
822 +---------------------------------------------------+------+-------+-----------+
823 | Unused fields | 84 | | |
824 | Unused bits | 1469 | | |
825 | Unused CLOT-allocated fields | 77 | | |
826 | Unused CLOT-allocated bits | 1342 | | |
827 +---------------------------------------------------+------+-------+-----------+
828