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_mss_tag | 8 bytes | |
19 | | | | |
20 | | ingress::hdr.geneve_opts.oxg_mss_tag.class | 16 [0..15] | |
21 | | ingress::hdr.geneve_opts.oxg_mss_tag.crit | 1 [16..16] | |
22 | | ingress::hdr.geneve_opts.oxg_mss_tag.type | 7 [17..23] | |
23 | | ingress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 [24..26] | |
24 | | ingress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 [27..31] | |
25 | | ingress::hdr.geneve_opts.oxg_mss.mss | 32 [32..63] | |
26 +------+-------------------------------------------------+---------------+-----------+
27 | 2 | state ingress::parse_geneve_mcast_tag | 8 bytes | |
28 | | | | |
29 | | ingress::hdr.geneve_opts.oxg_mcast_tag.class | 16 [0..15] | |
30 | | ingress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 [16..16] | |
31 | | ingress::hdr.geneve_opts.oxg_mcast_tag.type | 7 [17..23] | |
32 | | ingress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 [24..26] | |
33 | | ingress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 [27..31] | |
34 | | ingress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 [32..33] | ( phv ) |
35 | | ingress::hdr.geneve_opts.oxg_mcast.reserved | 30 [34..63] | |
36 +------+-------------------------------------------------+---------------+-----------+
37 | | Total Bits | 352 | |
38 +------+-------------------------------------------------+---------------+-----------+
39 
40 Packets will use up to 1 CLOTs.
41 The parser path(s) that will use the most CLOTs contain the following states:
42 ingress::parse_inner_tcp (0 CLOTs)
43 ingress::parse_inner_udp (0 CLOTs)
44 ingress::parse_inner_icmp (0 CLOTs)
45 ingress::parse_inner_ipv4 (0 CLOTs)
46 ingress::parse_inner_ipv6 (0 CLOTs)
47 ingress::parse_inner_eth (0 CLOTs)
48 ingress::geneve_parsed (0 CLOTs)
49 ingress::geneve_bad_size (0 CLOTs)
50 ingress::geneve_opt_parsed (0 CLOTs)
51 ingress::geneve_malformed (0 CLOTs)
52 ingress::parse_geneve_mcast_tag (1 CLOTs)
53 ingress::parse_geneve_mss_tag (1 CLOTs)
54 ingress::parse_geneve_ox_opt (0 CLOTs)
55 ingress::parse_geneve_opt (0 CLOTs)
56 ingress::parse_geneve (0 CLOTs)
57 ingress::parse_udp (0 CLOTs)
58 ingress::goto_proto_ipv4 (0 CLOTs)
59 ingress::set_mcast_ipv4 (0 CLOTs)
60 ingress::validate_ipv4_mcast_3 (0 CLOTs)
61 ingress::validate_ipv4_mcast1_2 (0 CLOTs)
62 ingress::defer_ttl_drop (0 CLOTs)
63 ingress::validate_ttl (0 CLOTs)
64 ingress::parse_ipv4 (0 CLOTs)
65 ingress::goto_proto_ipv6 (0 CLOTs)
66 ingress::defer_hop_limit_drop (0 CLOTs)
67 ingress::validate_hop_limit (0 CLOTs)
68 ingress::set_link_local_mcast (0 CLOTs)
69 ingress::set_mcast_ipv6 (0 CLOTs)
70 ingress::check_ipv6_mcast (0 CLOTs)
71 ingress::parse_ipv6 (0 CLOTs)
72 ingress::parse_arp (1 CLOTs)
73 ingress::parse_vlan (0 CLOTs)
74 ingress::parse_sidecar (0 CLOTs)
75 $entry_point.start (0 CLOTs)
76 
77 CLOT Allocation (egress):
78 +------+------------------------------------------------+----------------+------------+
79 | CLOT | Fields | Bits | Property |
80 +------+------------------------------------------------+----------------+------------+
81 | 0 | state egress::parse_ipv6 | 40 bytes | |
82 | | | | |
83 | | egress::hdr.ipv6.version | 4 [0..3] | |
84 | | egress::hdr.ipv6.traffic_class | 8 [4..11] | |
85 | | egress::hdr.ipv6.flow_label | 20 [12..31] | |
86 | | egress::hdr.ipv6.payload_len | 16 [32..47] | |
87 | | egress::hdr.ipv6.next_hdr | 8 [48..55] | |
88 | | egress::hdr.ipv6.hop_limit | 8 [56..63] | |
89 | | egress::hdr.ipv6.src_addr | 128 [64..191] | |
90 | | egress::hdr.ipv6.dst_addr | 128 [192..319] | ( phv ) |
91 +------+------------------------------------------------+----------------+------------+
92 | 1 | state egress::parse_inner_ipv6 | 40 bytes | |
93 | | | | |
94 | | egress::hdr.inner_ipv6.version | 4 [0..3] | |
95 | | egress::hdr.inner_ipv6.traffic_class | 8 [4..11] | |
96 | | egress::hdr.inner_ipv6.flow_label | 20 [12..31] | |
97 | | egress::hdr.inner_ipv6.payload_len | 16 [32..47] | |
98 | | egress::hdr.inner_ipv6.next_hdr | 8 [48..55] | |
99 | | egress::hdr.inner_ipv6.hop_limit | 8 [56..63] | ( phv* ) |
100 | | egress::hdr.inner_ipv6.src_addr | 128 [64..191] | |
101 | | egress::hdr.inner_ipv6.dst_addr | 128 [192..319] | ( phv ) |
102 +------+------------------------------------------------+----------------+------------+
103 | 2 | state egress::parse_inner_tcp | 20 bytes | |
104 | | | | |
105 | | egress::hdr.inner_tcp.src_port | 16 [0..15] | |
106 | | egress::hdr.inner_tcp.dst_port | 16 [16..31] | |
107 | | egress::hdr.inner_tcp.seq_no | 32 [32..63] | |
108 | | egress::hdr.inner_tcp.ack_no | 32 [64..95] | |
109 | | egress::hdr.inner_tcp.data_offset | 4 [96..99] | |
110 | | egress::hdr.inner_tcp.res | 4 [100..103] | |
111 | | egress::hdr.inner_tcp.flags | 8 [104..111] | |
112 | | egress::hdr.inner_tcp.window | 16 [112..127] | |
113 | | egress::hdr.inner_tcp.checksum | 16 [128..143] | |
114 | | egress::hdr.inner_tcp.urgent_ptr | 16 [144..159] | |
115 +------+------------------------------------------------+----------------+------------+
116 | 3 | state egress::parse_ipv4 | 20 bytes | |
117 | | | | |
118 | | egress::hdr.ipv4.version | 4 [0..3] | |
119 | | egress::hdr.ipv4.ihl | 4 [4..7] | |
120 | | egress::hdr.ipv4.diffserv | 8 [8..15] | |
121 | | egress::hdr.ipv4.total_len | 16 [16..31] | |
122 | | egress::hdr.ipv4.identification | 16 [32..47] | |
123 | | egress::hdr.ipv4.flags | 3 [48..50] | |
124 | | egress::hdr.ipv4.frag_offset | 13 [51..63] | |
125 | | egress::hdr.ipv4.ttl | 8 [64..71] | |
126 | | egress::hdr.ipv4.protocol | 8 [72..79] | |
127 | | egress::hdr.ipv4.hdr_checksum | 16 [80..95] | |
128 | | egress::hdr.ipv4.src_addr | 32 [96..127] | |
129 | | egress::hdr.ipv4.dst_addr | 32 [128..159] | ( phv ) |
130 +------+------------------------------------------------+----------------+------------+
131 | 4 | state egress::parse_inner_eth | 11 bytes | |
132 | | | | |
133 | | egress::hdr.inner_eth.dst_mac | 48 [0..47] | |
134 | | egress::hdr.inner_eth.src_mac[47:8] | 40 [48..87] | |
135 +------+------------------------------------------------+----------------+------------+
136 | 5 | state egress::parse_inner_ipv4 | 10 bytes | |
137 | | | | |
138 | | egress::hdr.inner_ipv4.version | 4 [0..3] | |
139 | | egress::hdr.inner_ipv4.ihl | 4 [4..7] | |
140 | | egress::hdr.inner_ipv4.diffserv | 8 [8..15] | |
141 | | egress::hdr.inner_ipv4.total_len | 16 [16..31] | |
142 | | egress::hdr.inner_ipv4.identification | 16 [32..47] | |
143 | | egress::hdr.inner_ipv4.flags | 3 [48..50] | |
144 | | egress::hdr.inner_ipv4.frag_offset | 13 [51..63] | |
145 | | egress::hdr.inner_ipv4.ttl | 8 [64..71] | ( phv* ) |
146 | | egress::hdr.inner_ipv4.protocol | 8 [72..79] | |
147 +------+------------------------------------------------+----------------+------------+
148 | 6 | state egress::parse_inner_udp | 8 bytes | |
149 | | | | |
150 | | egress::hdr.inner_udp.src_port | 16 [0..15] | |
151 | | egress::hdr.inner_udp.dst_port | 16 [16..31] | |
152 | | egress::hdr.inner_udp.hdr_length | 16 [32..47] | |
153 | | egress::hdr.inner_udp.checksum | 16 [48..63] | |
154 +------+------------------------------------------------+----------------+------------+
155 | 7 | state egress::parse_udp | 8 bytes | |
156 | | | | |
157 | | egress::hdr.udp.src_port | 16 [0..15] | |
158 | | egress::hdr.udp.dst_port | 16 [16..31] | |
159 | | egress::hdr.udp.hdr_length | 16 [32..47] | |
160 | | egress::hdr.udp.checksum | 16 [48..63] | |
161 +------+------------------------------------------------+----------------+------------+
162 | 8 | state egress::parse_geneve | 5 bytes | |
163 | | | | |
164 | | egress::hdr.geneve.version | 2 [0..1] | |
165 | | egress::hdr.geneve.opt_len | 6 [2..7] | |
166 | | egress::hdr.geneve.ctrl | 1 [8..8] | |
167 | | egress::hdr.geneve.crit | 1 [9..9] | |
168 | | egress::hdr.geneve.reserved | 6 [10..15] | |
169 | | egress::hdr.geneve.protocol | 16 [16..31] | |
170 | | egress::hdr.geneve.vni[23:16] | 8 [32..39] | |
171 +------+------------------------------------------------+----------------+------------+
172 | 9 | state egress::parse_geneve_mss_tag | 4 bytes | |
173 | | | | |
174 | | egress::hdr.geneve_opts.oxg_mss_tag.class | 16 [0..15] | |
175 | | egress::hdr.geneve_opts.oxg_mss_tag.crit | 1 [16..16] | |
176 | | egress::hdr.geneve_opts.oxg_mss_tag.type | 7 [17..23] | |
177 | | egress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 [24..26] | |
178 | | egress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 [27..31] | |
179 +------+------------------------------------------------+----------------+------------+
180 | 10 | state egress::parse_geneve_mcast_tag | 4 bytes | |
181 | | | | |
182 | | egress::hdr.geneve_opts.oxg_mcast_tag.class | 16 [0..15] | |
183 | | egress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 [16..16] | |
184 | | egress::hdr.geneve_opts.oxg_mcast_tag.type | 7 [17..23] | |
185 | | egress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 [24..26] | |
186 | | egress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 [27..31] | |
187 +------+------------------------------------------------+----------------+------------+
188 | 11 | state egress::parse_inner_ipv4 | 7 bytes | |
189 | | | | |
190 | | egress::hdr.inner_ipv4.src_addr[23:0] | 24 [0..23] | |
191 | | egress::hdr.inner_ipv4.dst_addr | 32 [24..55] | ( phv ) |
192 +------+------------------------------------------------+----------------+------------+
193 | | Total Bits | 1416 | |
194 +------+------------------------------------------------+----------------+------------+
195 
196 Packets will use up to 8 CLOTs.
197 The parser path(s) that will use the most CLOTs contain the following states:
198 egress::parse_inner_tcp (1 CLOTs)
199 egress::parse_inner_udp (1 CLOTs)
200 egress::parse_inner_ipv4 (2 CLOTs)
201 egress::parse_inner_eth (1 CLOTs)
202 egress::geneve_parsed (0 CLOTs)
203 egress::geneve_opt_parsed (0 CLOTs)
204 egress::parse_geneve_mcast_tag (1 CLOTs)
205 egress::parse_geneve_mss_tag (1 CLOTs)
206 egress::parse_geneve_ox_opt (0 CLOTs)
207 egress::parse_geneve_opt (0 CLOTs)
208 egress::parse_geneve (1 CLOTs)
209 egress::parse_udp (1 CLOTs)
210 egress::check_underlay_dst_79_64 (0 CLOTs)
211 egress::check_underlay_dst_95_80 (0 CLOTs)
212 egress::check_underlay_dst_111_96 (0 CLOTs)
213 egress::parse_ipv6 (1 CLOTs)
214 egress::parse_vlan (0 CLOTs)
215 egress::parse_ethernet (0 CLOTs)
216 $entry_point.start (0 CLOTs)
217 
218 All fields:
219 +-------------------------------------------------+------+-------+-----------+
220 | Field | Bits | CLOTs | Property |
221 +-------------------------------------------------+------+-------+-----------+
222 | ingress::ig_intr_md.ingress_port | 9 | | read-only |
223 | ingress::meta.bridge_hdr.ingress_port | 9 | | unused |
224 | ingress::hdr.ethernet.dst_mac | 48 | | modified |
225 | ingress::hdr.ethernet.src_mac | 48 | | modified |
226 | ingress::hdr.ethernet.ether_type | 16 | | modified |
227 | ingress::meta.orig_src_mac | 48 | | read-only |
228 | ingress::hdr.sidecar.sc_code | 8 | | modified |
229 | ingress::hdr.sidecar.sc_pad | 8 | | unused |
230 | ingress::hdr.sidecar.sc_ingress | 16 | | modified |
231 | ingress::hdr.sidecar.sc_egress | 16 | | modified |
232 | ingress::hdr.sidecar.sc_ether_type | 16 | | modified |
233 | ingress::hdr.sidecar.sc_payload | 128 | | modified |
234 | ingress::hdr.vlan.pcp | 3 | | modified |
235 | ingress::hdr.vlan.dei | 1 | | modified |
236 | ingress::hdr.vlan.vlan_id | 12 | | modified |
237 | ingress::hdr.vlan.ether_type | 16 | | modified |
238 | ingress::hdr.ipv4.version | 4 | | modified |
239 | ingress::hdr.ipv4.ihl | 4 | | modified |
240 | ingress::hdr.ipv4.diffserv | 8 | | modified |
241 | ingress::hdr.ipv4.total_len | 16 | | modified |
242 | ingress::hdr.ipv4.identification | 16 | | modified |
243 | ingress::hdr.ipv4.flags | 3 | | modified |
244 | ingress::hdr.ipv4.frag_offset | 13 | | modified |
245 | ingress::hdr.ipv4.ttl | 8 | | modified |
246 | ingress::hdr.ipv4.protocol | 8 | | modified |
247 | ingress::hdr.ipv4.hdr_checksum | 16 | | checksum |
248 | ingress::hdr.ipv4.src_addr | 32 | | modified |
249 | ingress::hdr.ipv4.dst_addr | 32 | | modified |
250 | ingress::meta.orig_src_ipv4 | 32 | | read-only |
251 | ingress::meta.orig_dst_ipv4 | 32 | | read-only |
252 | ingress::hdr.icmp.type | 8 | | modified |
253 | ingress::hdr.icmp.code | 8 | | modified |
254 | ingress::hdr.icmp.hdr_checksum | 16 | | checksum |
255 | ingress::hdr.icmp.data | 32 | | modified |
256 | ingress::hdr.tcp.src_port | 16 | | modified |
257 | ingress::hdr.tcp.dst_port | 16 | | modified |
258 | ingress::hdr.tcp.seq_no | 32 | | modified |
259 | ingress::hdr.tcp.ack_no | 32 | | modified |
260 | ingress::hdr.tcp.data_offset | 4 | | modified |
261 | ingress::hdr.tcp.res | 4 | | modified |
262 | ingress::hdr.tcp.flags | 8 | | modified |
263 | ingress::hdr.tcp.window | 16 | | modified |
264 | ingress::hdr.tcp.checksum | 16 | | modified |
265 | ingress::hdr.tcp.urgent_ptr | 16 | | modified |
266 | ingress::meta.l4_src_port | 16 | | read-only |
267 | ingress::meta.l4_dst_port | 16 | | modified |
268 | ingress::hdr.udp.src_port | 16 | | modified |
269 | ingress::hdr.udp.dst_port | 16 | | modified |
270 | ingress::hdr.udp.hdr_length | 16 | | modified |
271 | ingress::hdr.udp.checksum | 16 | | checksum |
272 | ingress::hdr.geneve.version | 2 | | modified |
273 | ingress::hdr.geneve.opt_len | 6 | | modified |
274 | ingress::hdr.geneve.ctrl | 1 | | modified |
275 | ingress::hdr.geneve.crit | 1 | | modified |
276 | ingress::hdr.geneve.reserved | 6 | | modified |
277 | ingress::hdr.geneve.protocol | 16 | | modified |
278 | ingress::hdr.geneve.vni | 24 | | modified |
279 | ingress::hdr.geneve.reserved2 | 8 | | modified |
280 | ingress::hdr.inner_eth.dst_mac | 48 | | modified |
281 | ingress::hdr.inner_eth.src_mac | 48 | | modified |
282 | ingress::hdr.inner_eth.ether_type | 16 | | modified |
283 | ingress::hdr.inner_ipv4.version | 4 | | modified |
284 | ingress::hdr.inner_ipv4.ihl | 4 | | modified |
285 | ingress::hdr.inner_ipv4.diffserv | 8 | | modified |
286 | ingress::hdr.inner_ipv4.total_len | 16 | | modified |
287 | ingress::hdr.inner_ipv4.identification | 16 | | modified |
288 | ingress::hdr.inner_ipv4.flags | 3 | | modified |
289 | ingress::hdr.inner_ipv4.frag_offset | 13 | | modified |
290 | ingress::hdr.inner_ipv4.ttl | 8 | | modified |
291 | ingress::hdr.inner_ipv4.protocol | 8 | | modified |
292 | ingress::hdr.inner_ipv4.hdr_checksum | 16 | | modified |
293 | ingress::hdr.inner_ipv4.src_addr | 32 | | modified |
294 | ingress::hdr.inner_ipv4.dst_addr | 32 | | modified |
295 | ingress::hdr.inner_tcp.src_port | 16 | | modified |
296 | ingress::hdr.inner_tcp.dst_port | 16 | | modified |
297 | ingress::hdr.inner_tcp.seq_no | 32 | | modified |
298 | ingress::hdr.inner_tcp.ack_no | 32 | | modified |
299 | ingress::hdr.inner_tcp.data_offset | 4 | | modified |
300 | ingress::hdr.inner_tcp.res | 4 | | modified |
301 | ingress::hdr.inner_tcp.flags | 8 | | modified |
302 | ingress::hdr.inner_tcp.window | 16 | | modified |
303 | ingress::hdr.inner_tcp.checksum | 16 | | modified |
304 | ingress::hdr.inner_tcp.urgent_ptr | 16 | | modified |
305 | ingress::hdr.inner_udp.src_port | 16 | | modified |
306 | ingress::hdr.inner_udp.dst_port | 16 | | modified |
307 | ingress::hdr.inner_udp.hdr_length | 16 | | modified |
308 | ingress::hdr.inner_udp.checksum | 16 | | modified |
309 | ingress::hdr.inner_icmp.type | 8 | | modified |
310 | ingress::hdr.inner_icmp.code | 8 | | modified |
311 | ingress::hdr.inner_icmp.hdr_checksum | 16 | | modified |
312 | ingress::hdr.inner_icmp.data | 32 | | modified |
313 | ingress::hdr.inner_ipv6.version | 4 | | modified |
314 | ingress::hdr.inner_ipv6.traffic_class | 8 | | modified |
315 | ingress::hdr.inner_ipv6.flow_label | 20 | | modified |
316 | ingress::hdr.inner_ipv6.payload_len | 16 | | modified |
317 | ingress::hdr.inner_ipv6.next_hdr | 8 | | modified |
318 | ingress::hdr.inner_ipv6.hop_limit | 8 | | modified |
319 | ingress::hdr.inner_ipv6.src_addr | 128 | | modified |
320 | ingress::hdr.inner_ipv6.dst_addr | 128 | | modified |
321 | ingress::hdr.geneve_opts.oxg_ext_tag.class | 16 | | modified |
322 | ingress::hdr.geneve_opts.oxg_ext_tag.crit | 1 | | modified |
323 | ingress::hdr.geneve_opts.oxg_ext_tag.type | 7 | | modified |
324 | ingress::hdr.geneve_opts.oxg_ext_tag.reserved | 3 | | modified |
325 | ingress::hdr.geneve_opts.oxg_ext_tag.opt_len | 5 | | modified |
326 | ingress::hdr.geneve_opts.oxg_mcast_tag.class | 16 | 2 | unused |
327 | ingress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 | 2 | unused |
328 | ingress::hdr.geneve_opts.oxg_mcast_tag.type | 7 | 2 | unused |
329 | ingress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 | 2 | unused |
330 | ingress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 | 2 | unused |
331 | ingress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 | 2 | read-only |
332 | ingress::hdr.geneve_opts.oxg_mcast.reserved | 30 | 2 | unused |
333 | ingress::hdr.geneve_opts.oxg_mss_tag.class | 16 | 1 | unused |
334 | ingress::hdr.geneve_opts.oxg_mss_tag.crit | 1 | 1 | unused |
335 | ingress::hdr.geneve_opts.oxg_mss_tag.type | 7 | 1 | unused |
336 | ingress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 | 1 | unused |
337 | ingress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 | 1 | unused |
338 | ingress::hdr.geneve_opts.oxg_mss.mss | 32 | 1 | unused |
339 | ingress::hdr.ipv6.version | 4 | | modified |
340 | ingress::hdr.ipv6.traffic_class | 8 | | modified |
341 | ingress::hdr.ipv6.flow_label | 20 | | modified |
342 | ingress::hdr.ipv6.payload_len | 16 | | modified |
343 | ingress::hdr.ipv6.next_hdr | 8 | | modified |
344 | ingress::hdr.ipv6.hop_limit | 8 | | modified |
345 | ingress::hdr.ipv6.src_addr | 128 | | modified |
346 | ingress::hdr.ipv6.dst_addr | 128 | | modified |
347 | ingress::hdr.arp.hw_type | 16 | 0 | unused |
348 | ingress::hdr.arp.proto_type | 16 | 0 | unused |
349 | ingress::hdr.arp.hw_addr_len | 8 | 0 | unused |
350 | ingress::hdr.arp.proto_addr_len | 8 | 0 | unused |
351 | ingress::hdr.arp.opcode | 16 | 0 | unused |
352 | ingress::hdr.arp.sender_mac | 48 | 0 | unused |
353 | ingress::hdr.arp.sender_ip | 32 | 0 | unused |
354 | ingress::hdr.arp.target_mac | 48 | 0 | unused |
355 | ingress::hdr.arp.target_ip | 32 | 0 | unused |
356 | egress::eg_intr_md.egress_port | 9 | | read-only |
357 | egress::eg_intr_md.egress_rid | 16 | | read-only |
358 | egress::eg_intr_md.egress_rid_first | 1 | | read-only |
359 | egress::meta.bridge_hdr.ingress_port | 9 | | read-only |
360 | egress::meta.bridge_hdr.nat_egress_hit | 1 | | read-only |
361 | egress::meta.bridge_hdr.is_link_local_mcastv6 | 1 | | read-only |
362 | egress::hdr.ethernet.dst_mac | 48 | | modified |
363 | egress::hdr.ethernet.src_mac | 48 | | modified |
364 | egress::hdr.ethernet.ether_type | 16 | | modified |
365 | egress::hdr.vlan.pcp | 3 | | modified |
366 | egress::hdr.vlan.dei | 1 | | modified |
367 | egress::hdr.vlan.vlan_id | 12 | | modified |
368 | egress::hdr.vlan.ether_type | 16 | | modified |
369 | egress::hdr.ipv4.version | 4 | 3 | unused |
370 | egress::hdr.ipv4.ihl | 4 | 3 | unused |
371 | egress::hdr.ipv4.diffserv | 8 | 3 | unused |
372 | egress::hdr.ipv4.total_len | 16 | 3 | unused |
373 | egress::hdr.ipv4.identification | 16 | 3 | unused |
374 | egress::hdr.ipv4.flags | 3 | 3 | unused |
375 | egress::hdr.ipv4.frag_offset | 13 | 3 | unused |
376 | egress::hdr.ipv4.ttl | 8 | 3 | unused |
377 | egress::hdr.ipv4.protocol | 8 | 3 | unused |
378 | egress::hdr.ipv4.hdr_checksum | 16 | 3 | unused |
379 | egress::hdr.ipv4.src_addr | 32 | 3 | unused |
380 | egress::hdr.ipv4.dst_addr | 32 | 3 | read-only |
381 | egress::hdr.ipv6.version | 4 | 0 | unused |
382 | egress::hdr.ipv6.traffic_class | 8 | 0 | unused |
383 | egress::hdr.ipv6.flow_label | 20 | 0 | unused |
384 | egress::hdr.ipv6.payload_len | 16 | 0 | unused |
385 | egress::hdr.ipv6.next_hdr | 8 | 0 | unused |
386 | egress::hdr.ipv6.hop_limit | 8 | 0 | unused |
387 | egress::hdr.ipv6.src_addr | 128 | 0 | unused |
388 | egress::hdr.ipv6.dst_addr | 128 | 0 | read-only |
389 | egress::hdr.udp.src_port | 16 | 7 | unused |
390 | egress::hdr.udp.dst_port | 16 | 7 | unused |
391 | egress::hdr.udp.hdr_length | 16 | 7 | unused |
392 | egress::hdr.udp.checksum | 16 | 7 | unused |
393 | egress::hdr.geneve.version | 2 | 8 | unused |
394 | egress::hdr.geneve.opt_len | 6 | 8 | unused |
395 | egress::hdr.geneve.ctrl | 1 | 8 | unused |
396 | egress::hdr.geneve.crit | 1 | 8 | unused |
397 | egress::hdr.geneve.reserved | 6 | 8 | unused |
398 | egress::hdr.geneve.protocol | 16 | 8 | unused |
399 | egress::hdr.geneve.vni | 24 | 8 | unused |
400 | egress::hdr.geneve.reserved2 | 8 | | unused |
401 | egress::hdr.inner_eth.dst_mac | 48 | 4 | unused |
402 | egress::hdr.inner_eth.src_mac | 48 | 4 | unused |
403 | egress::hdr.inner_eth.ether_type | 16 | | unused |
404 | egress::hdr.inner_ipv4.version | 4 | 5 | unused |
405 | egress::hdr.inner_ipv4.ihl | 4 | 5 | unused |
406 | egress::hdr.inner_ipv4.diffserv | 8 | 5 | unused |
407 | egress::hdr.inner_ipv4.total_len | 16 | 5 | unused |
408 | egress::hdr.inner_ipv4.identification | 16 | 5 | unused |
409 | egress::hdr.inner_ipv4.flags | 3 | 5 | unused |
410 | egress::hdr.inner_ipv4.frag_offset | 13 | 5 | unused |
411 | egress::hdr.inner_ipv4.ttl | 8 | 5 | modified |
412 | egress::hdr.inner_ipv4.protocol | 8 | 5 | unused |
413 | egress::hdr.inner_ipv4.hdr_checksum | 16 | | checksum |
414 | egress::hdr.inner_ipv4.src_addr | 32 | 11 | unused |
415 | egress::hdr.inner_ipv4.dst_addr | 32 | 11 | read-only |
416 | egress::hdr.inner_tcp.src_port | 16 | 2 | unused |
417 | egress::hdr.inner_tcp.dst_port | 16 | 2 | unused |
418 | egress::hdr.inner_tcp.seq_no | 32 | 2 | unused |
419 | egress::hdr.inner_tcp.ack_no | 32 | 2 | unused |
420 | egress::hdr.inner_tcp.data_offset | 4 | 2 | unused |
421 | egress::hdr.inner_tcp.res | 4 | 2 | unused |
422 | egress::hdr.inner_tcp.flags | 8 | 2 | unused |
423 | egress::hdr.inner_tcp.window | 16 | 2 | unused |
424 | egress::hdr.inner_tcp.checksum | 16 | 2 | unused |
425 | egress::hdr.inner_tcp.urgent_ptr | 16 | 2 | unused |
426 | egress::hdr.inner_udp.src_port | 16 | 6 | unused |
427 | egress::hdr.inner_udp.dst_port | 16 | 6 | unused |
428 | egress::hdr.inner_udp.hdr_length | 16 | 6 | unused |
429 | egress::hdr.inner_udp.checksum | 16 | 6 | unused |
430 | egress::hdr.inner_ipv6.version | 4 | 1 | unused |
431 | egress::hdr.inner_ipv6.traffic_class | 8 | 1 | unused |
432 | egress::hdr.inner_ipv6.flow_label | 20 | 1 | unused |
433 | egress::hdr.inner_ipv6.payload_len | 16 | 1 | unused |
434 | egress::hdr.inner_ipv6.next_hdr | 8 | 1 | unused |
435 | egress::hdr.inner_ipv6.hop_limit | 8 | 1 | modified |
436 | egress::hdr.inner_ipv6.src_addr | 128 | 1 | unused |
437 | egress::hdr.inner_ipv6.dst_addr | 128 | 1 | read-only |
438 | egress::hdr.geneve_opts.oxg_ext_tag.class | 16 | | unused |
439 | egress::hdr.geneve_opts.oxg_ext_tag.crit | 1 | | unused |
440 | egress::hdr.geneve_opts.oxg_ext_tag.type | 7 | | unused |
441 | egress::hdr.geneve_opts.oxg_ext_tag.reserved | 3 | | unused |
442 | egress::hdr.geneve_opts.oxg_ext_tag.opt_len | 5 | | unused |
443 | egress::hdr.geneve_opts.oxg_mcast_tag.class | 16 | 10 | unused |
444 | egress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 | 10 | unused |
445 | egress::hdr.geneve_opts.oxg_mcast_tag.type | 7 | 10 | unused |
446 | egress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 | 10 | unused |
447 | egress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 | 10 | unused |
448 | egress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 | | read-only |
449 | egress::hdr.geneve_opts.oxg_mcast.reserved | 30 | | unused |
450 | egress::hdr.geneve_opts.oxg_mss_tag.class | 16 | 9 | unused |
451 | egress::hdr.geneve_opts.oxg_mss_tag.crit | 1 | 9 | unused |
452 | egress::hdr.geneve_opts.oxg_mss_tag.type | 7 | 9 | unused |
453 | egress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 | 9 | unused |
454 | egress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 | 9 | unused |
455 | egress::hdr.geneve_opts.oxg_mss.mss | 32 | | unused |
456 +-------------------------------------------------+------+-------+-----------+
457 | Unused fields | 102 | | |
458 | Unused bits | 1597 | | |
459 | Unused CLOT-allocated fields | 91 | | |
460 | Unused CLOT-allocated bits | 1430 | | |
461 +-------------------------------------------------+------+-------+-----------+
462 
463 
464 CLOT Allocation (ingress):
465 +------+-------------------------------------------------+---------------+-----------+
466 | CLOT | Fields | Bits | Property |
467 +------+-------------------------------------------------+---------------+-----------+
468 | 0 | state ingress::parse_arp | 28 bytes | |
469 | | | | |
470 | | ingress::hdr.arp.hw_type | 16 [0..15] | |
471 | | ingress::hdr.arp.proto_type | 16 [16..31] | |
472 | | ingress::hdr.arp.hw_addr_len | 8 [32..39] | |
473 | | ingress::hdr.arp.proto_addr_len | 8 [40..47] | |
474 | | ingress::hdr.arp.opcode | 16 [48..63] | |
475 | | ingress::hdr.arp.sender_mac | 48 [64..111] | |
476 | | ingress::hdr.arp.sender_ip | 32 [112..143] | |
477 | | ingress::hdr.arp.target_mac | 48 [144..191] | |
478 | | ingress::hdr.arp.target_ip | 32 [192..223] | |
479 +------+-------------------------------------------------+---------------+-----------+
480 | 1 | state ingress::parse_geneve_mss_tag | 8 bytes | |
481 | | | | |
482 | | ingress::hdr.geneve_opts.oxg_mss_tag.class | 16 [0..15] | |
483 | | ingress::hdr.geneve_opts.oxg_mss_tag.crit | 1 [16..16] | |
484 | | ingress::hdr.geneve_opts.oxg_mss_tag.type | 7 [17..23] | |
485 | | ingress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 [24..26] | |
486 | | ingress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 [27..31] | |
487 | | ingress::hdr.geneve_opts.oxg_mss.mss | 32 [32..63] | |
488 +------+-------------------------------------------------+---------------+-----------+
489 | 2 | state ingress::parse_geneve_mcast_tag | 8 bytes | |
490 | | | | |
491 | | ingress::hdr.geneve_opts.oxg_mcast_tag.class | 16 [0..15] | |
492 | | ingress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 [16..16] | |
493 | | ingress::hdr.geneve_opts.oxg_mcast_tag.type | 7 [17..23] | |
494 | | ingress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 [24..26] | |
495 | | ingress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 [27..31] | |
496 | | ingress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 [32..33] | ( phv ) |
497 | | ingress::hdr.geneve_opts.oxg_mcast.reserved | 30 [34..63] | |
498 +------+-------------------------------------------------+---------------+-----------+
499 | | Total Bits | 352 | |
500 +------+-------------------------------------------------+---------------+-----------+
501 
502 Packets will use up to 1 CLOTs.
503 The parser path(s) that will use the most CLOTs contain the following states:
504 ingress::parse_inner_tcp (0 CLOTs)
505 ingress::parse_inner_udp (0 CLOTs)
506 ingress::parse_inner_icmp (0 CLOTs)
507 ingress::parse_inner_ipv4 (0 CLOTs)
508 ingress::parse_inner_ipv6 (0 CLOTs)
509 ingress::parse_inner_eth (0 CLOTs)
510 ingress::geneve_parsed (0 CLOTs)
511 ingress::geneve_bad_size (0 CLOTs)
512 ingress::geneve_opt_parsed (0 CLOTs)
513 ingress::geneve_malformed (0 CLOTs)
514 ingress::parse_geneve_mcast_tag (1 CLOTs)
515 ingress::parse_geneve_mss_tag (1 CLOTs)
516 ingress::parse_geneve_ox_opt (0 CLOTs)
517 ingress::parse_geneve_opt (0 CLOTs)
518 ingress::parse_geneve (0 CLOTs)
519 ingress::parse_udp (0 CLOTs)
520 ingress::goto_proto_ipv4 (0 CLOTs)
521 ingress::set_mcast_ipv4 (0 CLOTs)
522 ingress::validate_ipv4_mcast_3 (0 CLOTs)
523 ingress::validate_ipv4_mcast1_2 (0 CLOTs)
524 ingress::defer_ttl_drop (0 CLOTs)
525 ingress::validate_ttl (0 CLOTs)
526 ingress::parse_ipv4 (0 CLOTs)
527 ingress::goto_proto_ipv6 (0 CLOTs)
528 ingress::defer_hop_limit_drop (0 CLOTs)
529 ingress::validate_hop_limit (0 CLOTs)
530 ingress::set_link_local_mcast (0 CLOTs)
531 ingress::set_mcast_ipv6 (0 CLOTs)
532 ingress::check_ipv6_mcast (0 CLOTs)
533 ingress::parse_ipv6 (0 CLOTs)
534 ingress::parse_arp (1 CLOTs)
535 ingress::parse_vlan (0 CLOTs)
536 ingress::parse_sidecar (0 CLOTs)
537 $entry_point.start (0 CLOTs)
538 
539 CLOT Allocation (egress):
540 +------+------------------------------------------------+----------------+------------+
541 | CLOT | Fields | Bits | Property |
542 +------+------------------------------------------------+----------------+------------+
543 | 0 | state egress::parse_ipv6 | 40 bytes | |
544 | | | | |
545 | | egress::hdr.ipv6.version | 4 [0..3] | |
546 | | egress::hdr.ipv6.traffic_class | 8 [4..11] | |
547 | | egress::hdr.ipv6.flow_label | 20 [12..31] | |
548 | | egress::hdr.ipv6.payload_len | 16 [32..47] | |
549 | | egress::hdr.ipv6.next_hdr | 8 [48..55] | |
550 | | egress::hdr.ipv6.hop_limit | 8 [56..63] | |
551 | | egress::hdr.ipv6.src_addr | 128 [64..191] | |
552 | | egress::hdr.ipv6.dst_addr | 128 [192..319] | ( phv ) |
553 +------+------------------------------------------------+----------------+------------+
554 | 1 | state egress::parse_inner_ipv6 | 40 bytes | |
555 | | | | |
556 | | egress::hdr.inner_ipv6.version | 4 [0..3] | |
557 | | egress::hdr.inner_ipv6.traffic_class | 8 [4..11] | |
558 | | egress::hdr.inner_ipv6.flow_label | 20 [12..31] | |
559 | | egress::hdr.inner_ipv6.payload_len | 16 [32..47] | |
560 | | egress::hdr.inner_ipv6.next_hdr | 8 [48..55] | |
561 | | egress::hdr.inner_ipv6.hop_limit | 8 [56..63] | ( phv* ) |
562 | | egress::hdr.inner_ipv6.src_addr | 128 [64..191] | |
563 | | egress::hdr.inner_ipv6.dst_addr | 128 [192..319] | ( phv ) |
564 +------+------------------------------------------------+----------------+------------+
565 | 2 | state egress::parse_inner_tcp | 20 bytes | |
566 | | | | |
567 | | egress::hdr.inner_tcp.src_port | 16 [0..15] | |
568 | | egress::hdr.inner_tcp.dst_port | 16 [16..31] | |
569 | | egress::hdr.inner_tcp.seq_no | 32 [32..63] | |
570 | | egress::hdr.inner_tcp.ack_no | 32 [64..95] | |
571 | | egress::hdr.inner_tcp.data_offset | 4 [96..99] | |
572 | | egress::hdr.inner_tcp.res | 4 [100..103] | |
573 | | egress::hdr.inner_tcp.flags | 8 [104..111] | |
574 | | egress::hdr.inner_tcp.window | 16 [112..127] | |
575 | | egress::hdr.inner_tcp.checksum | 16 [128..143] | |
576 | | egress::hdr.inner_tcp.urgent_ptr | 16 [144..159] | |
577 +------+------------------------------------------------+----------------+------------+
578 | 3 | state egress::parse_ipv4 | 20 bytes | |
579 | | | | |
580 | | egress::hdr.ipv4.version | 4 [0..3] | |
581 | | egress::hdr.ipv4.ihl | 4 [4..7] | |
582 | | egress::hdr.ipv4.diffserv | 8 [8..15] | |
583 | | egress::hdr.ipv4.total_len | 16 [16..31] | |
584 | | egress::hdr.ipv4.identification | 16 [32..47] | |
585 | | egress::hdr.ipv4.flags | 3 [48..50] | |
586 | | egress::hdr.ipv4.frag_offset | 13 [51..63] | |
587 | | egress::hdr.ipv4.ttl | 8 [64..71] | |
588 | | egress::hdr.ipv4.protocol | 8 [72..79] | |
589 | | egress::hdr.ipv4.hdr_checksum | 16 [80..95] | |
590 | | egress::hdr.ipv4.src_addr | 32 [96..127] | |
591 | | egress::hdr.ipv4.dst_addr | 32 [128..159] | ( phv ) |
592 +------+------------------------------------------------+----------------+------------+
593 | 4 | state egress::parse_inner_eth | 11 bytes | |
594 | | | | |
595 | | egress::hdr.inner_eth.dst_mac | 48 [0..47] | |
596 | | egress::hdr.inner_eth.src_mac[47:8] | 40 [48..87] | |
597 +------+------------------------------------------------+----------------+------------+
598 | 5 | state egress::parse_inner_ipv4 | 10 bytes | |
599 | | | | |
600 | | egress::hdr.inner_ipv4.version | 4 [0..3] | |
601 | | egress::hdr.inner_ipv4.ihl | 4 [4..7] | |
602 | | egress::hdr.inner_ipv4.diffserv | 8 [8..15] | |
603 | | egress::hdr.inner_ipv4.total_len | 16 [16..31] | |
604 | | egress::hdr.inner_ipv4.identification | 16 [32..47] | |
605 | | egress::hdr.inner_ipv4.flags | 3 [48..50] | |
606 | | egress::hdr.inner_ipv4.frag_offset | 13 [51..63] | |
607 | | egress::hdr.inner_ipv4.ttl | 8 [64..71] | ( phv* ) |
608 | | egress::hdr.inner_ipv4.protocol | 8 [72..79] | |
609 +------+------------------------------------------------+----------------+------------+
610 | 6 | state egress::parse_inner_udp | 8 bytes | |
611 | | | | |
612 | | egress::hdr.inner_udp.src_port | 16 [0..15] | |
613 | | egress::hdr.inner_udp.dst_port | 16 [16..31] | |
614 | | egress::hdr.inner_udp.hdr_length | 16 [32..47] | |
615 | | egress::hdr.inner_udp.checksum | 16 [48..63] | |
616 +------+------------------------------------------------+----------------+------------+
617 | 7 | state egress::parse_udp | 8 bytes | |
618 | | | | |
619 | | egress::hdr.udp.src_port | 16 [0..15] | |
620 | | egress::hdr.udp.dst_port | 16 [16..31] | |
621 | | egress::hdr.udp.hdr_length | 16 [32..47] | |
622 | | egress::hdr.udp.checksum | 16 [48..63] | |
623 +------+------------------------------------------------+----------------+------------+
624 | 8 | state egress::parse_geneve | 5 bytes | |
625 | | | | |
626 | | egress::hdr.geneve.version | 2 [0..1] | |
627 | | egress::hdr.geneve.opt_len | 6 [2..7] | |
628 | | egress::hdr.geneve.ctrl | 1 [8..8] | |
629 | | egress::hdr.geneve.crit | 1 [9..9] | |
630 | | egress::hdr.geneve.reserved | 6 [10..15] | |
631 | | egress::hdr.geneve.protocol | 16 [16..31] | |
632 | | egress::hdr.geneve.vni[23:16] | 8 [32..39] | |
633 +------+------------------------------------------------+----------------+------------+
634 | 9 | state egress::parse_geneve_mss_tag | 4 bytes | |
635 | | | | |
636 | | egress::hdr.geneve_opts.oxg_mss_tag.class | 16 [0..15] | |
637 | | egress::hdr.geneve_opts.oxg_mss_tag.crit | 1 [16..16] | |
638 | | egress::hdr.geneve_opts.oxg_mss_tag.type | 7 [17..23] | |
639 | | egress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 [24..26] | |
640 | | egress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 [27..31] | |
641 +------+------------------------------------------------+----------------+------------+
642 | 10 | state egress::parse_geneve_mcast_tag | 4 bytes | |
643 | | | | |
644 | | egress::hdr.geneve_opts.oxg_mcast_tag.class | 16 [0..15] | |
645 | | egress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 [16..16] | |
646 | | egress::hdr.geneve_opts.oxg_mcast_tag.type | 7 [17..23] | |
647 | | egress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 [24..26] | |
648 | | egress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 [27..31] | |
649 +------+------------------------------------------------+----------------+------------+
650 | 11 | state egress::parse_inner_ipv4 | 7 bytes | |
651 | | | | |
652 | | egress::hdr.inner_ipv4.src_addr[23:0] | 24 [0..23] | |
653 | | egress::hdr.inner_ipv4.dst_addr | 32 [24..55] | ( phv ) |
654 +------+------------------------------------------------+----------------+------------+
655 | | Total Bits | 1416 | |
656 +------+------------------------------------------------+----------------+------------+
657 
658 Packets will use up to 8 CLOTs.
659 The parser path(s) that will use the most CLOTs contain the following states:
660 egress::parse_inner_tcp (1 CLOTs)
661 egress::parse_inner_udp (1 CLOTs)
662 egress::parse_inner_ipv4 (2 CLOTs)
663 egress::parse_inner_eth (1 CLOTs)
664 egress::geneve_parsed (0 CLOTs)
665 egress::geneve_opt_parsed (0 CLOTs)
666 egress::parse_geneve_mcast_tag (1 CLOTs)
667 egress::parse_geneve_mss_tag (1 CLOTs)
668 egress::parse_geneve_ox_opt (0 CLOTs)
669 egress::parse_geneve_opt (0 CLOTs)
670 egress::parse_geneve (1 CLOTs)
671 egress::parse_udp (1 CLOTs)
672 egress::check_underlay_dst_79_64 (0 CLOTs)
673 egress::check_underlay_dst_95_80 (0 CLOTs)
674 egress::check_underlay_dst_111_96 (0 CLOTs)
675 egress::parse_ipv6 (1 CLOTs)
676 egress::parse_vlan (0 CLOTs)
677 egress::parse_ethernet (0 CLOTs)
678 $entry_point.start (0 CLOTs)
679 
680 All fields:
681 +-------------------------------------------------+------+-------+-----------+
682 | Field | Bits | CLOTs | Property |
683 +-------------------------------------------------+------+-------+-----------+
684 | ingress::ig_intr_md.ingress_port | 9 | | read-only |
685 | ingress::meta.bridge_hdr.ingress_port | 9 | | unused |
686 | ingress::hdr.ethernet.dst_mac | 48 | | modified |
687 | ingress::hdr.ethernet.src_mac | 48 | | modified |
688 | ingress::hdr.ethernet.ether_type | 16 | | modified |
689 | ingress::meta.orig_src_mac | 48 | | read-only |
690 | ingress::hdr.sidecar.sc_code | 8 | | modified |
691 | ingress::hdr.sidecar.sc_pad | 8 | | unused |
692 | ingress::hdr.sidecar.sc_ingress | 16 | | modified |
693 | ingress::hdr.sidecar.sc_egress | 16 | | modified |
694 | ingress::hdr.sidecar.sc_ether_type | 16 | | modified |
695 | ingress::hdr.sidecar.sc_payload | 128 | | modified |
696 | ingress::hdr.vlan.pcp | 3 | | modified |
697 | ingress::hdr.vlan.dei | 1 | | modified |
698 | ingress::hdr.vlan.vlan_id | 12 | | modified |
699 | ingress::hdr.vlan.ether_type | 16 | | modified |
700 | ingress::hdr.ipv4.version | 4 | | modified |
701 | ingress::hdr.ipv4.ihl | 4 | | modified |
702 | ingress::hdr.ipv4.diffserv | 8 | | modified |
703 | ingress::hdr.ipv4.total_len | 16 | | modified |
704 | ingress::hdr.ipv4.identification | 16 | | modified |
705 | ingress::hdr.ipv4.flags | 3 | | modified |
706 | ingress::hdr.ipv4.frag_offset | 13 | | modified |
707 | ingress::hdr.ipv4.ttl | 8 | | modified |
708 | ingress::hdr.ipv4.protocol | 8 | | modified |
709 | ingress::hdr.ipv4.hdr_checksum | 16 | | checksum |
710 | ingress::hdr.ipv4.src_addr | 32 | | modified |
711 | ingress::hdr.ipv4.dst_addr | 32 | | modified |
712 | ingress::meta.orig_src_ipv4 | 32 | | read-only |
713 | ingress::meta.orig_dst_ipv4 | 32 | | read-only |
714 | ingress::hdr.icmp.type | 8 | | modified |
715 | ingress::hdr.icmp.code | 8 | | modified |
716 | ingress::hdr.icmp.hdr_checksum | 16 | | checksum |
717 | ingress::hdr.icmp.data | 32 | | modified |
718 | ingress::hdr.tcp.src_port | 16 | | modified |
719 | ingress::hdr.tcp.dst_port | 16 | | modified |
720 | ingress::hdr.tcp.seq_no | 32 | | modified |
721 | ingress::hdr.tcp.ack_no | 32 | | modified |
722 | ingress::hdr.tcp.data_offset | 4 | | modified |
723 | ingress::hdr.tcp.res | 4 | | modified |
724 | ingress::hdr.tcp.flags | 8 | | modified |
725 | ingress::hdr.tcp.window | 16 | | modified |
726 | ingress::hdr.tcp.checksum | 16 | | modified |
727 | ingress::hdr.tcp.urgent_ptr | 16 | | modified |
728 | ingress::meta.l4_src_port | 16 | | read-only |
729 | ingress::meta.l4_dst_port | 16 | | modified |
730 | ingress::hdr.udp.src_port | 16 | | modified |
731 | ingress::hdr.udp.dst_port | 16 | | modified |
732 | ingress::hdr.udp.hdr_length | 16 | | modified |
733 | ingress::hdr.udp.checksum | 16 | | checksum |
734 | ingress::hdr.geneve.version | 2 | | modified |
735 | ingress::hdr.geneve.opt_len | 6 | | modified |
736 | ingress::hdr.geneve.ctrl | 1 | | modified |
737 | ingress::hdr.geneve.crit | 1 | | modified |
738 | ingress::hdr.geneve.reserved | 6 | | modified |
739 | ingress::hdr.geneve.protocol | 16 | | modified |
740 | ingress::hdr.geneve.vni | 24 | | modified |
741 | ingress::hdr.geneve.reserved2 | 8 | | modified |
742 | ingress::hdr.inner_eth.dst_mac | 48 | | modified |
743 | ingress::hdr.inner_eth.src_mac | 48 | | modified |
744 | ingress::hdr.inner_eth.ether_type | 16 | | modified |
745 | ingress::hdr.inner_ipv4.version | 4 | | modified |
746 | ingress::hdr.inner_ipv4.ihl | 4 | | modified |
747 | ingress::hdr.inner_ipv4.diffserv | 8 | | modified |
748 | ingress::hdr.inner_ipv4.total_len | 16 | | modified |
749 | ingress::hdr.inner_ipv4.identification | 16 | | modified |
750 | ingress::hdr.inner_ipv4.flags | 3 | | modified |
751 | ingress::hdr.inner_ipv4.frag_offset | 13 | | modified |
752 | ingress::hdr.inner_ipv4.ttl | 8 | | modified |
753 | ingress::hdr.inner_ipv4.protocol | 8 | | modified |
754 | ingress::hdr.inner_ipv4.hdr_checksum | 16 | | modified |
755 | ingress::hdr.inner_ipv4.src_addr | 32 | | modified |
756 | ingress::hdr.inner_ipv4.dst_addr | 32 | | modified |
757 | ingress::hdr.inner_tcp.src_port | 16 | | modified |
758 | ingress::hdr.inner_tcp.dst_port | 16 | | modified |
759 | ingress::hdr.inner_tcp.seq_no | 32 | | modified |
760 | ingress::hdr.inner_tcp.ack_no | 32 | | modified |
761 | ingress::hdr.inner_tcp.data_offset | 4 | | modified |
762 | ingress::hdr.inner_tcp.res | 4 | | modified |
763 | ingress::hdr.inner_tcp.flags | 8 | | modified |
764 | ingress::hdr.inner_tcp.window | 16 | | modified |
765 | ingress::hdr.inner_tcp.checksum | 16 | | modified |
766 | ingress::hdr.inner_tcp.urgent_ptr | 16 | | modified |
767 | ingress::hdr.inner_udp.src_port | 16 | | modified |
768 | ingress::hdr.inner_udp.dst_port | 16 | | modified |
769 | ingress::hdr.inner_udp.hdr_length | 16 | | modified |
770 | ingress::hdr.inner_udp.checksum | 16 | | modified |
771 | ingress::hdr.inner_icmp.type | 8 | | modified |
772 | ingress::hdr.inner_icmp.code | 8 | | modified |
773 | ingress::hdr.inner_icmp.hdr_checksum | 16 | | modified |
774 | ingress::hdr.inner_icmp.data | 32 | | modified |
775 | ingress::hdr.inner_ipv6.version | 4 | | modified |
776 | ingress::hdr.inner_ipv6.traffic_class | 8 | | modified |
777 | ingress::hdr.inner_ipv6.flow_label | 20 | | modified |
778 | ingress::hdr.inner_ipv6.payload_len | 16 | | modified |
779 | ingress::hdr.inner_ipv6.next_hdr | 8 | | modified |
780 | ingress::hdr.inner_ipv6.hop_limit | 8 | | modified |
781 | ingress::hdr.inner_ipv6.src_addr | 128 | | modified |
782 | ingress::hdr.inner_ipv6.dst_addr | 128 | | modified |
783 | ingress::hdr.geneve_opts.oxg_ext_tag.class | 16 | | modified |
784 | ingress::hdr.geneve_opts.oxg_ext_tag.crit | 1 | | modified |
785 | ingress::hdr.geneve_opts.oxg_ext_tag.type | 7 | | modified |
786 | ingress::hdr.geneve_opts.oxg_ext_tag.reserved | 3 | | modified |
787 | ingress::hdr.geneve_opts.oxg_ext_tag.opt_len | 5 | | modified |
788 | ingress::hdr.geneve_opts.oxg_mcast_tag.class | 16 | 2 | unused |
789 | ingress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 | 2 | unused |
790 | ingress::hdr.geneve_opts.oxg_mcast_tag.type | 7 | 2 | unused |
791 | ingress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 | 2 | unused |
792 | ingress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 | 2 | unused |
793 | ingress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 | 2 | read-only |
794 | ingress::hdr.geneve_opts.oxg_mcast.reserved | 30 | 2 | unused |
795 | ingress::hdr.geneve_opts.oxg_mss_tag.class | 16 | 1 | unused |
796 | ingress::hdr.geneve_opts.oxg_mss_tag.crit | 1 | 1 | unused |
797 | ingress::hdr.geneve_opts.oxg_mss_tag.type | 7 | 1 | unused |
798 | ingress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 | 1 | unused |
799 | ingress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 | 1 | unused |
800 | ingress::hdr.geneve_opts.oxg_mss.mss | 32 | 1 | unused |
801 | ingress::hdr.ipv6.version | 4 | | modified |
802 | ingress::hdr.ipv6.traffic_class | 8 | | modified |
803 | ingress::hdr.ipv6.flow_label | 20 | | modified |
804 | ingress::hdr.ipv6.payload_len | 16 | | modified |
805 | ingress::hdr.ipv6.next_hdr | 8 | | modified |
806 | ingress::hdr.ipv6.hop_limit | 8 | | modified |
807 | ingress::hdr.ipv6.src_addr | 128 | | modified |
808 | ingress::hdr.ipv6.dst_addr | 128 | | modified |
809 | ingress::hdr.arp.hw_type | 16 | 0 | unused |
810 | ingress::hdr.arp.proto_type | 16 | 0 | unused |
811 | ingress::hdr.arp.hw_addr_len | 8 | 0 | unused |
812 | ingress::hdr.arp.proto_addr_len | 8 | 0 | unused |
813 | ingress::hdr.arp.opcode | 16 | 0 | unused |
814 | ingress::hdr.arp.sender_mac | 48 | 0 | unused |
815 | ingress::hdr.arp.sender_ip | 32 | 0 | unused |
816 | ingress::hdr.arp.target_mac | 48 | 0 | unused |
817 | ingress::hdr.arp.target_ip | 32 | 0 | unused |
818 | egress::eg_intr_md.egress_port | 9 | | read-only |
819 | egress::eg_intr_md.egress_rid | 16 | | read-only |
820 | egress::eg_intr_md.egress_rid_first | 1 | | read-only |
821 | egress::meta.bridge_hdr.ingress_port | 9 | | read-only |
822 | egress::meta.bridge_hdr.nat_egress_hit | 1 | | read-only |
823 | egress::meta.bridge_hdr.is_link_local_mcastv6 | 1 | | read-only |
824 | egress::hdr.ethernet.dst_mac | 48 | | modified |
825 | egress::hdr.ethernet.src_mac | 48 | | modified |
826 | egress::hdr.ethernet.ether_type | 16 | | modified |
827 | egress::hdr.vlan.pcp | 3 | | modified |
828 | egress::hdr.vlan.dei | 1 | | modified |
829 | egress::hdr.vlan.vlan_id | 12 | | modified |
830 | egress::hdr.vlan.ether_type | 16 | | modified |
831 | egress::hdr.ipv4.version | 4 | 3 | unused |
832 | egress::hdr.ipv4.ihl | 4 | 3 | unused |
833 | egress::hdr.ipv4.diffserv | 8 | 3 | unused |
834 | egress::hdr.ipv4.total_len | 16 | 3 | unused |
835 | egress::hdr.ipv4.identification | 16 | 3 | unused |
836 | egress::hdr.ipv4.flags | 3 | 3 | unused |
837 | egress::hdr.ipv4.frag_offset | 13 | 3 | unused |
838 | egress::hdr.ipv4.ttl | 8 | 3 | unused |
839 | egress::hdr.ipv4.protocol | 8 | 3 | unused |
840 | egress::hdr.ipv4.hdr_checksum | 16 | 3 | unused |
841 | egress::hdr.ipv4.src_addr | 32 | 3 | unused |
842 | egress::hdr.ipv4.dst_addr | 32 | 3 | read-only |
843 | egress::hdr.ipv6.version | 4 | 0 | unused |
844 | egress::hdr.ipv6.traffic_class | 8 | 0 | unused |
845 | egress::hdr.ipv6.flow_label | 20 | 0 | unused |
846 | egress::hdr.ipv6.payload_len | 16 | 0 | unused |
847 | egress::hdr.ipv6.next_hdr | 8 | 0 | unused |
848 | egress::hdr.ipv6.hop_limit | 8 | 0 | unused |
849 | egress::hdr.ipv6.src_addr | 128 | 0 | unused |
850 | egress::hdr.ipv6.dst_addr | 128 | 0 | read-only |
851 | egress::hdr.udp.src_port | 16 | 7 | unused |
852 | egress::hdr.udp.dst_port | 16 | 7 | unused |
853 | egress::hdr.udp.hdr_length | 16 | 7 | unused |
854 | egress::hdr.udp.checksum | 16 | 7 | unused |
855 | egress::hdr.geneve.version | 2 | 8 | unused |
856 | egress::hdr.geneve.opt_len | 6 | 8 | unused |
857 | egress::hdr.geneve.ctrl | 1 | 8 | unused |
858 | egress::hdr.geneve.crit | 1 | 8 | unused |
859 | egress::hdr.geneve.reserved | 6 | 8 | unused |
860 | egress::hdr.geneve.protocol | 16 | 8 | unused |
861 | egress::hdr.geneve.vni | 24 | 8 | unused |
862 | egress::hdr.geneve.reserved2 | 8 | | unused |
863 | egress::hdr.inner_eth.dst_mac | 48 | 4 | unused |
864 | egress::hdr.inner_eth.src_mac | 48 | 4 | unused |
865 | egress::hdr.inner_eth.ether_type | 16 | | unused |
866 | egress::hdr.inner_ipv4.version | 4 | 5 | unused |
867 | egress::hdr.inner_ipv4.ihl | 4 | 5 | unused |
868 | egress::hdr.inner_ipv4.diffserv | 8 | 5 | unused |
869 | egress::hdr.inner_ipv4.total_len | 16 | 5 | unused |
870 | egress::hdr.inner_ipv4.identification | 16 | 5 | unused |
871 | egress::hdr.inner_ipv4.flags | 3 | 5 | unused |
872 | egress::hdr.inner_ipv4.frag_offset | 13 | 5 | unused |
873 | egress::hdr.inner_ipv4.ttl | 8 | 5 | modified |
874 | egress::hdr.inner_ipv4.protocol | 8 | 5 | unused |
875 | egress::hdr.inner_ipv4.hdr_checksum | 16 | | checksum |
876 | egress::hdr.inner_ipv4.src_addr | 32 | 11 | unused |
877 | egress::hdr.inner_ipv4.dst_addr | 32 | 11 | read-only |
878 | egress::hdr.inner_tcp.src_port | 16 | 2 | unused |
879 | egress::hdr.inner_tcp.dst_port | 16 | 2 | unused |
880 | egress::hdr.inner_tcp.seq_no | 32 | 2 | unused |
881 | egress::hdr.inner_tcp.ack_no | 32 | 2 | unused |
882 | egress::hdr.inner_tcp.data_offset | 4 | 2 | unused |
883 | egress::hdr.inner_tcp.res | 4 | 2 | unused |
884 | egress::hdr.inner_tcp.flags | 8 | 2 | unused |
885 | egress::hdr.inner_tcp.window | 16 | 2 | unused |
886 | egress::hdr.inner_tcp.checksum | 16 | 2 | unused |
887 | egress::hdr.inner_tcp.urgent_ptr | 16 | 2 | unused |
888 | egress::hdr.inner_udp.src_port | 16 | 6 | unused |
889 | egress::hdr.inner_udp.dst_port | 16 | 6 | unused |
890 | egress::hdr.inner_udp.hdr_length | 16 | 6 | unused |
891 | egress::hdr.inner_udp.checksum | 16 | 6 | unused |
892 | egress::hdr.inner_ipv6.version | 4 | 1 | unused |
893 | egress::hdr.inner_ipv6.traffic_class | 8 | 1 | unused |
894 | egress::hdr.inner_ipv6.flow_label | 20 | 1 | unused |
895 | egress::hdr.inner_ipv6.payload_len | 16 | 1 | unused |
896 | egress::hdr.inner_ipv6.next_hdr | 8 | 1 | unused |
897 | egress::hdr.inner_ipv6.hop_limit | 8 | 1 | modified |
898 | egress::hdr.inner_ipv6.src_addr | 128 | 1 | unused |
899 | egress::hdr.inner_ipv6.dst_addr | 128 | 1 | read-only |
900 | egress::hdr.geneve_opts.oxg_ext_tag.class | 16 | | unused |
901 | egress::hdr.geneve_opts.oxg_ext_tag.crit | 1 | | unused |
902 | egress::hdr.geneve_opts.oxg_ext_tag.type | 7 | | unused |
903 | egress::hdr.geneve_opts.oxg_ext_tag.reserved | 3 | | unused |
904 | egress::hdr.geneve_opts.oxg_ext_tag.opt_len | 5 | | unused |
905 | egress::hdr.geneve_opts.oxg_mcast_tag.class | 16 | 10 | unused |
906 | egress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 | 10 | unused |
907 | egress::hdr.geneve_opts.oxg_mcast_tag.type | 7 | 10 | unused |
908 | egress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 | 10 | unused |
909 | egress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 | 10 | unused |
910 | egress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 | | read-only |
911 | egress::hdr.geneve_opts.oxg_mcast.reserved | 30 | | unused |
912 | egress::hdr.geneve_opts.oxg_mss_tag.class | 16 | 9 | unused |
913 | egress::hdr.geneve_opts.oxg_mss_tag.crit | 1 | 9 | unused |
914 | egress::hdr.geneve_opts.oxg_mss_tag.type | 7 | 9 | unused |
915 | egress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 | 9 | unused |
916 | egress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 | 9 | unused |
917 | egress::hdr.geneve_opts.oxg_mss.mss | 32 | | unused |
918 +-------------------------------------------------+------+-------+-----------+
919 | Unused fields | 102 | | |
920 | Unused bits | 1597 | | |
921 | Unused CLOT-allocated fields | 91 | | |
922 | Unused CLOT-allocated bits | 1430 | | |
923 +-------------------------------------------------+------+-------+-----------+
924 
925 
926 CLOT Allocation (ingress):
927 +------+-------------------------------------------------+---------------+-----------+
928 | CLOT | Fields | Bits | Property |
929 +------+-------------------------------------------------+---------------+-----------+
930 | 0 | state ingress::parse_arp | 28 bytes | |
931 | | | | |
932 | | ingress::hdr.arp.hw_type | 16 [0..15] | |
933 | | ingress::hdr.arp.proto_type | 16 [16..31] | |
934 | | ingress::hdr.arp.hw_addr_len | 8 [32..39] | |
935 | | ingress::hdr.arp.proto_addr_len | 8 [40..47] | |
936 | | ingress::hdr.arp.opcode | 16 [48..63] | |
937 | | ingress::hdr.arp.sender_mac | 48 [64..111] | |
938 | | ingress::hdr.arp.sender_ip | 32 [112..143] | |
939 | | ingress::hdr.arp.target_mac | 48 [144..191] | |
940 | | ingress::hdr.arp.target_ip | 32 [192..223] | |
941 +------+-------------------------------------------------+---------------+-----------+
942 | 1 | state ingress::parse_geneve_mss_tag | 8 bytes | |
943 | | | | |
944 | | ingress::hdr.geneve_opts.oxg_mss_tag.class | 16 [0..15] | |
945 | | ingress::hdr.geneve_opts.oxg_mss_tag.crit | 1 [16..16] | |
946 | | ingress::hdr.geneve_opts.oxg_mss_tag.type | 7 [17..23] | |
947 | | ingress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 [24..26] | |
948 | | ingress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 [27..31] | |
949 | | ingress::hdr.geneve_opts.oxg_mss.mss | 32 [32..63] | |
950 +------+-------------------------------------------------+---------------+-----------+
951 | 2 | state ingress::parse_geneve_mcast_tag | 8 bytes | |
952 | | | | |
953 | | ingress::hdr.geneve_opts.oxg_mcast_tag.class | 16 [0..15] | |
954 | | ingress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 [16..16] | |
955 | | ingress::hdr.geneve_opts.oxg_mcast_tag.type | 7 [17..23] | |
956 | | ingress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 [24..26] | |
957 | | ingress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 [27..31] | |
958 | | ingress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 [32..33] | ( phv ) |
959 | | ingress::hdr.geneve_opts.oxg_mcast.reserved | 30 [34..63] | |
960 +------+-------------------------------------------------+---------------+-----------+
961 | | Total Bits | 352 | |
962 +------+-------------------------------------------------+---------------+-----------+
963 
964 Packets will use up to 1 CLOTs.
965 The parser path(s) that will use the most CLOTs contain the following states:
966 ingress::parse_inner_tcp (0 CLOTs)
967 ingress::parse_inner_udp (0 CLOTs)
968 ingress::parse_inner_icmp (0 CLOTs)
969 ingress::parse_inner_ipv4 (0 CLOTs)
970 ingress::parse_inner_ipv6 (0 CLOTs)
971 ingress::parse_inner_eth (0 CLOTs)
972 ingress::geneve_parsed (0 CLOTs)
973 ingress::geneve_bad_size (0 CLOTs)
974 ingress::geneve_opt_parsed (0 CLOTs)
975 ingress::geneve_malformed (0 CLOTs)
976 ingress::parse_geneve_mcast_tag (1 CLOTs)
977 ingress::parse_geneve_mss_tag (1 CLOTs)
978 ingress::parse_geneve_ox_opt (0 CLOTs)
979 ingress::parse_geneve_opt (0 CLOTs)
980 ingress::parse_geneve (0 CLOTs)
981 ingress::parse_udp (0 CLOTs)
982 ingress::goto_proto_ipv4 (0 CLOTs)
983 ingress::set_mcast_ipv4 (0 CLOTs)
984 ingress::validate_ipv4_mcast_3 (0 CLOTs)
985 ingress::validate_ipv4_mcast1_2 (0 CLOTs)
986 ingress::defer_ttl_drop (0 CLOTs)
987 ingress::validate_ttl (0 CLOTs)
988 ingress::parse_ipv4 (0 CLOTs)
989 ingress::goto_proto_ipv6 (0 CLOTs)
990 ingress::defer_hop_limit_drop (0 CLOTs)
991 ingress::validate_hop_limit (0 CLOTs)
992 ingress::set_link_local_mcast (0 CLOTs)
993 ingress::set_mcast_ipv6 (0 CLOTs)
994 ingress::check_ipv6_mcast (0 CLOTs)
995 ingress::parse_ipv6 (0 CLOTs)
996 ingress::parse_arp (1 CLOTs)
997 ingress::parse_vlan (0 CLOTs)
998 ingress::parse_sidecar (0 CLOTs)
999 $entry_point.start (0 CLOTs)
1000 
1001 CLOT Allocation (egress):
1002 +------+------------------------------------------------+----------------+------------+
1003 | CLOT | Fields | Bits | Property |
1004 +------+------------------------------------------------+----------------+------------+
1005 | 0 | state egress::parse_ipv6 | 40 bytes | |
1006 | | | | |
1007 | | egress::hdr.ipv6.version | 4 [0..3] | |
1008 | | egress::hdr.ipv6.traffic_class | 8 [4..11] | |
1009 | | egress::hdr.ipv6.flow_label | 20 [12..31] | |
1010 | | egress::hdr.ipv6.payload_len | 16 [32..47] | |
1011 | | egress::hdr.ipv6.next_hdr | 8 [48..55] | |
1012 | | egress::hdr.ipv6.hop_limit | 8 [56..63] | |
1013 | | egress::hdr.ipv6.src_addr | 128 [64..191] | |
1014 | | egress::hdr.ipv6.dst_addr | 128 [192..319] | ( phv ) |
1015 +------+------------------------------------------------+----------------+------------+
1016 | 1 | state egress::parse_inner_ipv6 | 40 bytes | |
1017 | | | | |
1018 | | egress::hdr.inner_ipv6.version | 4 [0..3] | |
1019 | | egress::hdr.inner_ipv6.traffic_class | 8 [4..11] | |
1020 | | egress::hdr.inner_ipv6.flow_label | 20 [12..31] | |
1021 | | egress::hdr.inner_ipv6.payload_len | 16 [32..47] | |
1022 | | egress::hdr.inner_ipv6.next_hdr | 8 [48..55] | |
1023 | | egress::hdr.inner_ipv6.hop_limit | 8 [56..63] | ( phv* ) |
1024 | | egress::hdr.inner_ipv6.src_addr | 128 [64..191] | |
1025 | | egress::hdr.inner_ipv6.dst_addr | 128 [192..319] | ( phv ) |
1026 +------+------------------------------------------------+----------------+------------+
1027 | 2 | state egress::parse_inner_tcp | 20 bytes | |
1028 | | | | |
1029 | | egress::hdr.inner_tcp.src_port | 16 [0..15] | |
1030 | | egress::hdr.inner_tcp.dst_port | 16 [16..31] | |
1031 | | egress::hdr.inner_tcp.seq_no | 32 [32..63] | |
1032 | | egress::hdr.inner_tcp.ack_no | 32 [64..95] | |
1033 | | egress::hdr.inner_tcp.data_offset | 4 [96..99] | |
1034 | | egress::hdr.inner_tcp.res | 4 [100..103] | |
1035 | | egress::hdr.inner_tcp.flags | 8 [104..111] | |
1036 | | egress::hdr.inner_tcp.window | 16 [112..127] | |
1037 | | egress::hdr.inner_tcp.checksum | 16 [128..143] | |
1038 | | egress::hdr.inner_tcp.urgent_ptr | 16 [144..159] | |
1039 +------+------------------------------------------------+----------------+------------+
1040 | 3 | state egress::parse_ipv4 | 20 bytes | |
1041 | | | | |
1042 | | egress::hdr.ipv4.version | 4 [0..3] | |
1043 | | egress::hdr.ipv4.ihl | 4 [4..7] | |
1044 | | egress::hdr.ipv4.diffserv | 8 [8..15] | |
1045 | | egress::hdr.ipv4.total_len | 16 [16..31] | |
1046 | | egress::hdr.ipv4.identification | 16 [32..47] | |
1047 | | egress::hdr.ipv4.flags | 3 [48..50] | |
1048 | | egress::hdr.ipv4.frag_offset | 13 [51..63] | |
1049 | | egress::hdr.ipv4.ttl | 8 [64..71] | |
1050 | | egress::hdr.ipv4.protocol | 8 [72..79] | |
1051 | | egress::hdr.ipv4.hdr_checksum | 16 [80..95] | |
1052 | | egress::hdr.ipv4.src_addr | 32 [96..127] | |
1053 | | egress::hdr.ipv4.dst_addr | 32 [128..159] | ( phv ) |
1054 +------+------------------------------------------------+----------------+------------+
1055 | 4 | state egress::parse_inner_eth | 11 bytes | |
1056 | | | | |
1057 | | egress::hdr.inner_eth.dst_mac | 48 [0..47] | |
1058 | | egress::hdr.inner_eth.src_mac[47:8] | 40 [48..87] | |
1059 +------+------------------------------------------------+----------------+------------+
1060 | 5 | state egress::parse_inner_ipv4 | 10 bytes | |
1061 | | | | |
1062 | | egress::hdr.inner_ipv4.version | 4 [0..3] | |
1063 | | egress::hdr.inner_ipv4.ihl | 4 [4..7] | |
1064 | | egress::hdr.inner_ipv4.diffserv | 8 [8..15] | |
1065 | | egress::hdr.inner_ipv4.total_len | 16 [16..31] | |
1066 | | egress::hdr.inner_ipv4.identification | 16 [32..47] | |
1067 | | egress::hdr.inner_ipv4.flags | 3 [48..50] | |
1068 | | egress::hdr.inner_ipv4.frag_offset | 13 [51..63] | |
1069 | | egress::hdr.inner_ipv4.ttl | 8 [64..71] | ( phv* ) |
1070 | | egress::hdr.inner_ipv4.protocol | 8 [72..79] | |
1071 +------+------------------------------------------------+----------------+------------+
1072 | 6 | state egress::parse_inner_udp | 8 bytes | |
1073 | | | | |
1074 | | egress::hdr.inner_udp.src_port | 16 [0..15] | |
1075 | | egress::hdr.inner_udp.dst_port | 16 [16..31] | |
1076 | | egress::hdr.inner_udp.hdr_length | 16 [32..47] | |
1077 | | egress::hdr.inner_udp.checksum | 16 [48..63] | |
1078 +------+------------------------------------------------+----------------+------------+
1079 | 7 | state egress::parse_udp | 8 bytes | |
1080 | | | | |
1081 | | egress::hdr.udp.src_port | 16 [0..15] | |
1082 | | egress::hdr.udp.dst_port | 16 [16..31] | |
1083 | | egress::hdr.udp.hdr_length | 16 [32..47] | |
1084 | | egress::hdr.udp.checksum | 16 [48..63] | |
1085 +------+------------------------------------------------+----------------+------------+
1086 | 8 | state egress::parse_geneve | 5 bytes | |
1087 | | | | |
1088 | | egress::hdr.geneve.version | 2 [0..1] | |
1089 | | egress::hdr.geneve.opt_len | 6 [2..7] | |
1090 | | egress::hdr.geneve.ctrl | 1 [8..8] | |
1091 | | egress::hdr.geneve.crit | 1 [9..9] | |
1092 | | egress::hdr.geneve.reserved | 6 [10..15] | |
1093 | | egress::hdr.geneve.protocol | 16 [16..31] | |
1094 | | egress::hdr.geneve.vni[23:16] | 8 [32..39] | |
1095 +------+------------------------------------------------+----------------+------------+
1096 | 9 | state egress::parse_geneve_mss_tag | 4 bytes | |
1097 | | | | |
1098 | | egress::hdr.geneve_opts.oxg_mss_tag.class | 16 [0..15] | |
1099 | | egress::hdr.geneve_opts.oxg_mss_tag.crit | 1 [16..16] | |
1100 | | egress::hdr.geneve_opts.oxg_mss_tag.type | 7 [17..23] | |
1101 | | egress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 [24..26] | |
1102 | | egress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 [27..31] | |
1103 +------+------------------------------------------------+----------------+------------+
1104 | 10 | state egress::parse_geneve_mcast_tag | 4 bytes | |
1105 | | | | |
1106 | | egress::hdr.geneve_opts.oxg_mcast_tag.class | 16 [0..15] | |
1107 | | egress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 [16..16] | |
1108 | | egress::hdr.geneve_opts.oxg_mcast_tag.type | 7 [17..23] | |
1109 | | egress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 [24..26] | |
1110 | | egress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 [27..31] | |
1111 +------+------------------------------------------------+----------------+------------+
1112 | 11 | state egress::parse_inner_ipv4 | 7 bytes | |
1113 | | | | |
1114 | | egress::hdr.inner_ipv4.src_addr[23:0] | 24 [0..23] | |
1115 | | egress::hdr.inner_ipv4.dst_addr | 32 [24..55] | ( phv ) |
1116 +------+------------------------------------------------+----------------+------------+
1117 | | Total Bits | 1416 | |
1118 +------+------------------------------------------------+----------------+------------+
1119 
1120 Packets will use up to 8 CLOTs.
1121 The parser path(s) that will use the most CLOTs contain the following states:
1122 egress::parse_inner_tcp (1 CLOTs)
1123 egress::parse_inner_udp (1 CLOTs)
1124 egress::parse_inner_ipv4 (2 CLOTs)
1125 egress::parse_inner_eth (1 CLOTs)
1126 egress::geneve_parsed (0 CLOTs)
1127 egress::geneve_opt_parsed (0 CLOTs)
1128 egress::parse_geneve_mcast_tag (1 CLOTs)
1129 egress::parse_geneve_mss_tag (1 CLOTs)
1130 egress::parse_geneve_ox_opt (0 CLOTs)
1131 egress::parse_geneve_opt (0 CLOTs)
1132 egress::parse_geneve (1 CLOTs)
1133 egress::parse_udp (1 CLOTs)
1134 egress::check_underlay_dst_79_64 (0 CLOTs)
1135 egress::check_underlay_dst_95_80 (0 CLOTs)
1136 egress::check_underlay_dst_111_96 (0 CLOTs)
1137 egress::parse_ipv6 (1 CLOTs)
1138 egress::parse_vlan (0 CLOTs)
1139 egress::parse_ethernet (0 CLOTs)
1140 $entry_point.start (0 CLOTs)
1141 
1142 All fields:
1143 +-------------------------------------------------+------+-------+-----------+
1144 | Field | Bits | CLOTs | Property |
1145 +-------------------------------------------------+------+-------+-----------+
1146 | ingress::ig_intr_md.ingress_port | 9 | | read-only |
1147 | ingress::meta.bridge_hdr.ingress_port | 9 | | unused |
1148 | ingress::hdr.ethernet.dst_mac | 48 | | modified |
1149 | ingress::hdr.ethernet.src_mac | 48 | | modified |
1150 | ingress::hdr.ethernet.ether_type | 16 | | modified |
1151 | ingress::meta.orig_src_mac | 48 | | read-only |
1152 | ingress::hdr.sidecar.sc_code | 8 | | modified |
1153 | ingress::hdr.sidecar.sc_pad | 8 | | unused |
1154 | ingress::hdr.sidecar.sc_ingress | 16 | | modified |
1155 | ingress::hdr.sidecar.sc_egress | 16 | | modified |
1156 | ingress::hdr.sidecar.sc_ether_type | 16 | | modified |
1157 | ingress::hdr.sidecar.sc_payload | 128 | | modified |
1158 | ingress::hdr.vlan.pcp | 3 | | modified |
1159 | ingress::hdr.vlan.dei | 1 | | modified |
1160 | ingress::hdr.vlan.vlan_id | 12 | | modified |
1161 | ingress::hdr.vlan.ether_type | 16 | | modified |
1162 | ingress::hdr.ipv4.version | 4 | | modified |
1163 | ingress::hdr.ipv4.ihl | 4 | | modified |
1164 | ingress::hdr.ipv4.diffserv | 8 | | modified |
1165 | ingress::hdr.ipv4.total_len | 16 | | modified |
1166 | ingress::hdr.ipv4.identification | 16 | | modified |
1167 | ingress::hdr.ipv4.flags | 3 | | modified |
1168 | ingress::hdr.ipv4.frag_offset | 13 | | modified |
1169 | ingress::hdr.ipv4.ttl | 8 | | modified |
1170 | ingress::hdr.ipv4.protocol | 8 | | modified |
1171 | ingress::hdr.ipv4.hdr_checksum | 16 | | checksum |
1172 | ingress::hdr.ipv4.src_addr | 32 | | modified |
1173 | ingress::hdr.ipv4.dst_addr | 32 | | modified |
1174 | ingress::meta.orig_src_ipv4 | 32 | | read-only |
1175 | ingress::meta.orig_dst_ipv4 | 32 | | read-only |
1176 | ingress::hdr.icmp.type | 8 | | modified |
1177 | ingress::hdr.icmp.code | 8 | | modified |
1178 | ingress::hdr.icmp.hdr_checksum | 16 | | checksum |
1179 | ingress::hdr.icmp.data | 32 | | modified |
1180 | ingress::hdr.tcp.src_port | 16 | | modified |
1181 | ingress::hdr.tcp.dst_port | 16 | | modified |
1182 | ingress::hdr.tcp.seq_no | 32 | | modified |
1183 | ingress::hdr.tcp.ack_no | 32 | | modified |
1184 | ingress::hdr.tcp.data_offset | 4 | | modified |
1185 | ingress::hdr.tcp.res | 4 | | modified |
1186 | ingress::hdr.tcp.flags | 8 | | modified |
1187 | ingress::hdr.tcp.window | 16 | | modified |
1188 | ingress::hdr.tcp.checksum | 16 | | modified |
1189 | ingress::hdr.tcp.urgent_ptr | 16 | | modified |
1190 | ingress::meta.l4_src_port | 16 | | read-only |
1191 | ingress::meta.l4_dst_port | 16 | | modified |
1192 | ingress::hdr.udp.src_port | 16 | | modified |
1193 | ingress::hdr.udp.dst_port | 16 | | modified |
1194 | ingress::hdr.udp.hdr_length | 16 | | modified |
1195 | ingress::hdr.udp.checksum | 16 | | checksum |
1196 | ingress::hdr.geneve.version | 2 | | modified |
1197 | ingress::hdr.geneve.opt_len | 6 | | modified |
1198 | ingress::hdr.geneve.ctrl | 1 | | modified |
1199 | ingress::hdr.geneve.crit | 1 | | modified |
1200 | ingress::hdr.geneve.reserved | 6 | | modified |
1201 | ingress::hdr.geneve.protocol | 16 | | modified |
1202 | ingress::hdr.geneve.vni | 24 | | modified |
1203 | ingress::hdr.geneve.reserved2 | 8 | | modified |
1204 | ingress::hdr.inner_eth.dst_mac | 48 | | modified |
1205 | ingress::hdr.inner_eth.src_mac | 48 | | modified |
1206 | ingress::hdr.inner_eth.ether_type | 16 | | modified |
1207 | ingress::hdr.inner_ipv4.version | 4 | | modified |
1208 | ingress::hdr.inner_ipv4.ihl | 4 | | modified |
1209 | ingress::hdr.inner_ipv4.diffserv | 8 | | modified |
1210 | ingress::hdr.inner_ipv4.total_len | 16 | | modified |
1211 | ingress::hdr.inner_ipv4.identification | 16 | | modified |
1212 | ingress::hdr.inner_ipv4.flags | 3 | | modified |
1213 | ingress::hdr.inner_ipv4.frag_offset | 13 | | modified |
1214 | ingress::hdr.inner_ipv4.ttl | 8 | | modified |
1215 | ingress::hdr.inner_ipv4.protocol | 8 | | modified |
1216 | ingress::hdr.inner_ipv4.hdr_checksum | 16 | | modified |
1217 | ingress::hdr.inner_ipv4.src_addr | 32 | | modified |
1218 | ingress::hdr.inner_ipv4.dst_addr | 32 | | modified |
1219 | ingress::hdr.inner_tcp.src_port | 16 | | modified |
1220 | ingress::hdr.inner_tcp.dst_port | 16 | | modified |
1221 | ingress::hdr.inner_tcp.seq_no | 32 | | modified |
1222 | ingress::hdr.inner_tcp.ack_no | 32 | | modified |
1223 | ingress::hdr.inner_tcp.data_offset | 4 | | modified |
1224 | ingress::hdr.inner_tcp.res | 4 | | modified |
1225 | ingress::hdr.inner_tcp.flags | 8 | | modified |
1226 | ingress::hdr.inner_tcp.window | 16 | | modified |
1227 | ingress::hdr.inner_tcp.checksum | 16 | | modified |
1228 | ingress::hdr.inner_tcp.urgent_ptr | 16 | | modified |
1229 | ingress::hdr.inner_udp.src_port | 16 | | modified |
1230 | ingress::hdr.inner_udp.dst_port | 16 | | modified |
1231 | ingress::hdr.inner_udp.hdr_length | 16 | | modified |
1232 | ingress::hdr.inner_udp.checksum | 16 | | modified |
1233 | ingress::hdr.inner_icmp.type | 8 | | modified |
1234 | ingress::hdr.inner_icmp.code | 8 | | modified |
1235 | ingress::hdr.inner_icmp.hdr_checksum | 16 | | modified |
1236 | ingress::hdr.inner_icmp.data | 32 | | modified |
1237 | ingress::hdr.inner_ipv6.version | 4 | | modified |
1238 | ingress::hdr.inner_ipv6.traffic_class | 8 | | modified |
1239 | ingress::hdr.inner_ipv6.flow_label | 20 | | modified |
1240 | ingress::hdr.inner_ipv6.payload_len | 16 | | modified |
1241 | ingress::hdr.inner_ipv6.next_hdr | 8 | | modified |
1242 | ingress::hdr.inner_ipv6.hop_limit | 8 | | modified |
1243 | ingress::hdr.inner_ipv6.src_addr | 128 | | modified |
1244 | ingress::hdr.inner_ipv6.dst_addr | 128 | | modified |
1245 | ingress::hdr.geneve_opts.oxg_ext_tag.class | 16 | | modified |
1246 | ingress::hdr.geneve_opts.oxg_ext_tag.crit | 1 | | modified |
1247 | ingress::hdr.geneve_opts.oxg_ext_tag.type | 7 | | modified |
1248 | ingress::hdr.geneve_opts.oxg_ext_tag.reserved | 3 | | modified |
1249 | ingress::hdr.geneve_opts.oxg_ext_tag.opt_len | 5 | | modified |
1250 | ingress::hdr.geneve_opts.oxg_mcast_tag.class | 16 | 2 | unused |
1251 | ingress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 | 2 | unused |
1252 | ingress::hdr.geneve_opts.oxg_mcast_tag.type | 7 | 2 | unused |
1253 | ingress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 | 2 | unused |
1254 | ingress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 | 2 | unused |
1255 | ingress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 | 2 | read-only |
1256 | ingress::hdr.geneve_opts.oxg_mcast.reserved | 30 | 2 | unused |
1257 | ingress::hdr.geneve_opts.oxg_mss_tag.class | 16 | 1 | unused |
1258 | ingress::hdr.geneve_opts.oxg_mss_tag.crit | 1 | 1 | unused |
1259 | ingress::hdr.geneve_opts.oxg_mss_tag.type | 7 | 1 | unused |
1260 | ingress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 | 1 | unused |
1261 | ingress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 | 1 | unused |
1262 | ingress::hdr.geneve_opts.oxg_mss.mss | 32 | 1 | unused |
1263 | ingress::hdr.ipv6.version | 4 | | modified |
1264 | ingress::hdr.ipv6.traffic_class | 8 | | modified |
1265 | ingress::hdr.ipv6.flow_label | 20 | | modified |
1266 | ingress::hdr.ipv6.payload_len | 16 | | modified |
1267 | ingress::hdr.ipv6.next_hdr | 8 | | modified |
1268 | ingress::hdr.ipv6.hop_limit | 8 | | modified |
1269 | ingress::hdr.ipv6.src_addr | 128 | | modified |
1270 | ingress::hdr.ipv6.dst_addr | 128 | | modified |
1271 | ingress::hdr.arp.hw_type | 16 | 0 | unused |
1272 | ingress::hdr.arp.proto_type | 16 | 0 | unused |
1273 | ingress::hdr.arp.hw_addr_len | 8 | 0 | unused |
1274 | ingress::hdr.arp.proto_addr_len | 8 | 0 | unused |
1275 | ingress::hdr.arp.opcode | 16 | 0 | unused |
1276 | ingress::hdr.arp.sender_mac | 48 | 0 | unused |
1277 | ingress::hdr.arp.sender_ip | 32 | 0 | unused |
1278 | ingress::hdr.arp.target_mac | 48 | 0 | unused |
1279 | ingress::hdr.arp.target_ip | 32 | 0 | unused |
1280 | egress::eg_intr_md.egress_port | 9 | | read-only |
1281 | egress::eg_intr_md.egress_rid | 16 | | read-only |
1282 | egress::eg_intr_md.egress_rid_first | 1 | | read-only |
1283 | egress::meta.bridge_hdr.ingress_port | 9 | | read-only |
1284 | egress::meta.bridge_hdr.nat_egress_hit | 1 | | read-only |
1285 | egress::meta.bridge_hdr.is_link_local_mcastv6 | 1 | | read-only |
1286 | egress::hdr.ethernet.dst_mac | 48 | | modified |
1287 | egress::hdr.ethernet.src_mac | 48 | | modified |
1288 | egress::hdr.ethernet.ether_type | 16 | | modified |
1289 | egress::hdr.vlan.pcp | 3 | | modified |
1290 | egress::hdr.vlan.dei | 1 | | modified |
1291 | egress::hdr.vlan.vlan_id | 12 | | modified |
1292 | egress::hdr.vlan.ether_type | 16 | | modified |
1293 | egress::hdr.ipv4.version | 4 | 3 | unused |
1294 | egress::hdr.ipv4.ihl | 4 | 3 | unused |
1295 | egress::hdr.ipv4.diffserv | 8 | 3 | unused |
1296 | egress::hdr.ipv4.total_len | 16 | 3 | unused |
1297 | egress::hdr.ipv4.identification | 16 | 3 | unused |
1298 | egress::hdr.ipv4.flags | 3 | 3 | unused |
1299 | egress::hdr.ipv4.frag_offset | 13 | 3 | unused |
1300 | egress::hdr.ipv4.ttl | 8 | 3 | unused |
1301 | egress::hdr.ipv4.protocol | 8 | 3 | unused |
1302 | egress::hdr.ipv4.hdr_checksum | 16 | 3 | unused |
1303 | egress::hdr.ipv4.src_addr | 32 | 3 | unused |
1304 | egress::hdr.ipv4.dst_addr | 32 | 3 | read-only |
1305 | egress::hdr.ipv6.version | 4 | 0 | unused |
1306 | egress::hdr.ipv6.traffic_class | 8 | 0 | unused |
1307 | egress::hdr.ipv6.flow_label | 20 | 0 | unused |
1308 | egress::hdr.ipv6.payload_len | 16 | 0 | unused |
1309 | egress::hdr.ipv6.next_hdr | 8 | 0 | unused |
1310 | egress::hdr.ipv6.hop_limit | 8 | 0 | unused |
1311 | egress::hdr.ipv6.src_addr | 128 | 0 | unused |
1312 | egress::hdr.ipv6.dst_addr | 128 | 0 | read-only |
1313 | egress::hdr.udp.src_port | 16 | 7 | unused |
1314 | egress::hdr.udp.dst_port | 16 | 7 | unused |
1315 | egress::hdr.udp.hdr_length | 16 | 7 | unused |
1316 | egress::hdr.udp.checksum | 16 | 7 | unused |
1317 | egress::hdr.geneve.version | 2 | 8 | unused |
1318 | egress::hdr.geneve.opt_len | 6 | 8 | unused |
1319 | egress::hdr.geneve.ctrl | 1 | 8 | unused |
1320 | egress::hdr.geneve.crit | 1 | 8 | unused |
1321 | egress::hdr.geneve.reserved | 6 | 8 | unused |
1322 | egress::hdr.geneve.protocol | 16 | 8 | unused |
1323 | egress::hdr.geneve.vni | 24 | 8 | unused |
1324 | egress::hdr.geneve.reserved2 | 8 | | unused |
1325 | egress::hdr.inner_eth.dst_mac | 48 | 4 | unused |
1326 | egress::hdr.inner_eth.src_mac | 48 | 4 | unused |
1327 | egress::hdr.inner_eth.ether_type | 16 | | unused |
1328 | egress::hdr.inner_ipv4.version | 4 | 5 | unused |
1329 | egress::hdr.inner_ipv4.ihl | 4 | 5 | unused |
1330 | egress::hdr.inner_ipv4.diffserv | 8 | 5 | unused |
1331 | egress::hdr.inner_ipv4.total_len | 16 | 5 | unused |
1332 | egress::hdr.inner_ipv4.identification | 16 | 5 | unused |
1333 | egress::hdr.inner_ipv4.flags | 3 | 5 | unused |
1334 | egress::hdr.inner_ipv4.frag_offset | 13 | 5 | unused |
1335 | egress::hdr.inner_ipv4.ttl | 8 | 5 | modified |
1336 | egress::hdr.inner_ipv4.protocol | 8 | 5 | unused |
1337 | egress::hdr.inner_ipv4.hdr_checksum | 16 | | checksum |
1338 | egress::hdr.inner_ipv4.src_addr | 32 | 11 | unused |
1339 | egress::hdr.inner_ipv4.dst_addr | 32 | 11 | read-only |
1340 | egress::hdr.inner_tcp.src_port | 16 | 2 | unused |
1341 | egress::hdr.inner_tcp.dst_port | 16 | 2 | unused |
1342 | egress::hdr.inner_tcp.seq_no | 32 | 2 | unused |
1343 | egress::hdr.inner_tcp.ack_no | 32 | 2 | unused |
1344 | egress::hdr.inner_tcp.data_offset | 4 | 2 | unused |
1345 | egress::hdr.inner_tcp.res | 4 | 2 | unused |
1346 | egress::hdr.inner_tcp.flags | 8 | 2 | unused |
1347 | egress::hdr.inner_tcp.window | 16 | 2 | unused |
1348 | egress::hdr.inner_tcp.checksum | 16 | 2 | unused |
1349 | egress::hdr.inner_tcp.urgent_ptr | 16 | 2 | unused |
1350 | egress::hdr.inner_udp.src_port | 16 | 6 | unused |
1351 | egress::hdr.inner_udp.dst_port | 16 | 6 | unused |
1352 | egress::hdr.inner_udp.hdr_length | 16 | 6 | unused |
1353 | egress::hdr.inner_udp.checksum | 16 | 6 | unused |
1354 | egress::hdr.inner_ipv6.version | 4 | 1 | unused |
1355 | egress::hdr.inner_ipv6.traffic_class | 8 | 1 | unused |
1356 | egress::hdr.inner_ipv6.flow_label | 20 | 1 | unused |
1357 | egress::hdr.inner_ipv6.payload_len | 16 | 1 | unused |
1358 | egress::hdr.inner_ipv6.next_hdr | 8 | 1 | unused |
1359 | egress::hdr.inner_ipv6.hop_limit | 8 | 1 | modified |
1360 | egress::hdr.inner_ipv6.src_addr | 128 | 1 | unused |
1361 | egress::hdr.inner_ipv6.dst_addr | 128 | 1 | read-only |
1362 | egress::hdr.geneve_opts.oxg_ext_tag.class | 16 | | unused |
1363 | egress::hdr.geneve_opts.oxg_ext_tag.crit | 1 | | unused |
1364 | egress::hdr.geneve_opts.oxg_ext_tag.type | 7 | | unused |
1365 | egress::hdr.geneve_opts.oxg_ext_tag.reserved | 3 | | unused |
1366 | egress::hdr.geneve_opts.oxg_ext_tag.opt_len | 5 | | unused |
1367 | egress::hdr.geneve_opts.oxg_mcast_tag.class | 16 | 10 | unused |
1368 | egress::hdr.geneve_opts.oxg_mcast_tag.crit | 1 | 10 | unused |
1369 | egress::hdr.geneve_opts.oxg_mcast_tag.type | 7 | 10 | unused |
1370 | egress::hdr.geneve_opts.oxg_mcast_tag.reserved | 3 | 10 | unused |
1371 | egress::hdr.geneve_opts.oxg_mcast_tag.opt_len | 5 | 10 | unused |
1372 | egress::hdr.geneve_opts.oxg_mcast.mcast_tag | 2 | | read-only |
1373 | egress::hdr.geneve_opts.oxg_mcast.reserved | 30 | | unused |
1374 | egress::hdr.geneve_opts.oxg_mss_tag.class | 16 | 9 | unused |
1375 | egress::hdr.geneve_opts.oxg_mss_tag.crit | 1 | 9 | unused |
1376 | egress::hdr.geneve_opts.oxg_mss_tag.type | 7 | 9 | unused |
1377 | egress::hdr.geneve_opts.oxg_mss_tag.reserved | 3 | 9 | unused |
1378 | egress::hdr.geneve_opts.oxg_mss_tag.opt_len | 5 | 9 | unused |
1379 | egress::hdr.geneve_opts.oxg_mss.mss | 32 | | unused |
1380 +-------------------------------------------------+------+-------+-----------+
1381 | Unused fields | 102 | | |
1382 | Unused bits | 1597 | | |
1383 | Unused CLOT-allocated fields | 91 | | |
1384 | Unused CLOT-allocated bits | 1430 | | |
1385 +-------------------------------------------------+------+-------+-----------+
1386