CLOT Allocation (ingress): +------+---------------------------------+---------------+----------+ | CLOT | Fields | Bits | Property | +------+---------------------------------+---------------+----------+ | 0 | state ingress::parse_arp | 28 bytes | | | | | | | | | ingress::hdr.arp.hw_type | 16 [0..15] | | | | ingress::hdr.arp.proto_type | 16 [16..31] | | | | ingress::hdr.arp.hw_addr_len | 8 [32..39] | | | | ingress::hdr.arp.proto_addr_len | 8 [40..47] | | | | ingress::hdr.arp.opcode | 16 [48..63] | | | | ingress::hdr.arp.sender_mac | 48 [64..111] | | | | ingress::hdr.arp.sender_ip | 32 [112..143] | | | | ingress::hdr.arp.target_mac | 48 [144..191] | | | | ingress::hdr.arp.target_ip | 32 [192..223] | | +------+---------------------------------+---------------+----------+ | | Total Bits | 224 | | +------+---------------------------------+---------------+----------+ Packets will use up to 1 CLOTs. The parser path(s) that will use the most CLOTs contain the following states: ingress::parse_arp (1 CLOTs) ingress::parse_vlan (0 CLOTs) ingress::parse_sidecar (0 CLOTs) $entry_point.start (0 CLOTs) CLOT Allocation (egress): +------+------------+------+----------+ | CLOT | Fields | Bits | Property | +------+------------+------+----------+ | | Total Bits | 0 | | +------+------------+------+----------+ Packets will use up to 0 CLOTs. The parser path(s) that will use the most CLOTs contain the following states: $entry_point.start (0 CLOTs) All fields: +---------------------------------------------------+------+-------+-----------+ | Field | Bits | CLOTs | Property | +---------------------------------------------------+------+-------+-----------+ | ingress::meta.in_port | 9 | | read-only | | ingress::hdr.ethernet.dst_mac | 48 | | modified | | ingress::hdr.ethernet.src_mac | 48 | | modified | | ingress::hdr.ethernet.ether_type | 16 | | modified | | ingress::meta.orig_src_mac | 48 | | read-only | | ingress::hdr.sidecar.sc_code | 8 | | modified | | ingress::hdr.sidecar.sc_pad | 8 | | unused | | ingress::hdr.sidecar.sc_ingress | 16 | | modified | | ingress::hdr.sidecar.sc_egress | 16 | | modified | | ingress::hdr.sidecar.sc_ether_type | 16 | | modified | | ingress::hdr.sidecar.sc_payload | 128 | | modified | | ingress::hdr.vlan.pcp | 3 | | modified | | ingress::hdr.vlan.dei | 1 | | modified | | ingress::hdr.vlan.vlan_id | 12 | | modified | | ingress::hdr.vlan.ether_type | 16 | | modified | | ingress::hdr.ipv4.version | 4 | | modified | | ingress::hdr.ipv4.ihl | 4 | | modified | | ingress::hdr.ipv4.diffserv | 8 | | modified | | ingress::hdr.ipv4.total_len | 16 | | modified | | ingress::hdr.ipv4.identification | 16 | | modified | | ingress::hdr.ipv4.flags | 3 | | modified | | ingress::hdr.ipv4.frag_offset | 13 | | modified | | ingress::hdr.ipv4.ttl | 8 | | modified | | ingress::hdr.ipv4.protocol | 8 | | modified | | ingress::hdr.ipv4.hdr_checksum | 16 | | checksum | | ingress::hdr.ipv4.src_addr | 32 | | modified | | ingress::hdr.ipv4.dst_addr | 32 | | modified | | ingress::meta.orig_src_ipv4 | 32 | | read-only | | ingress::meta.orig_dst_ipv4 | 32 | | read-only | | ingress::hdr.icmp.type | 8 | | modified | | ingress::hdr.icmp.code | 8 | | modified | | ingress::hdr.icmp.hdr_checksum | 16 | | checksum | | ingress::hdr.icmp.data | 32 | | modified | | ingress::hdr.tcp.src_port | 16 | | modified | | ingress::hdr.tcp.dst_port | 16 | | modified | | ingress::hdr.tcp.seq_no | 32 | | modified | | ingress::hdr.tcp.ack_no | 32 | | modified | | ingress::hdr.tcp.data_offset | 4 | | modified | | ingress::hdr.tcp.res | 4 | | modified | | ingress::hdr.tcp.flags | 8 | | modified | | ingress::hdr.tcp.window | 16 | | modified | | ingress::hdr.tcp.checksum | 16 | | modified | | ingress::hdr.tcp.urgent_ptr | 16 | | modified | | ingress::meta.l4_src_port | 16 | | read-only | | ingress::meta.l4_dst_port | 16 | | modified | | ingress::hdr.udp.src_port | 16 | | modified | | ingress::hdr.udp.dst_port | 16 | | modified | | ingress::hdr.udp.hdr_length | 16 | | modified | | ingress::hdr.udp.checksum | 16 | | checksum | | ingress::hdr.geneve.version | 2 | | modified | | ingress::hdr.geneve.opt_len | 6 | | modified | | ingress::hdr.geneve.ctrl | 1 | | modified | | ingress::hdr.geneve.crit | 1 | | modified | | ingress::hdr.geneve.reserved | 6 | | modified | | ingress::hdr.geneve.protocol | 16 | | modified | | ingress::hdr.geneve.vni | 24 | | modified | | ingress::hdr.geneve.reserved2 | 8 | | modified | | ingress::hdr.inner_eth.dst_mac | 48 | | modified | | ingress::hdr.inner_eth.src_mac | 48 | | modified | | ingress::hdr.inner_eth.ether_type | 16 | | modified | | ingress::hdr.inner_ipv4.version | 4 | | modified | | ingress::hdr.inner_ipv4.ihl | 4 | | modified | | ingress::hdr.inner_ipv4.diffserv | 8 | | modified | | ingress::hdr.inner_ipv4.total_len | 16 | | modified | | ingress::hdr.inner_ipv4.identification | 16 | | modified | | ingress::hdr.inner_ipv4.flags | 3 | | modified | | ingress::hdr.inner_ipv4.frag_offset | 13 | | modified | | ingress::hdr.inner_ipv4.ttl | 8 | | modified | | ingress::hdr.inner_ipv4.protocol | 8 | | modified | | ingress::hdr.inner_ipv4.hdr_checksum | 16 | | modified | | ingress::hdr.inner_ipv4.src_addr | 32 | | modified | | ingress::hdr.inner_ipv4.dst_addr | 32 | | modified | | ingress::hdr.inner_tcp.src_port | 16 | | modified | | ingress::hdr.inner_tcp.dst_port | 16 | | modified | | ingress::hdr.inner_tcp.seq_no | 32 | | modified | | ingress::hdr.inner_tcp.ack_no | 32 | | modified | | ingress::hdr.inner_tcp.data_offset | 4 | | modified | | ingress::hdr.inner_tcp.res | 4 | | modified | | ingress::hdr.inner_tcp.flags | 8 | | modified | | ingress::hdr.inner_tcp.window | 16 | | modified | | ingress::hdr.inner_tcp.checksum | 16 | | modified | | ingress::hdr.inner_tcp.urgent_ptr | 16 | | modified | | ingress::hdr.inner_udp.src_port | 16 | | modified | | ingress::hdr.inner_udp.dst_port | 16 | | modified | | ingress::hdr.inner_udp.hdr_length | 16 | | modified | | ingress::hdr.inner_udp.checksum | 16 | | modified | | ingress::hdr.inner_icmp.type | 8 | | modified | | ingress::hdr.inner_icmp.code | 8 | | modified | | ingress::hdr.inner_icmp.hdr_checksum | 16 | | modified | | ingress::hdr.inner_icmp.data | 32 | | modified | | ingress::hdr.inner_ipv6.version | 4 | | modified | | ingress::hdr.inner_ipv6.traffic_class | 8 | | modified | | ingress::hdr.inner_ipv6.flow_label | 20 | | modified | | ingress::hdr.inner_ipv6.payload_len | 16 | | modified | | ingress::hdr.inner_ipv6.next_hdr | 8 | | modified | | ingress::hdr.inner_ipv6.hop_limit | 8 | | modified | | ingress::hdr.inner_ipv6.src_addr | 128 | | modified | | ingress::hdr.inner_ipv6.dst_addr | 128 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.class | 16 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.crit | 1 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.type | 7 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.reserved | 3 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.opt_len | 5 | | modified | | ingress::hdr.ipv6.version | 4 | | modified | | ingress::hdr.ipv6.traffic_class | 8 | | modified | | ingress::hdr.ipv6.flow_label | 20 | | modified | | ingress::hdr.ipv6.payload_len | 16 | | modified | | ingress::hdr.ipv6.next_hdr | 8 | | modified | | ingress::hdr.ipv6.hop_limit | 8 | | modified | | ingress::hdr.ipv6.src_addr | 128 | | modified | | ingress::hdr.ipv6.dst_addr | 128 | | modified | | ingress::hdr.arp.hw_type | 16 | 0 | unused | | ingress::hdr.arp.proto_type | 16 | 0 | unused | | ingress::hdr.arp.hw_addr_len | 8 | 0 | unused | | ingress::hdr.arp.proto_addr_len | 8 | 0 | unused | | ingress::hdr.arp.opcode | 16 | 0 | unused | | ingress::hdr.arp.sender_mac | 48 | 0 | unused | | ingress::hdr.arp.sender_ip | 32 | 0 | unused | | ingress::hdr.arp.target_mac | 48 | 0 | unused | | ingress::hdr.arp.target_ip | 32 | 0 | unused | +---------------------------------------------------+------+-------+-----------+ | Unused fields | 10 | | | | Unused bits | 232 | | | | Unused CLOT-allocated fields | 9 | | | | Unused CLOT-allocated bits | 224 | | | +---------------------------------------------------+------+-------+-----------+ CLOT Allocation (ingress): +------+---------------------------------+---------------+----------+ | CLOT | Fields | Bits | Property | +------+---------------------------------+---------------+----------+ | 0 | state ingress::parse_arp | 28 bytes | | | | | | | | | ingress::hdr.arp.hw_type | 16 [0..15] | | | | ingress::hdr.arp.proto_type | 16 [16..31] | | | | ingress::hdr.arp.hw_addr_len | 8 [32..39] | | | | ingress::hdr.arp.proto_addr_len | 8 [40..47] | | | | ingress::hdr.arp.opcode | 16 [48..63] | | | | ingress::hdr.arp.sender_mac | 48 [64..111] | | | | ingress::hdr.arp.sender_ip | 32 [112..143] | | | | ingress::hdr.arp.target_mac | 48 [144..191] | | | | ingress::hdr.arp.target_ip | 32 [192..223] | | +------+---------------------------------+---------------+----------+ | | Total Bits | 224 | | +------+---------------------------------+---------------+----------+ Packets will use up to 1 CLOTs. The parser path(s) that will use the most CLOTs contain the following states: ingress::parse_arp (1 CLOTs) ingress::parse_vlan (0 CLOTs) ingress::parse_sidecar (0 CLOTs) $entry_point.start (0 CLOTs) CLOT Allocation (egress): +------+------------+------+----------+ | CLOT | Fields | Bits | Property | +------+------------+------+----------+ | | Total Bits | 0 | | +------+------------+------+----------+ Packets will use up to 0 CLOTs. The parser path(s) that will use the most CLOTs contain the following states: $entry_point.start (0 CLOTs) All fields: +---------------------------------------------------+------+-------+-----------+ | Field | Bits | CLOTs | Property | +---------------------------------------------------+------+-------+-----------+ | ingress::meta.in_port | 9 | | read-only | | ingress::hdr.ethernet.dst_mac | 48 | | modified | | ingress::hdr.ethernet.src_mac | 48 | | modified | | ingress::hdr.ethernet.ether_type | 16 | | modified | | ingress::meta.orig_src_mac | 48 | | read-only | | ingress::hdr.sidecar.sc_code | 8 | | modified | | ingress::hdr.sidecar.sc_pad | 8 | | unused | | ingress::hdr.sidecar.sc_ingress | 16 | | modified | | ingress::hdr.sidecar.sc_egress | 16 | | modified | | ingress::hdr.sidecar.sc_ether_type | 16 | | modified | | ingress::hdr.sidecar.sc_payload | 128 | | modified | | ingress::hdr.vlan.pcp | 3 | | modified | | ingress::hdr.vlan.dei | 1 | | modified | | ingress::hdr.vlan.vlan_id | 12 | | modified | | ingress::hdr.vlan.ether_type | 16 | | modified | | ingress::hdr.ipv4.version | 4 | | modified | | ingress::hdr.ipv4.ihl | 4 | | modified | | ingress::hdr.ipv4.diffserv | 8 | | modified | | ingress::hdr.ipv4.total_len | 16 | | modified | | ingress::hdr.ipv4.identification | 16 | | modified | | ingress::hdr.ipv4.flags | 3 | | modified | | ingress::hdr.ipv4.frag_offset | 13 | | modified | | ingress::hdr.ipv4.ttl | 8 | | modified | | ingress::hdr.ipv4.protocol | 8 | | modified | | ingress::hdr.ipv4.hdr_checksum | 16 | | checksum | | ingress::hdr.ipv4.src_addr | 32 | | modified | | ingress::hdr.ipv4.dst_addr | 32 | | modified | | ingress::meta.orig_src_ipv4 | 32 | | read-only | | ingress::meta.orig_dst_ipv4 | 32 | | read-only | | ingress::hdr.icmp.type | 8 | | modified | | ingress::hdr.icmp.code | 8 | | modified | | ingress::hdr.icmp.hdr_checksum | 16 | | checksum | | ingress::hdr.icmp.data | 32 | | modified | | ingress::hdr.tcp.src_port | 16 | | modified | | ingress::hdr.tcp.dst_port | 16 | | modified | | ingress::hdr.tcp.seq_no | 32 | | modified | | ingress::hdr.tcp.ack_no | 32 | | modified | | ingress::hdr.tcp.data_offset | 4 | | modified | | ingress::hdr.tcp.res | 4 | | modified | | ingress::hdr.tcp.flags | 8 | | modified | | ingress::hdr.tcp.window | 16 | | modified | | ingress::hdr.tcp.checksum | 16 | | modified | | ingress::hdr.tcp.urgent_ptr | 16 | | modified | | ingress::meta.l4_src_port | 16 | | read-only | | ingress::meta.l4_dst_port | 16 | | modified | | ingress::hdr.udp.src_port | 16 | | modified | | ingress::hdr.udp.dst_port | 16 | | modified | | ingress::hdr.udp.hdr_length | 16 | | modified | | ingress::hdr.udp.checksum | 16 | | checksum | | ingress::hdr.geneve.version | 2 | | modified | | ingress::hdr.geneve.opt_len | 6 | | modified | | ingress::hdr.geneve.ctrl | 1 | | modified | | ingress::hdr.geneve.crit | 1 | | modified | | ingress::hdr.geneve.reserved | 6 | | modified | | ingress::hdr.geneve.protocol | 16 | | modified | | ingress::hdr.geneve.vni | 24 | | modified | | ingress::hdr.geneve.reserved2 | 8 | | modified | | ingress::hdr.inner_eth.dst_mac | 48 | | modified | | ingress::hdr.inner_eth.src_mac | 48 | | modified | | ingress::hdr.inner_eth.ether_type | 16 | | modified | | ingress::hdr.inner_ipv4.version | 4 | | modified | | ingress::hdr.inner_ipv4.ihl | 4 | | modified | | ingress::hdr.inner_ipv4.diffserv | 8 | | modified | | ingress::hdr.inner_ipv4.total_len | 16 | | modified | | ingress::hdr.inner_ipv4.identification | 16 | | modified | | ingress::hdr.inner_ipv4.flags | 3 | | modified | | ingress::hdr.inner_ipv4.frag_offset | 13 | | modified | | ingress::hdr.inner_ipv4.ttl | 8 | | modified | | ingress::hdr.inner_ipv4.protocol | 8 | | modified | | ingress::hdr.inner_ipv4.hdr_checksum | 16 | | modified | | ingress::hdr.inner_ipv4.src_addr | 32 | | modified | | ingress::hdr.inner_ipv4.dst_addr | 32 | | modified | | ingress::hdr.inner_tcp.src_port | 16 | | modified | | ingress::hdr.inner_tcp.dst_port | 16 | | modified | | ingress::hdr.inner_tcp.seq_no | 32 | | modified | | ingress::hdr.inner_tcp.ack_no | 32 | | modified | | ingress::hdr.inner_tcp.data_offset | 4 | | modified | | ingress::hdr.inner_tcp.res | 4 | | modified | | ingress::hdr.inner_tcp.flags | 8 | | modified | | ingress::hdr.inner_tcp.window | 16 | | modified | | ingress::hdr.inner_tcp.checksum | 16 | | modified | | ingress::hdr.inner_tcp.urgent_ptr | 16 | | modified | | ingress::hdr.inner_udp.src_port | 16 | | modified | | ingress::hdr.inner_udp.dst_port | 16 | | modified | | ingress::hdr.inner_udp.hdr_length | 16 | | modified | | ingress::hdr.inner_udp.checksum | 16 | | modified | | ingress::hdr.inner_icmp.type | 8 | | modified | | ingress::hdr.inner_icmp.code | 8 | | modified | | ingress::hdr.inner_icmp.hdr_checksum | 16 | | modified | | ingress::hdr.inner_icmp.data | 32 | | modified | | ingress::hdr.inner_ipv6.version | 4 | | modified | | ingress::hdr.inner_ipv6.traffic_class | 8 | | modified | | ingress::hdr.inner_ipv6.flow_label | 20 | | modified | | ingress::hdr.inner_ipv6.payload_len | 16 | | modified | | ingress::hdr.inner_ipv6.next_hdr | 8 | | modified | | ingress::hdr.inner_ipv6.hop_limit | 8 | | modified | | ingress::hdr.inner_ipv6.src_addr | 128 | | modified | | ingress::hdr.inner_ipv6.dst_addr | 128 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.class | 16 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.crit | 1 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.type | 7 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.reserved | 3 | | modified | | ingress::hdr.geneve_opts.ox_external_tag.opt_len | 5 | | modified | | ingress::hdr.ipv6.version | 4 | | modified | | ingress::hdr.ipv6.traffic_class | 8 | | modified | | ingress::hdr.ipv6.flow_label | 20 | | modified | | ingress::hdr.ipv6.payload_len | 16 | | modified | | ingress::hdr.ipv6.next_hdr | 8 | | modified | | ingress::hdr.ipv6.hop_limit | 8 | | modified | | ingress::hdr.ipv6.src_addr | 128 | | modified | | ingress::hdr.ipv6.dst_addr | 128 | | modified | | ingress::hdr.arp.hw_type | 16 | 0 | unused | | ingress::hdr.arp.proto_type | 16 | 0 | unused | | ingress::hdr.arp.hw_addr_len | 8 | 0 | unused | | ingress::hdr.arp.proto_addr_len | 8 | 0 | unused | | ingress::hdr.arp.opcode | 16 | 0 | unused | | ingress::hdr.arp.sender_mac | 48 | 0 | unused | | ingress::hdr.arp.sender_ip | 32 | 0 | unused | | ingress::hdr.arp.target_mac | 48 | 0 | unused | | ingress::hdr.arp.target_ip | 32 | 0 | unused | +---------------------------------------------------+------+-------+-----------+ | Unused fields | 10 | | | | Unused bits | 232 | | | | Unused CLOT-allocated fields | 9 | | | | Unused CLOT-allocated bits | 224 | | | +---------------------------------------------------+------+-------+-----------+