Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

map 'polx_map' has to have BTF in order to use bpf_spin_lock #953

Open
vincentmli opened this issue Feb 1, 2025 · 9 comments
Open

map 'polx_map' has to have BTF in order to use bpf_spin_lock #953

vincentmli opened this issue Feb 1, 2025 · 9 comments

Comments

@vincentmli
Copy link

vincentmli commented Feb 1, 2025

after upgrading loxilb to 0.9.8 on BPFire, when start loxilb, the bpf verifier had error like below:

8113: (bf) r1 = r8                    ; frame1: R1_w=map_value(map=polx_map,ks=4,vs=96) R8_w=map_value(map=polx_map,ks=4,vs=96)
8114: (07) r1 += 16                   ; frame1: R1_w=map_value(map=polx_map,ks=4,vs=96,off=16)
8115: (7b) *(u64 *)(r10 -16) = r1     ; frame1: R1_w=map_value(map=polx_map,ks=4,vs=96,off=16) R10=fp0 fp-16_w=map_value(map=polx_map,ks=4,vs=96,off=16)
8116: (85) call bpf_spin_lock#93
map 'polx_map' has to have BTF in order to use bpf_spin_lock
processed 757 insns (limit 1000000) max_states_per_insn 0 total_states 24 peak_states 24 mark_read 11
-- END PROG LOAD LOG --
libbpf: failed to load program 'tc_packet_func'
libbpf: failed to load object '/opt/loxilb/llb_ebpf_main.o'
13:12:12 ERROR common_libbpf.c:183: tc: obj load failed
13:12:12 DEBUG loxilb_libdp.c:3147: llb_link_prop_add: IF-red0 added idx 1 type 2
2025-02-01 13:12:12 ebpf load - 1 error

loxilb 0.9.6 runs fine on BPFire, and BPFire has kernel BTF enabled and kernel is 6.12.5.

here is the kernel 6.12.5 verifier code that emit the error

static int process_spin_lock(struct bpf_verifier_env *env, int regno,
                             bool is_lock)
{
        struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno];
        struct bpf_verifier_state *cur = env->cur_state;
        bool is_const = tnum_is_const(reg->var_off);
        u64 val = reg->var_off.value;
        struct bpf_map *map = NULL;
        struct btf *btf = NULL;
        struct btf_record *rec;

        if (!is_const) {
                verbose(env,
                        "R%d doesn't have constant offset. bpf_spin_lock has to be at the constant offset\n",
                        regno);
                return -EINVAL;
        }
        if (reg->type == PTR_TO_MAP_VALUE) {
                map = reg->map_ptr;
                if (!map->btf) {
                        verbose(env,
                                "map '%s' has to have BTF in order to use bpf_spin_lock\n",
                                map->name);
                        return -EINVAL;
                }
        } else {
                btf = reg->btf;
        }

here is the BTF LOG output while loading

[276] PTR (anon) type_id=277
[277] STRUCT dp_pol_tact size=96 vlen=3
	ca type_id=46 bits_offset=0
	lock type_id=143 bits_offset=128
	(anon) type_id=278 bits_offset=192


[281] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=276 bits_offset=128
	max_entries type_id=106 bits_offset=192
[282] VAR polx_map type_id=281 linkage=1

the polx_map

struct {
        __uint(type,        BPF_MAP_TYPE_ARRAY);
        __type(key,         __u32);
        __type(value,       struct dp_pol_tact);
        __uint(max_entries, LLB_POL_MAP_ENTRIES);
} polx_map SEC(".maps");

And 


struct dp_pol_tact {
  struct dp_cmn_act ca; /* Possible actions :
                         * DP_SET_DO_POLICER
                         */ 
  struct bpf_spin_lock lock;
  union {
    struct dp_policer_act pol;
  };
};

I asked deepseek AI :). the AI says map value __type(value, struct dp_pol_tact); definition in BTF LOAD LOG output should point to STRUCT dp_pol_tact, not PTR (anon) and says it could be potential tool chain bug like compiler

@vincentmli
Copy link
Author

vincentmli commented Feb 1, 2025

Here is the BTF LOAD LOG output and PROG LOAD LOG output and relevant code https://github.com/loxilb-io/loxilb-ebpf/blob/main/kernel/llb_kern_policer.c#L13-L41

libbpf: BTF loading error: -22
libbpf: -- BEGIN BTF LOAD LOG ---
magic: 0xeb9f
version: 1
flags: 0x0
hdr_len: 24
type_off: 0
type_len: 13028
str_off: 13028
str_len: 67856
btf_total_size: 80908
[1] PTR (anon) type_id=3
[2] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[3] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=6
[4] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none)
[5] PTR (anon) type_id=2
[6] PTR (anon) type_id=7
[7] STRUCT xfi size=360 vlen=10
	fm type_id=8 bits_offset=0
	l2m type_id=13 bits_offset=128
	l34m type_id=20 bits_offset=320
	il2m type_id=13 bits_offset=704
	il34m type_id=20 bits_offset=896
	tm type_id=22 bits_offset=1280
	nm type_id=24 bits_offset=1472
	km type_id=25 bits_offset=2048
	qm type_id=27 bits_offset=2176
	pm type_id=28 bits_offset=2240
[8] STRUCT dp_fr_mdi size=16 vlen=3
	dat type_id=9 bits_offset=0
	dat_end type_id=9 bits_offset=32
	tstamp type_id=11 bits_offset=64
[9] TYPEDEF __u32 type_id=10
[10] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none)
[11] TYPEDEF __u64 type_id=12
[12] INT unsigned long long size=8 bits_offset=0 nr_bits=64 encoding=(none)
[13] STRUCT dp_l2_mdi size=24 vlen=7
	vlan type_id=16 bits_offset=0
	dl_type type_id=14 bits_offset=48
	dl_dst type_id=19 bits_offset=64
	dl_src type_id=19 bits_offset=112
	vlan_pcp type_id=17 bits_offset=160
	valid type_id=17 bits_offset=168
	ssnid type_id=14 bits_offset=176
[14] TYPEDEF __u16 type_id=15
[15] INT unsigned short size=2 bits_offset=0 nr_bits=16 encoding=(none)
[16] ARRAY (anon) type_id=14 index_type_id=4 nr_elems=3
[17] TYPEDEF __u8 type_id=18
[18] INT unsigned char size=1 bits_offset=0 nr_bits=8 encoding=(none)
[19] ARRAY (anon) type_id=17 index_type_id=4 nr_elems=6
[20] STRUCT dp_l34_mdi size=48 vlen=10
	tos type_id=17 bits_offset=0
	nw_proto type_id=17 bits_offset=8
	valid type_id=17 bits_offset=16
	frg type_id=17 bits_offset=24
	source type_id=14 bits_offset=32
	dest type_id=14 bits_offset=48
	seq type_id=9 bits_offset=64
	ack type_id=9 bits_offset=96
	saddr type_id=21 bits_offset=128
	daddr type_id=21 bits_offset=256
[21] ARRAY (anon) type_id=9 index_type_id=4 nr_elems=4
[22] STRUCT dp_tun_mdi size=24 vlen=7
	new_tunnel_id type_id=9 bits_offset=0
	tun_encap type_id=14 bits_offset=32
	tun_decap type_id=14 bits_offset=48
	tunnel_id type_id=23 bits_offset=64
	tun_type type_id=9 bits_offset=96
	tun_rip type_id=23 bits_offset=128
	tun_sip type_id=23 bits_offset=160
[23] TYPEDEF __le32 type_id=9
[24] STRUCT dp_nat_mdi size=72 vlen=13
	nxip type_id=21 bitfield_size=0 bits_offset=0
	nrip type_id=21 bitfield_size=0 bits_offset=128
	pmhh type_id=21 bitfield_size=0 bits_offset=256
	npmhh type_id=11 bitfield_size=0 bits_offset=384
	nxport type_id=14 bitfield_size=0 bits_offset=448
	ct_sts type_id=17 bitfield_size=0 bits_offset=464
	sel_aid type_id=17 bitfield_size=0 bits_offset=472
	nv6 type_id=17 bitfield_size=0 bits_offset=480
	xlate_proto type_id=17 bitfield_size=0 bits_offset=488
	dsr type_id=17 bitfield_size=4 bits_offset=496
	ppv2 type_id=17 bitfield_size=4 bits_offset=500
	cdis type_id=17 bitfield_size=0 bits_offset=504
	ito type_id=11 bitfield_size=0 bits_offset=512
[25] STRUCT dp_key_mdi size=16 vlen=1
	skey type_id=26 bits_offset=0
[26] ARRAY (anon) type_id=17 index_type_id=4 nr_elems=16
[27] STRUCT dp_qos_mdi size=8 vlen=6
	tc type_id=17 bits_offset=0
	icol type_id=17 bits_offset=8
	ocol type_id=17 bits_offset=16
	qfi type_id=17 bits_offset=24
	ipolid type_id=14 bits_offset=32
	opolid type_id=14 bits_offset=48
[28] STRUCT dp_pi_mdi size=80 vlen=47
	bd type_id=14 bitfield_size=0 bits_offset=0
	py_bytes type_id=14 bitfield_size=0 bits_offset=16
	pipe_act type_id=17 bitfield_size=0 bits_offset=32
	l3_off type_id=17 bitfield_size=0 bits_offset=40
	phit type_id=14 bitfield_size=0 bits_offset=48
	nh_num type_id=14 bitfield_size=0 bits_offset=64
	qos_id type_id=14 bitfield_size=0 bits_offset=80
	rcode type_id=9 bitfield_size=0 bits_offset=96
	tc type_id=17 bitfield_size=4 bits_offset=128
	dflrt type_id=17 bitfield_size=1 bits_offset=132
	ppv2 type_id=17 bitfield_size=1 bits_offset=133
	oppv2 type_id=17 bitfield_size=1 bits_offset=134
	ippv2 type_id=17 bitfield_size=1 bits_offset=135
	pprop type_id=17 bitfield_size=0 bits_offset=136
	lkup_dmac type_id=19 bitfield_size=0 bits_offset=144
	iport type_id=14 bitfield_size=0 bits_offset=192
	oport type_id=14 bitfield_size=0 bits_offset=208
	zone type_id=14 bitfield_size=0 bits_offset=224
	l4_off type_id=17 bitfield_size=0 bits_offset=240
	table_id type_id=17 bitfield_size=0 bits_offset=248
	sseid type_id=11 bitfield_size=0 bits_offset=256
	dseid type_id=11 bitfield_size=0 bits_offset=320
	mirr type_id=14 bitfield_size=0 bits_offset=384
	tcp_flags type_id=17 bitfield_size=0 bits_offset=400
	nf type_id=17 bitfield_size=0 bits_offset=408
	rule_id type_id=14 bitfield_size=0 bits_offset=416
	l3_adj type_id=29 bitfield_size=0 bits_offset=432
	il3_off type_id=17 bitfield_size=0 bits_offset=448
	il4_off type_id=17 bitfield_size=0 bits_offset=456
	itcp_flags type_id=17 bitfield_size=0 bits_offset=464
	l4fin type_id=17 bitfield_size=1 bits_offset=472
	dbg type_id=17 bitfield_size=1 bits_offset=473
	goct type_id=17 bitfield_size=1 bits_offset=474
	nfc type_id=17 bitfield_size=1 bits_offset=475
	pten type_id=17 bitfield_size=2 bits_offset=476
	il4fin type_id=17 bitfield_size=1 bits_offset=478
	dir type_id=17 bitfield_size=1 bits_offset=479
	l3_len type_id=14 bitfield_size=0 bits_offset=480
	l3_plen type_id=14 bitfield_size=0 bits_offset=496
	il3_len type_id=14 bitfield_size=0 bits_offset=512
	il3_plen type_id=14 bitfield_size=0 bits_offset=528
	dp_mark type_id=9 bitfield_size=0 bits_offset=544
	dp_rec type_id=17 bitfield_size=0 bits_offset=576
	tun_off type_id=17 bitfield_size=0 bits_offset=584
	fw_mid type_id=14 bitfield_size=0 bits_offset=592
	fw_lid type_id=14 bitfield_size=0 bits_offset=608
	fw_rid type_id=14 bitfield_size=0 bits_offset=624
[29] TYPEDEF __s16 type_id=30
[30] INT short size=2 bits_offset=0 nr_bits=16 encoding=SIGNED
[31] PTR (anon) type_id=32
[32] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=1
[33] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=5 bits_offset=64
	value type_id=6 bits_offset=128
	max_entries type_id=31 bits_offset=192
[34] VAR xfis type_id=33 linkage=1
[35] PTR (anon) type_id=36
[36] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=3
[37] PTR (anon) type_id=9
[38] PTR (anon) type_id=39
[39] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=8
[40] STRUCT (anon) size=32 vlen=4
	type type_id=35 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=37 bits_offset=128
	max_entries type_id=38 bits_offset=192
[41] VAR pgm_tbl type_id=40 linkage=1
[42] PTR (anon) type_id=43
[43] STRUCT intf_key size=8 vlen=3
	ifindex type_id=9 bits_offset=0
	ing_vid type_id=14 bits_offset=32
	pad type_id=14 bits_offset=48
[44] PTR (anon) type_id=45
[45] STRUCT dp_intf_tact size=32 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=47 bits_offset=128
[46] STRUCT dp_cmn_act size=16 vlen=7
	act_type type_id=17 bits_offset=0
	ftrap type_id=17 bits_offset=8
	oaux type_id=14 bits_offset=16
	cidx type_id=9 bits_offset=32
	fwrid type_id=14 bits_offset=64
	record type_id=14 bits_offset=80
	mark type_id=9 bits_offset=96
[47] UNION (anon) size=16 vlen=1
	set_ifi type_id=48 bits_offset=0
[48] STRUCT dp_intf_tact_set_ifi size=16 vlen=8
	xdp_ifidx type_id=14 bits_offset=0
	zone type_id=14 bits_offset=16
	bd type_id=14 bits_offset=32
	mirr type_id=14 bits_offset=48
	polid type_id=14 bits_offset=64
	pprop type_id=17 bits_offset=80
	pten type_id=17 bits_offset=88
	r type_id=49 bits_offset=96
[49] ARRAY (anon) type_id=17 index_type_id=4 nr_elems=4
[50] PTR (anon) type_id=51
[51] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=512
[52] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=42 bits_offset=64
	value type_id=44 bits_offset=128
	max_entries type_id=50 bits_offset=192
[53] VAR intf_map type_id=52 linkage=1
[54] PTR (anon) type_id=55
[55] STRUCT dp_pb_stats size=16 vlen=2
	bytes type_id=56 bits_offset=0
	packets type_id=56 bits_offset=64
[56] TYPEDEF uint64_t type_id=57
[57] TYPEDEF __uint64_t type_id=12
[58] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=50 bits_offset=192
[59] VAR intf_stats_map type_id=58 linkage=1
[60] PTR (anon) type_id=61
[61] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=6144
[62] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=60 bits_offset=192
[63] VAR bd_stats_map type_id=62 linkage=1
[64] PTR (anon) type_id=65
[65] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=4
[66] PTR (anon) type_id=67
[67] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=16
[68] STRUCT (anon) size=32 vlen=4
	type type_id=64 bits_offset=0
	key type_id=5 bits_offset=64
	value type_id=37 bits_offset=128
	max_entries type_id=66 bits_offset=192
[69] VAR pkt_ring type_id=68 linkage=1
[70] STRUCT (anon) size=32 vlen=4
	type type_id=64 bits_offset=0
	key type_id=5 bits_offset=64
	value type_id=37 bits_offset=128
	max_entries type_id=66 bits_offset=192
[71] VAR cp_ring type_id=70 linkage=1
[72] PTR (anon) type_id=73
[73] STRUCT ll_dp_pmdi size=24 vlen=9
	ifindex type_id=9 bits_offset=0
	dp_inport type_id=14 bits_offset=32
	dp_oport type_id=14 bits_offset=48
	rcode type_id=9 bits_offset=64
	table_id type_id=14 bits_offset=96
	phit type_id=14 bits_offset=112
	pkt_len type_id=9 bits_offset=128
	resolve_ip type_id=9 bits_offset=160
	data type_id=76 bits_offset=192
[74] TYPEDEF uint8_t type_id=75
[75] TYPEDEF __uint8_t type_id=18
[76] ARRAY (anon) type_id=74 index_type_id=4 nr_elems=0
[77] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=72 bits_offset=128
	max_entries type_id=31 bits_offset=192
[78] VAR pkts type_id=77 linkage=1
[79] PTR (anon) type_id=80
[80] STRUCT dp_fc_tacts size=512 vlen=6
	ca type_id=46 bits_offset=0
	its type_id=11 bits_offset=128
	zone type_id=9 bits_offset=192
	pad type_id=14 bits_offset=224
	pten type_id=14 bits_offset=240
	fcta type_id=91 bits_offset=256
[81] STRUCT dp_fc_tact size=68 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=82 bits_offset=128
[82] UNION (anon) size=52 vlen=6
	port_act type_id=83 bits_offset=0
	nh_act type_id=84 bits_offset=0
	nat_act type_id=87 bits_offset=0
	nl2 type_id=86 bits_offset=0
	ntun type_id=88 bits_offset=0
	l2ov type_id=90 bits_offset=0
[83] STRUCT dp_rdr_act size=4 vlen=2
	oport type_id=14 bits_offset=0
	fr type_id=14 bits_offset=16
[84] STRUCT dp_rt_nh_act size=32 vlen=5
	nh_num type_id=85 bits_offset=0
	naps type_id=14 bits_offset=64
	bd type_id=14 bits_offset=80
	tid type_id=9 bits_offset=96
	l2nh type_id=86 bits_offset=128
[85] ARRAY (anon) type_id=14 index_type_id=4 nr_elems=4
[86] STRUCT dp_rt_l2nh_act size=16 vlen=4
	dmac type_id=19 bits_offset=0
	smac type_id=19 bits_offset=48
	bd type_id=14 bits_offset=96
	rnh_num type_id=14 bits_offset=112
[87] STRUCT dp_nat_act size=52 vlen=12
	xip type_id=21 bits_offset=0
	rip type_id=21 bits_offset=128
	xport type_id=14 bits_offset=256
	fr type_id=17 bits_offset=272
	doct type_id=17 bits_offset=280
	rid type_id=9 bits_offset=288
	aid type_id=9 bits_offset=320
	nv6 type_id=17 bits_offset=352
	dsr type_id=17 bits_offset=360
	cdis type_id=17 bits_offset=368
	nmh type_id=17 bits_offset=376
	ppv2 type_id=17 bits_offset=384
[88] STRUCT dp_rt_tunnh_act size=32 vlen=2
	l3t type_id=89 bits_offset=0
	l2nh type_id=86 bits_offset=128
[89] STRUCT dp_rt_l3tun_act size=16 vlen=4
	rip type_id=9 bits_offset=0
	sip type_id=9 bits_offset=32
	tid type_id=9 bits_offset=64
	aux type_id=9 bits_offset=96
[90] STRUCT dp_l2vlan_act size=4 vlen=2
	vlan type_id=14 bits_offset=0
	oport type_id=14 bits_offset=16
[91] ARRAY (anon) type_id=81 index_type_id=4 nr_elems=7
[92] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=79 bits_offset=128
	max_entries type_id=31 bits_offset=192
[93] VAR fcas type_id=92 linkage=1
[94] PTR (anon) type_id=95
[95] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=14
[96] STRUCT (anon) size=32 vlen=4
	type type_id=94 bits_offset=0
	key type_id=5 bits_offset=64
	value type_id=5 bits_offset=128
	max_entries type_id=50 bits_offset=192
[97] VAR tx_intf_map type_id=96 linkage=1
[98] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=60 bits_offset=192
[99] VAR tx_intf_stats_map type_id=98 linkage=1
[100] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=60 bits_offset=192
[101] VAR tx_bd_stats_map type_id=100 linkage=1
[102] PTR (anon) type_id=103
[103] STRUCT dp_smac_key size=8 vlen=2
	smac type_id=19 bits_offset=0
	bd type_id=14 bits_offset=48
[104] PTR (anon) type_id=105
[105] STRUCT dp_smac_tact size=16 vlen=1
	ca type_id=46 bits_offset=0
[106] PTR (anon) type_id=107
[107] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=8192
[108] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=102 bits_offset=64
	value type_id=104 bits_offset=128
	max_entries type_id=106 bits_offset=192
[109] VAR smac_map type_id=108 linkage=1
[110] PTR (anon) type_id=111
[111] STRUCT dp_dmac_key size=8 vlen=2
	dmac type_id=19 bits_offset=0
	bd type_id=14 bits_offset=48
[112] PTR (anon) type_id=113
[113] STRUCT dp_dmac_tact size=20 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=114 bits_offset=128
[114] UNION (anon) size=4 vlen=2
	vlan_act type_id=90 bits_offset=0
	port_act type_id=83 bits_offset=0
[115] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=110 bits_offset=64
	value type_id=112 bits_offset=128
	max_entries type_id=106 bits_offset=192
[116] VAR dmac_map type_id=115 linkage=1
[117] PTR (anon) type_id=118
[118] STRUCT dp_tmac_key size=12 vlen=4
	mac type_id=19 bits_offset=0
	tun_type type_id=17 bits_offset=48
	pad type_id=17 bits_offset=56
	tunnel_id type_id=9 bits_offset=64
[119] PTR (anon) type_id=120
[120] STRUCT dp_tmac_tact size=48 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=121 bits_offset=128
[121] UNION (anon) size=32 vlen=1
	rt_nh type_id=84 bits_offset=0
[122] PTR (anon) type_id=123
[123] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=2048
[124] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=117 bits_offset=64
	value type_id=119 bits_offset=128
	max_entries type_id=122 bits_offset=192
[125] VAR tmac_map type_id=124 linkage=1
[126] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=122 bits_offset=192
[127] VAR tmac_stats_map type_id=126 linkage=1
[128] PTR (anon) type_id=129
[129] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=2
[130] PTR (anon) type_id=131
[131] STRUCT dp_nh_key size=4 vlen=1
	nh_num type_id=9 bits_offset=0
[132] PTR (anon) type_id=133
[133] STRUCT dp_nh_tact size=48 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=134 bits_offset=128
[134] UNION (anon) size=32 vlen=2
	rt_l2nh type_id=86 bits_offset=0
	rt_tnh type_id=88 bits_offset=0
[135] PTR (anon) type_id=136
[136] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=4096
[137] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=130 bits_offset=64
	value type_id=132 bits_offset=128
	max_entries type_id=135 bits_offset=192
[138] VAR nh_map type_id=137 linkage=1
[139] PTR (anon) type_id=140
[140] STRUCT dp_ct_key size=48 vlen=9
	daddr type_id=21 bits_offset=0
	saddr type_id=21 bits_offset=128
	sport type_id=14 bits_offset=256
	dport type_id=14 bits_offset=272
	zone type_id=14 bits_offset=288
	l4proto type_id=17 bits_offset=304
	v6 type_id=17 bits_offset=312
	ident type_id=9 bits_offset=320
	type type_id=9 bits_offset=352
[141] PTR (anon) type_id=142
[142] STRUCT dp_ct_tact size=272 vlen=6
	ca type_id=46 bits_offset=0
	lock type_id=143 bits_offset=128
	ctd type_id=144 bits_offset=192
	ito type_id=11 bits_offset=1600
	lts type_id=11 bits_offset=1664
	(anon) type_id=184 bits_offset=1728
[143] STRUCT bpf_spin_lock size=4 vlen=1
	val type_id=9 bits_offset=0
[144] STRUCT dp_ct_dat size=176 vlen=8
	rid type_id=14 bits_offset=0
	aid type_id=14 bits_offset=16
	nid type_id=9 bits_offset=32
	pi type_id=145 bits_offset=64
	dir type_id=152 bits_offset=864
	smr type_id=178 bits_offset=896
	xi type_id=180 bits_offset=928
	pb type_id=183 bits_offset=1280
[145] TYPEDEF ct_pinf_t type_id=146
[146] STRUCT (anon) size=100 vlen=5
	(anon) type_id=147 bits_offset=0
	frag type_id=14 bits_offset=608
	npmhh type_id=14 bits_offset=624
	pmhh type_id=21 bits_offset=640
	l3i type_id=174 bits_offset=768
[147] UNION (anon) size=76 vlen=4
	t type_id=148 bits_offset=0
	u type_id=158 bits_offset=0
	i type_id=160 bits_offset=0
	s type_id=164 bits_offset=0
[148] TYPEDEF ct_tcp_pinf_t type_id=149
[149] STRUCT (anon) size=40 vlen=3
	state type_id=150 bits_offset=0
	fndir type_id=152 bits_offset=32
	tcp_cts type_id=157 bits_offset=64
[150] TYPEDEF ct_tcp_state_t type_id=151
[151] ENUM (anon) size=4 vlen=10
	CT_TCP_CLOSED val=0
	CT_TCP_SS val=1
	CT_TCP_SA val=2
	CT_TCP_EST val=4
	CT_TCP_FINI val=16
	CT_TCP_FINI2 val=32
	CT_TCP_FINI3 val=64
	CT_TCP_CW val=128
	CT_TCP_ERR val=256
	CT_TCP_PEST val=512
[152] TYPEDEF ct_dir_t type_id=153
[153] ENUM (anon) size=4 vlen=3
	CT_DIR_IN val=0
	CT_DIR_OUT val=1
	CT_DIR_MAX val=2
[154] TYPEDEF ct_tcp_pinfd_t type_id=155
[155] STRUCT (anon) size=16 vlen=6
	hstate type_id=14 bits_offset=0
	init_acks type_id=17 bits_offset=16
	ppv2 type_id=17 bits_offset=24
	seq type_id=9 bits_offset=32
	pack type_id=156 bits_offset=64
	pseq type_id=156 bits_offset=96
[156] TYPEDEF __be32 type_id=9
[157] ARRAY (anon) type_id=154 index_type_id=4 nr_elems=2
[158] TYPEDEF ct_udp_pinf_t type_id=159
[159] STRUCT (anon) size=12 vlen=4
	state type_id=14 bits_offset=0
	pkts_seen type_id=14 bits_offset=16
	rpkts_seen type_id=14 bits_offset=32
	fndir type_id=152 bits_offset=64
[160] TYPEDEF ct_icmp_pinf_t type_id=161
[161] STRUCT (anon) size=4 vlen=3
	state type_id=74 bits_offset=0
	errs type_id=74 bits_offset=8
	lseq type_id=162 bits_offset=16
[162] TYPEDEF uint16_t type_id=163
[163] TYPEDEF __uint16_t type_id=15
[164] TYPEDEF ct_sctp_pinf_t type_id=165
[165] STRUCT (anon) size=76 vlen=6
	state type_id=166 bits_offset=0
	fndir type_id=152 bits_offset=32
	itag type_id=168 bits_offset=64
	otag type_id=168 bits_offset=96
	cookie type_id=168 bits_offset=128
	sctp_cts type_id=173 bits_offset=160
[166] TYPEDEF ct_sctp_state_t type_id=167
[167] ENUM (anon) size=4 vlen=12
	CT_SCTP_CLOSED val=0
	CT_SCTP_INIT val=1
	CT_SCTP_INITA val=2
	CT_SCTP_COOKIE val=4
	CT_SCTP_COOKIEA val=16
	CT_SCTP_PRE_EST val=32
	CT_SCTP_EST val=64
	CT_SCTP_SHUT val=128
	CT_SCTP_SHUTA val=256
	CT_SCTP_SHUTC val=512
	CT_SCTP_ERR val=1024
	CT_SCTP_ABRT val=2048
[168] TYPEDEF uint32_t type_id=169
[169] TYPEDEF __uint32_t type_id=10
[170] TYPEDEF ct_sctp_pinfd_t type_id=171
[171] STRUCT (anon) size=28 vlen=4
	nh type_id=9 bits_offset=0
	odst type_id=9 bits_offset=32
	osrc type_id=9 bits_offset=64
	mh_host type_id=172 bits_offset=96
[172] ARRAY (anon) type_id=156 index_type_id=4 nr_elems=4
[173] ARRAY (anon) type_id=170 index_type_id=4 nr_elems=2
[174] TYPEDEF ct_l3inf_t type_id=175
[175] STRUCT (anon) size=4 vlen=1
	state type_id=176 bits_offset=0
[176] TYPEDEF ct_state_t type_id=177
[177] ENUM (anon) size=4 vlen=6
	CT_STATE_NONE val=0
	CT_STATE_REQ val=1
	CT_STATE_REP val=2
	CT_STATE_EST val=4
	CT_STATE_FIN val=8
	CT_STATE_DOR val=16
[178] TYPEDEF ct_smr_t type_id=179
[179] ENUM (anon) size=4 vlen=8
	CT_SMR_ERR val=-1
	CT_SMR_INPROG val=0
	CT_SMR_EST val=1
	CT_SMR_UEST val=2
	CT_SMR_FIN val=3
	CT_SMR_CTD val=4
	CT_SMR_UNT val=100
	CT_SMR_INIT val=200
[180] TYPEDEF nxfrm_inf_t type_id=181
[181] STRUCT mf_xfrm_inf size=44 vlen=12
	nat_flags type_id=74 bitfield_size=0 bits_offset=0
	inactive type_id=74 bitfield_size=0 bits_offset=8
	wprio type_id=74 bitfield_size=0 bits_offset=16
	nv6 type_id=74 bitfield_size=0 bits_offset=24
	dsr type_id=74 bitfield_size=0 bits_offset=32
	mhon type_id=74 bitfield_size=4 bits_offset=40
	mhs type_id=74 bitfield_size=4 bits_offset=44
	nat_xport type_id=162 bitfield_size=0 bits_offset=48
	nat_xip type_id=182 bitfield_size=0 bits_offset=64
	nat_rip type_id=182 bitfield_size=0 bits_offset=192
	osp type_id=162 bitfield_size=0 bits_offset=320
	odp type_id=162 bitfield_size=0 bits_offset=336
[182] ARRAY (anon) type_id=168 index_type_id=4 nr_elems=4
[183] TYPEDEF dp_pb_stats_t type_id=55
[184] UNION (anon) size=52 vlen=4
	port_act type_id=83 bits_offset=0
	pdr_sess_act type_id=185 bits_offset=0
	rt_nh type_id=84 bits_offset=0
	nat_act type_id=87 bits_offset=0
[185] STRUCT dp_sess_act size=4 vlen=1
	sess_id type_id=9 bits_offset=0
[186] PTR (anon) type_id=187
[187] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=524288
[188] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=139 bits_offset=64
	value type_id=141 bits_offset=128
	max_entries type_id=186 bits_offset=192
[189] VAR ct_map type_id=188 linkage=1
[190] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=186 bits_offset=192
[191] VAR ct_stats_map type_id=190 linkage=1
[192] PTR (anon) type_id=193
[193] STRUCT dp_nat_key size=28 vlen=6
	daddr type_id=21 bits_offset=0
	dport type_id=14 bits_offset=128
	zone type_id=14 bits_offset=144
	mark type_id=9 bits_offset=160
	l4proto type_id=14 bits_offset=192
	v6 type_id=14 bits_offset=208
[194] PTR (anon) type_id=195
[195] STRUCT dp_proxy_tacts size=1744 vlen=17
	ca type_id=46 bits_offset=0
	ito type_id=56 bits_offset=128
	pto type_id=56 bits_offset=192
	lock type_id=143 bits_offset=256
	nxfrm type_id=74 bits_offset=288
	opflags type_id=74 bits_offset=296
	cdis type_id=74 bits_offset=304
	npmhh type_id=74 bits_offset=312
	sel_hint type_id=162 bits_offset=320
	sel_type type_id=74 bits_offset=336
	sec_mode type_id=74 bits_offset=344
	ppv2 type_id=74 bits_offset=352
	pmhh type_id=196 bits_offset=384
	nxfrms type_id=197 bits_offset=480
	host_url type_id=198 bits_offset=11744
	lts type_id=56 bits_offset=13824
	base_to type_id=56 bits_offset=13888
[196] ARRAY (anon) type_id=168 index_type_id=4 nr_elems=3
[197] ARRAY (anon) type_id=181 index_type_id=4 nr_elems=32
[198] ARRAY (anon) type_id=74 index_type_id=4 nr_elems=256
[199] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=192 bits_offset=64
	value type_id=194 bits_offset=128
	max_entries type_id=135 bits_offset=192
[200] VAR nat_map type_id=199 linkage=1
[201] PTR (anon) type_id=202
[202] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=65536
[203] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=201 bits_offset=192
[204] VAR nat_stats_map type_id=203 linkage=1
[205] PTR (anon) type_id=206
[206] STRUCT dp_nat_epacts size=148 vlen=3
	ca type_id=46 bits_offset=0
	lock type_id=143 bits_offset=128
	active_sess type_id=207 bits_offset=160
[207] ARRAY (anon) type_id=168 index_type_id=4 nr_elems=32
[208] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=205 bits_offset=128
	max_entries type_id=135 bits_offset=192
[209] VAR nat_ep_map type_id=208 linkage=1
[210] PTR (anon) type_id=211
[211] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=11
[212] PTR (anon) type_id=213
[213] STRUCT dp_rtv4_key size=12 vlen=2
	l type_id=214 bits_offset=0
	(anon) type_id=216 bits_offset=32
[214] STRUCT bpf_lpm_trie_key size=4 vlen=2
	prefixlen type_id=9 bits_offset=0
	data type_id=215 bits_offset=32
[215] ARRAY (anon) type_id=17 index_type_id=4 nr_elems=0
[216] UNION (anon) size=8 vlen=2
	v4k type_id=19 bits_offset=0
	addr type_id=9 bits_offset=0
[217] PTR (anon) type_id=218
[218] STRUCT dp_rt_tact size=48 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=219 bits_offset=128
[219] UNION (anon) size=32 vlen=2
	port_act type_id=83 bits_offset=0
	rt_nh type_id=84 bits_offset=0
[220] PTR (anon) type_id=221
[221] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=32768
[222] STRUCT (anon) size=40 vlen=5
	type type_id=210 bits_offset=0
	key type_id=212 bits_offset=64
	value type_id=217 bits_offset=128
	map_flags type_id=31 bits_offset=192
	max_entries type_id=220 bits_offset=256
[223] VAR rt_v4_map type_id=222 linkage=1
[224] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=220 bits_offset=192
[225] VAR rt_v4_stats_map type_id=224 linkage=1
[226] PTR (anon) type_id=227
[227] STRUCT dp_rtv6_key size=20 vlen=2
	l type_id=214 bits_offset=0
	(anon) type_id=228 bits_offset=32
[228] UNION (anon) size=16 vlen=1
	addr type_id=21 bits_offset=0
[229] STRUCT (anon) size=40 vlen=5
	type type_id=210 bits_offset=0
	key type_id=226 bits_offset=64
	value type_id=217 bits_offset=128
	map_flags type_id=31 bits_offset=192
	max_entries type_id=122 bits_offset=256
[230] VAR rt_v6_map type_id=229 linkage=1
[231] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=122 bits_offset=192
[232] VAR rt_v6_stats_map type_id=231 linkage=1
[233] PTR (anon) type_id=234
[234] STRUCT dp_mirr_tact size=48 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=235 bits_offset=128
[235] UNION (anon) size=32 vlen=3
	rt_tnh type_id=88 bits_offset=0
	vlan_act type_id=90 bits_offset=0
	port_act type_id=83 bits_offset=0
[236] PTR (anon) type_id=237
[237] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=32
[238] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=233 bits_offset=128
	max_entries type_id=236 bits_offset=192
[239] VAR mirr_map type_id=238 linkage=1
[240] PTR (anon) type_id=241
[241] STRUCT dp_sess4_key size=16 vlen=4
	daddr type_id=9 bits_offset=0
	saddr type_id=9 bits_offset=32
	teid type_id=9 bits_offset=64
	r type_id=9 bits_offset=96
[242] PTR (anon) type_id=243
[243] STRUCT dp_sess_tact size=32 vlen=7
	ca type_id=46 bits_offset=0
	qfi type_id=74 bits_offset=128
	r1 type_id=74 bits_offset=136
	r2 type_id=162 bits_offset=144
	rip type_id=168 bits_offset=160
	sip type_id=168 bits_offset=192
	teid type_id=168 bits_offset=224
[244] PTR (anon) type_id=245
[245] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=20480
[246] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=240 bits_offset=64
	value type_id=242 bits_offset=128
	max_entries type_id=244 bits_offset=192
[247] VAR sess_v4_map type_id=246 linkage=1
[248] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=244 bits_offset=192
[249] VAR sess_v4_stats_map type_id=248 linkage=1
[250] PTR (anon) type_id=251
[251] STRUCT dp_fcv4_key size=16 vlen=7
	daddr type_id=9 bits_offset=0
	saddr type_id=9 bits_offset=32
	sport type_id=14 bits_offset=64
	dport type_id=14 bits_offset=80
	l4proto type_id=17 bits_offset=96
	pad type_id=17 bits_offset=104
	in_port type_id=14 bits_offset=112
[252] STRUCT (anon) size=32 vlen=4
	type type_id=31 bits_offset=0
	key type_id=250 bits_offset=64
	value type_id=79 bits_offset=128
	max_entries type_id=186 bits_offset=192
[253] VAR fc_v4_map type_id=252 linkage=1
[254] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=186 bits_offset=192
[255] VAR fc_v4_stats_map type_id=254 linkage=1
[256] PTR (anon) type_id=257
[257] STRUCT dp_fwv4_ent size=116 vlen=2
	k type_id=258 bits_offset=0
	fwa type_id=270 bits_offset=384
[258] STRUCT pdi_key size=48 vlen=9
	dest type_id=259 bits_offset=0
	source type_id=259 bits_offset=64
	dport type_id=261 bits_offset=128
	sport type_id=261 bits_offset=192
	inport type_id=266 bits_offset=256
	zone type_id=266 bits_offset=288
	bd type_id=266 bits_offset=320
	protocol type_id=268 bits_offset=352
	nr type_id=268 bits_offset=368
[259] TYPEDEF pdi_tup32_t type_id=260
[260] STRUCT pdi_tup32_ size=8 vlen=2
	val type_id=9 bits_offset=0
	valid type_id=9 bits_offset=32
[261] TYPEDEF pdi_tupr16_t type_id=262
[262] STRUCT pdi_tupwr16_ size=8 vlen=2
	has_range type_id=168 bits_offset=0
	u type_id=263 bits_offset=32
[263] UNION (anon) size=4 vlen=2
	r type_id=264 bits_offset=0
	v type_id=265 bits_offset=0
[264] STRUCT pdi_tup16r_ size=4 vlen=2
	min type_id=14 bits_offset=0
	max type_id=14 bits_offset=16
[265] STRUCT pdi_tup16v_ size=4 vlen=2
	val type_id=14 bits_offset=0
	valid type_id=14 bits_offset=16
[266] TYPEDEF pdi_tup16_t type_id=267
[267] STRUCT pdi_tup16_ size=4 vlen=2
	val type_id=14 bits_offset=0
	valid type_id=14 bits_offset=16
[268] TYPEDEF pdi_tup8_t type_id=269
[269] STRUCT pdi_tup8_ size=2 vlen=2
	val type_id=17 bits_offset=0
	valid type_id=17 bits_offset=8
[270] STRUCT dp_fwv4_tact size=68 vlen=2
	ca type_id=46 bits_offset=0
	(anon) type_id=271 bits_offset=128
[271] UNION (anon) size=52 vlen=2
	port_act type_id=83 bits_offset=0
	nat_act type_id=87 bits_offset=0
[272] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=256 bits_offset=128
	max_entries type_id=106 bits_offset=192
[273] VAR fw_v4_map type_id=272 linkage=1
[274] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=106 bits_offset=192
[275] VAR fw_v4_stats_map type_id=274 linkage=1
[276] PTR (anon) type_id=277
[277] STRUCT dp_pol_tact size=96 vlen=3
	ca type_id=46 bits_offset=0
	lock type_id=143 bits_offset=128
	(anon) type_id=278 bits_offset=192
[278] UNION (anon) size=72 vlen=1
	pol type_id=279 bits_offset=0
[279] STRUCT dp_policer_act size=72 vlen=13
	trtcm type_id=17 bits_offset=0
	color_aware type_id=17 bits_offset=8
	drop_prio type_id=14 bits_offset=16
	pad type_id=9 bits_offset=32
	cbs type_id=9 bits_offset=64
	ebs type_id=9 bits_offset=96
	tok_c type_id=9 bits_offset=128
	tok_e type_id=9 bits_offset=160
	toksc_pus type_id=11 bits_offset=192
	tokse_pus type_id=11 bits_offset=256
	lastc_uts type_id=11 bits_offset=320
	laste_uts type_id=11 bits_offset=384
	ps type_id=280 bits_offset=448
[280] STRUCT dp_pol_stats size=16 vlen=2
	drop_packets type_id=56 bits_offset=0
	pass_packets type_id=56 bits_offset=64
[281] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=276 bits_offset=128
	max_entries type_id=106 bits_offset=192
[282] VAR polx_map type_id=281 linkage=1
[283] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=5 bits_offset=64
	value type_id=250 bits_offset=128
	max_entries type_id=31 bits_offset=192
[284] VAR xfck type_id=283 linkage=1
[285] PTR (anon) type_id=286
[286] ARRAY (anon) type_id=2 index_type_id=4 nr_elems=256
[287] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=37 bits_offset=128
	max_entries type_id=285 bits_offset=192
[288] VAR crc32c_map type_id=287 linkage=1
[289] STRUCT (anon) size=32 vlen=4
	type type_id=66 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=37 bits_offset=128
	max_entries type_id=66 bits_offset=192
[290] VAR cpu_map type_id=289 linkage=1
[291] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=37 bits_offset=128
	max_entries type_id=66 bits_offset=192
[292] VAR live_cpu_map type_id=291 linkage=1
[293] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=54 bits_offset=128
	max_entries type_id=122 bits_offset=192
[294] VAR pplat_map type_id=293 linkage=1
[295] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=141 bits_offset=128
	max_entries type_id=128 bits_offset=192
[296] VAR xctk type_id=295 linkage=1
[297] PTR (anon) type_id=298
[298] STRUCT gtp_parser size=64 vlen=8
	gh type_id=299 bits_offset=0
	geh type_id=300 bits_offset=64
	nh type_id=301 bits_offset=128
	gtp_next type_id=301 bits_offset=192
	hlen type_id=17 bits_offset=256
	nhl type_id=302 bits_offset=320
	neh type_id=302 bits_offset=384
	elen type_id=17 bits_offset=448
[299] PTR (anon) type_id=345
[300] PTR (anon) type_id=346
[301] PTR (anon) type_id=0
[302] PTR (anon) type_id=17
[303] STRUCT (anon) size=32 vlen=4
	type type_id=1 bits_offset=0
	key type_id=5 bits_offset=64
	value type_id=297 bits_offset=128
	max_entries type_id=31 bits_offset=192
[304] VAR gparser type_id=303 linkage=1
[305] PTR (anon) type_id=306
[306] STRUCT dp_ct_ctrtact size=32 vlen=5
	ca type_id=46 bits_offset=0
	lock type_id=143 bits_offset=128
	start type_id=9 bits_offset=160
	counter type_id=9 bits_offset=192
	entries type_id=9 bits_offset=224
[307] STRUCT (anon) size=32 vlen=4
	type type_id=128 bits_offset=0
	key type_id=37 bits_offset=64
	value type_id=305 bits_offset=128
	max_entries type_id=31 bits_offset=192
[308] VAR ct_ctr type_id=307 linkage=1
[309] PTR (anon) type_id=310
[310] STRUCT __sk_buff size=176 vlen=31
	len type_id=9 bits_offset=0
	pkt_type type_id=9 bits_offset=32
	mark type_id=9 bits_offset=64
	queue_mapping type_id=9 bits_offset=96
	protocol type_id=9 bits_offset=128
	vlan_present type_id=9 bits_offset=160
	vlan_tci type_id=9 bits_offset=192
	vlan_proto type_id=9 bits_offset=224
	priority type_id=9 bits_offset=256
	ingress_ifindex type_id=9 bits_offset=288
	ifindex type_id=9 bits_offset=320
	tc_index type_id=9 bits_offset=352
	cb type_id=311 bits_offset=384
	hash type_id=9 bits_offset=544
	tc_classid type_id=9 bits_offset=576
	data type_id=9 bits_offset=608
	data_end type_id=9 bits_offset=640
	napi_id type_id=9 bits_offset=672
	family type_id=9 bits_offset=704
	remote_ip4 type_id=9 bits_offset=736
	local_ip4 type_id=9 bits_offset=768
	remote_ip6 type_id=21 bits_offset=800
	local_ip6 type_id=21 bits_offset=928
	remote_port type_id=9 bits_offset=1056
	local_port type_id=9 bits_offset=1088
	data_meta type_id=9 bits_offset=1120
	(anon) type_id=312 bits_offset=1152
	tstamp type_id=11 bits_offset=1216
	wire_len type_id=9 bits_offset=1280
	gso_segs type_id=9 bits_offset=1312
	(anon) type_id=314 bits_offset=1344
[311] ARRAY (anon) type_id=9 index_type_id=4 nr_elems=5
[312] UNION (anon) size=8 vlen=1
	flow_keys type_id=313 bits_offset=0
[313] PTR (anon) type_id=343
[314] UNION (anon) size=8 vlen=1
	sk type_id=315 bits_offset=0
[315] PTR (anon) type_id=344
[316] FUNC_PROTO (anon) return=2 args=(309 md)
[317] FUNC tc_packet_func_fast type_id=316
[318] FUNC_PROTO (anon) return=2 args=(309 md)
[319] FUNC tc_packet_func type_id=318
[320] FUNC_PROTO (anon) return=2 args=(309 md)
[321] FUNC tc_packet_func_slow type_id=320
[322] FUNC_PROTO (anon) return=2 args=(309 ctx)
[323] FUNC tc_packet_func_fw type_id=322
[324] FUNC_PROTO (anon) return=2 args=(309 md)
[325] FUNC tc_csum_func1 type_id=324
[326] FUNC_PROTO (anon) return=2 args=(309 md)
[327] FUNC tc_csum_func2 type_id=326
[328] FUNC_PROTO (anon) return=2 args=(309 md)
[329] FUNC tc_slow_unp_func type_id=328
[330] FUNC_PROTO (anon) return=2 args=(309 ctx)
[331] FUNC tc_packet_func_masq type_id=330
[332] FUNC_PROTO (anon) return=2 args=(301 ctx, 6 xf, 2 egr)
[333] FUNC do_dp_policer type_id=332
[334] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[335] ARRAY (anon) type_id=334 index_type_id=4 nr_elems=13
[336] VAR _license type_id=335 linkage=1
[337] CONST (anon) type_id=334
[338] ARRAY (anon) type_id=337 index_type_id=4 nr_elems=16
[339] VAR dp_sctp_csum.____fmt type_id=338 linkage=0
[340] DATASEC .maps size=1360 vlen=42
	 type_id=34 offset=0 size=32
	 type_id=41 offset=32 size=32
	 type_id=53 offset=64 size=32
	 type_id=59 offset=96 size=32
	 type_id=63 offset=128 size=32
	 type_id=69 offset=160 size=32
	 type_id=71 offset=192 size=32
	 type_id=78 offset=224 size=32
	 type_id=93 offset=256 size=32
	 type_id=97 offset=288 size=32
	 type_id=99 offset=320 size=32
	 type_id=101 offset=352 size=32
	 type_id=109 offset=384 size=32
	 type_id=116 offset=416 size=32
	 type_id=125 offset=448 size=32
	 type_id=127 offset=480 size=32
	 type_id=138 offset=512 size=32
	 type_id=189 offset=544 size=32
	 type_id=191 offset=576 size=32
	 type_id=200 offset=608 size=32
	 type_id=204 offset=640 size=32
	 type_id=209 offset=672 size=32
	 type_id=223 offset=704 size=40
	 type_id=225 offset=744 size=32
	 type_id=230 offset=776 size=40
	 type_id=232 offset=816 size=32
	 type_id=239 offset=848 size=32
	 type_id=247 offset=880 size=32
	 type_id=249 offset=912 size=32
	 type_id=253 offset=944 size=32
	 type_id=255 offset=976 size=32
	 type_id=273 offset=1008 size=32
	 type_id=275 offset=1040 size=32
	 type_id=282 offset=1072 size=32
	 type_id=284 offset=1104 size=32
	 type_id=288 offset=1136 size=32
	 type_id=290 offset=1168 size=32
	 type_id=292 offset=1200 size=32
	 type_id=294 offset=1232 size=32
	 type_id=296 offset=1264 size=32
	 type_id=304 offset=1296 size=32
	 type_id=308 offset=1328 size=32
[341] DATASEC .rodata size=16 vlen=1
	 type_id=339 offset=0 size=16
[342] DATASEC license size=13 vlen=1
	 type_id=336 offset=0 size=13
[343] FWD bpf_flow_keys struct
[344] FWD bpf_sock struct
[345] FWD gtp_v1_hdr struct
[346] FWD gtp_v1_ehdr struct

-- END BTF LOAD LOG --
libbpf: Error loading .BTF into kernel: -22. BTF is optional, ignoring.
libbpf: prog 'tc_packet_func': BPF program load failed: Invalid argument
libbpf: prog 'tc_packet_func': -- BEGIN PROG LOAD LOG --
0: R1=ctx() R10=fp0
0: (bf) r9 = r1                       ; R1=ctx() R9_w=ctx()
1: (b7) r6 = 0                        ; R6_w=0
2: (63) *(u32 *)(r10 -80) = r6        ; R6_w=0 R10=fp0 fp-80=????0
3: (bf) r2 = r10                      ; R2_w=fp0 R10=fp0
4: (07) r2 += -80                     ; R2_w=fp-80
5: (18) r1 = 0xffff8e9d402a5400       ; R1_w=map_ptr(map=xfis,ks=4,vs=360)
7: (85) call bpf_map_lookup_elem#1    ; R0_w=map_value_or_null(id=1,map=xfis,ks=4,vs=360)
8: (b7) r7 = 2                        ; R7_w=2
9: (15) if r0 == 0x0 goto pc+567      ; R0_w=map_value(map=xfis,ks=4,vs=360)
10: (bf) r8 = r0                      ; R0_w=map_value(map=xfis,ks=4,vs=360) R8_w=map_value(map=xfis,ks=4,vs=360)
11: (73) *(u8 *)(r8 +359) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
12: (73) *(u8 *)(r8 +358) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
13: (73) *(u8 *)(r8 +357) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
14: (73) *(u8 *)(r8 +356) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
15: (73) *(u8 *)(r8 +355) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
16: (73) *(u8 *)(r8 +354) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
17: (73) *(u8 *)(r8 +353) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
18: (73) *(u8 *)(r8 +352) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
19: (73) *(u8 *)(r8 +351) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
20: (73) *(u8 *)(r8 +350) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
21: (73) *(u8 *)(r8 +349) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
22: (73) *(u8 *)(r8 +348) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
23: (73) *(u8 *)(r8 +347) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
24: (73) *(u8 *)(r8 +346) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
25: (73) *(u8 *)(r8 +345) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
26: (73) *(u8 *)(r8 +344) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
27: (73) *(u8 *)(r8 +343) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
28: (73) *(u8 *)(r8 +342) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
29: (73) *(u8 *)(r8 +341) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
30: (73) *(u8 *)(r8 +340) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
31: (73) *(u8 *)(r8 +339) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
32: (73) *(u8 *)(r8 +338) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
33: (73) *(u8 *)(r8 +337) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
34: (73) *(u8 *)(r8 +336) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
35: (73) *(u8 *)(r8 +335) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
36: (73) *(u8 *)(r8 +334) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
37: (73) *(u8 *)(r8 +333) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
38: (73) *(u8 *)(r8 +332) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
39: (73) *(u8 *)(r8 +331) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
40: (73) *(u8 *)(r8 +330) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
41: (73) *(u8 *)(r8 +329) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
42: (73) *(u8 *)(r8 +328) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
43: (73) *(u8 *)(r8 +327) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
44: (73) *(u8 *)(r8 +326) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
45: (73) *(u8 *)(r8 +325) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
46: (73) *(u8 *)(r8 +324) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
47: (73) *(u8 *)(r8 +323) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
48: (73) *(u8 *)(r8 +322) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
49: (73) *(u8 *)(r8 +321) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
50: (73) *(u8 *)(r8 +320) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
51: (73) *(u8 *)(r8 +319) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
52: (73) *(u8 *)(r8 +318) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
53: (73) *(u8 *)(r8 +317) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
54: (73) *(u8 *)(r8 +316) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
55: (73) *(u8 *)(r8 +315) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
56: (73) *(u8 *)(r8 +314) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
57: (73) *(u8 *)(r8 +313) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
58: (73) *(u8 *)(r8 +312) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
59: (73) *(u8 *)(r8 +311) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
60: (73) *(u8 *)(r8 +310) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
61: (73) *(u8 *)(r8 +309) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
62: (73) *(u8 *)(r8 +308) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
63: (73) *(u8 *)(r8 +307) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
64: (73) *(u8 *)(r8 +306) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
65: (73) *(u8 *)(r8 +305) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
66: (73) *(u8 *)(r8 +304) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
67: (73) *(u8 *)(r8 +303) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
68: (73) *(u8 *)(r8 +302) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
69: (73) *(u8 *)(r8 +301) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
70: (73) *(u8 *)(r8 +300) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
71: (73) *(u8 *)(r8 +299) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
72: (73) *(u8 *)(r8 +298) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
73: (73) *(u8 *)(r8 +297) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
74: (73) *(u8 *)(r8 +296) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
75: (73) *(u8 *)(r8 +295) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
76: (73) *(u8 *)(r8 +294) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
77: (73) *(u8 *)(r8 +293) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
78: (73) *(u8 *)(r8 +292) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
79: (73) *(u8 *)(r8 +291) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
80: (73) *(u8 *)(r8 +290) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
81: (73) *(u8 *)(r8 +289) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
82: (73) *(u8 *)(r8 +288) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
83: (73) *(u8 *)(r8 +287) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
84: (73) *(u8 *)(r8 +286) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
85: (73) *(u8 *)(r8 +285) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
86: (73) *(u8 *)(r8 +284) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
87: (73) *(u8 *)(r8 +283) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
88: (73) *(u8 *)(r8 +282) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
89: (73) *(u8 *)(r8 +281) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
90: (73) *(u8 *)(r8 +280) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
91: (73) *(u8 *)(r8 +279) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
92: (73) *(u8 *)(r8 +278) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
93: (73) *(u8 *)(r8 +277) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
94: (73) *(u8 *)(r8 +276) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
95: (73) *(u8 *)(r8 +275) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
96: (73) *(u8 *)(r8 +274) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
97: (73) *(u8 *)(r8 +273) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
98: (73) *(u8 *)(r8 +272) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
99: (73) *(u8 *)(r8 +271) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
100: (73) *(u8 *)(r8 +270) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
101: (73) *(u8 *)(r8 +269) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
102: (73) *(u8 *)(r8 +268) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
103: (73) *(u8 *)(r8 +267) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
104: (73) *(u8 *)(r8 +266) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
105: (73) *(u8 *)(r8 +265) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
106: (73) *(u8 *)(r8 +264) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
107: (73) *(u8 *)(r8 +263) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
108: (73) *(u8 *)(r8 +262) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
109: (73) *(u8 *)(r8 +261) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
110: (73) *(u8 *)(r8 +260) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
111: (73) *(u8 *)(r8 +259) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
112: (73) *(u8 *)(r8 +258) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
113: (73) *(u8 *)(r8 +257) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
114: (73) *(u8 *)(r8 +256) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
115: (73) *(u8 *)(r8 +255) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
116: (73) *(u8 *)(r8 +254) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
117: (73) *(u8 *)(r8 +253) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
118: (73) *(u8 *)(r8 +252) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
119: (73) *(u8 *)(r8 +251) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
120: (73) *(u8 *)(r8 +250) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
121: (73) *(u8 *)(r8 +249) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
122: (73) *(u8 *)(r8 +248) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
123: (73) *(u8 *)(r8 +247) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
124: (73) *(u8 *)(r8 +246) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
125: (73) *(u8 *)(r8 +245) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
126: (73) *(u8 *)(r8 +244) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
127: (73) *(u8 *)(r8 +243) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
128: (73) *(u8 *)(r8 +242) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
129: (73) *(u8 *)(r8 +241) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
130: (73) *(u8 *)(r8 +240) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
131: (73) *(u8 *)(r8 +239) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
132: (73) *(u8 *)(r8 +238) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
133: (73) *(u8 *)(r8 +237) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
134: (73) *(u8 *)(r8 +236) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
135: (73) *(u8 *)(r8 +235) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
136: (73) *(u8 *)(r8 +234) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
137: (73) *(u8 *)(r8 +233) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
138: (73) *(u8 *)(r8 +232) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
139: (73) *(u8 *)(r8 +231) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
140: (73) *(u8 *)(r8 +230) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
141: (73) *(u8 *)(r8 +229) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
142: (73) *(u8 *)(r8 +228) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
143: (73) *(u8 *)(r8 +227) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
144: (73) *(u8 *)(r8 +226) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
145: (73) *(u8 *)(r8 +225) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
146: (73) *(u8 *)(r8 +224) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
147: (73) *(u8 *)(r8 +223) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
148: (73) *(u8 *)(r8 +222) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
149: (73) *(u8 *)(r8 +221) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
150: (73) *(u8 *)(r8 +220) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
151: (73) *(u8 *)(r8 +219) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
152: (73) *(u8 *)(r8 +218) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
153: (73) *(u8 *)(r8 +217) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
154: (73) *(u8 *)(r8 +216) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
155: (73) *(u8 *)(r8 +215) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
156: (73) *(u8 *)(r8 +214) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
157: (73) *(u8 *)(r8 +213) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
158: (73) *(u8 *)(r8 +212) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
159: (73) *(u8 *)(r8 +211) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
160: (73) *(u8 *)(r8 +210) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
161: (73) *(u8 *)(r8 +209) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
162: (73) *(u8 *)(r8 +208) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
163: (73) *(u8 *)(r8 +207) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
164: (73) *(u8 *)(r8 +206) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
165: (73) *(u8 *)(r8 +205) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
166: (73) *(u8 *)(r8 +204) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
167: (73) *(u8 *)(r8 +203) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
168: (73) *(u8 *)(r8 +202) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
169: (73) *(u8 *)(r8 +201) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
170: (73) *(u8 *)(r8 +200) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
171: (73) *(u8 *)(r8 +199) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
172: (73) *(u8 *)(r8 +198) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
173: (73) *(u8 *)(r8 +197) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
174: (73) *(u8 *)(r8 +196) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
175: (73) *(u8 *)(r8 +195) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
176: (73) *(u8 *)(r8 +194) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
177: (73) *(u8 *)(r8 +193) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
178: (73) *(u8 *)(r8 +192) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
179: (73) *(u8 *)(r8 +191) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
180: (73) *(u8 *)(r8 +190) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
181: (73) *(u8 *)(r8 +189) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
182: (73) *(u8 *)(r8 +188) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
183: (73) *(u8 *)(r8 +187) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
184: (73) *(u8 *)(r8 +186) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
185: (73) *(u8 *)(r8 +185) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
186: (73) *(u8 *)(r8 +184) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
187: (73) *(u8 *)(r8 +183) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
188: (73) *(u8 *)(r8 +182) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
189: (73) *(u8 *)(r8 +181) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
190: (73) *(u8 *)(r8 +180) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
191: (73) *(u8 *)(r8 +179) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
192: (73) *(u8 *)(r8 +178) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
193: (73) *(u8 *)(r8 +177) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
194: (73) *(u8 *)(r8 +176) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
195: (73) *(u8 *)(r8 +175) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
196: (73) *(u8 *)(r8 +174) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
197: (73) *(u8 *)(r8 +173) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
198: (73) *(u8 *)(r8 +172) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
199: (73) *(u8 *)(r8 +171) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
200: (73) *(u8 *)(r8 +170) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
201: (73) *(u8 *)(r8 +169) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
202: (73) *(u8 *)(r8 +168) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
203: (73) *(u8 *)(r8 +167) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
204: (73) *(u8 *)(r8 +166) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
205: (73) *(u8 *)(r8 +165) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
206: (73) *(u8 *)(r8 +164) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
207: (73) *(u8 *)(r8 +163) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
208: (73) *(u8 *)(r8 +162) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
209: (73) *(u8 *)(r8 +161) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
210: (73) *(u8 *)(r8 +160) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
211: (73) *(u8 *)(r8 +159) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
212: (73) *(u8 *)(r8 +158) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
213: (73) *(u8 *)(r8 +157) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
214: (73) *(u8 *)(r8 +156) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
215: (73) *(u8 *)(r8 +155) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
216: (73) *(u8 *)(r8 +154) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
217: (73) *(u8 *)(r8 +153) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
218: (73) *(u8 *)(r8 +152) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
219: (73) *(u8 *)(r8 +151) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
220: (73) *(u8 *)(r8 +150) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
221: (73) *(u8 *)(r8 +149) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
222: (73) *(u8 *)(r8 +148) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
223: (73) *(u8 *)(r8 +147) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
224: (73) *(u8 *)(r8 +146) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
225: (73) *(u8 *)(r8 +145) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
226: (73) *(u8 *)(r8 +144) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
227: (73) *(u8 *)(r8 +143) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
228: (73) *(u8 *)(r8 +142) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
229: (73) *(u8 *)(r8 +141) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
230: (73) *(u8 *)(r8 +140) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
231: (73) *(u8 *)(r8 +139) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
232: (73) *(u8 *)(r8 +138) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
233: (73) *(u8 *)(r8 +137) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
234: (73) *(u8 *)(r8 +136) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
235: (73) *(u8 *)(r8 +135) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
236: (73) *(u8 *)(r8 +134) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
237: (73) *(u8 *)(r8 +133) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
238: (73) *(u8 *)(r8 +132) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
239: (73) *(u8 *)(r8 +131) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
240: (73) *(u8 *)(r8 +130) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
241: (73) *(u8 *)(r8 +129) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
242: (73) *(u8 *)(r8 +128) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
243: (73) *(u8 *)(r8 +127) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
244: (73) *(u8 *)(r8 +126) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
245: (73) *(u8 *)(r8 +125) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
246: (73) *(u8 *)(r8 +124) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
247: (73) *(u8 *)(r8 +123) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
248: (73) *(u8 *)(r8 +122) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
249: (73) *(u8 *)(r8 +121) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
250: (73) *(u8 *)(r8 +120) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
251: (73) *(u8 *)(r8 +119) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
252: (73) *(u8 *)(r8 +118) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
253: (73) *(u8 *)(r8 +117) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
254: (73) *(u8 *)(r8 +116) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
255: (73) *(u8 *)(r8 +115) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
256: (73) *(u8 *)(r8 +114) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
257: (73) *(u8 *)(r8 +113) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
258: (73) *(u8 *)(r8 +112) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
259: (73) *(u8 *)(r8 +111) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
260: (73) *(u8 *)(r8 +110) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
261: (73) *(u8 *)(r8 +109) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
262: (73) *(u8 *)(r8 +108) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
263: (73) *(u8 *)(r8 +107) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
264: (73) *(u8 *)(r8 +106) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
265: (73) *(u8 *)(r8 +105) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
266: (73) *(u8 *)(r8 +104) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
267: (73) *(u8 *)(r8 +103) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
268: (73) *(u8 *)(r8 +102) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
269: (73) *(u8 *)(r8 +101) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
270: (73) *(u8 *)(r8 +100) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
271: (73) *(u8 *)(r8 +99) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
272: (73) *(u8 *)(r8 +98) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
273: (73) *(u8 *)(r8 +97) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
274: (73) *(u8 *)(r8 +96) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
275: (73) *(u8 *)(r8 +95) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
276: (73) *(u8 *)(r8 +94) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
277: (73) *(u8 *)(r8 +93) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
278: (73) *(u8 *)(r8 +92) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
279: (73) *(u8 *)(r8 +91) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
280: (73) *(u8 *)(r8 +90) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
281: (73) *(u8 *)(r8 +89) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
282: (73) *(u8 *)(r8 +88) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
283: (73) *(u8 *)(r8 +87) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
284: (73) *(u8 *)(r8 +86) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
285: (73) *(u8 *)(r8 +85) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
286: (73) *(u8 *)(r8 +84) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
287: (73) *(u8 *)(r8 +83) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
288: (73) *(u8 *)(r8 +82) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
289: (73) *(u8 *)(r8 +81) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
290: (73) *(u8 *)(r8 +80) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
291: (73) *(u8 *)(r8 +79) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
292: (73) *(u8 *)(r8 +78) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
293: (73) *(u8 *)(r8 +77) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
294: (73) *(u8 *)(r8 +76) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
295: (73) *(u8 *)(r8 +75) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
296: (73) *(u8 *)(r8 +74) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
297: (73) *(u8 *)(r8 +73) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
298: (73) *(u8 *)(r8 +72) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
299: (73) *(u8 *)(r8 +71) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
300: (73) *(u8 *)(r8 +70) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
301: (73) *(u8 *)(r8 +69) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
302: (73) *(u8 *)(r8 +68) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
303: (73) *(u8 *)(r8 +67) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
304: (73) *(u8 *)(r8 +66) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
305: (73) *(u8 *)(r8 +65) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
306: (73) *(u8 *)(r8 +64) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
307: (73) *(u8 *)(r8 +63) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
308: (73) *(u8 *)(r8 +62) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
309: (73) *(u8 *)(r8 +61) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
310: (73) *(u8 *)(r8 +60) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
311: (73) *(u8 *)(r8 +59) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
312: (73) *(u8 *)(r8 +58) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
313: (73) *(u8 *)(r8 +57) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
314: (73) *(u8 *)(r8 +56) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
315: (73) *(u8 *)(r8 +55) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
316: (73) *(u8 *)(r8 +54) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
317: (73) *(u8 *)(r8 +53) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
318: (73) *(u8 *)(r8 +52) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
319: (73) *(u8 *)(r8 +51) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
320: (73) *(u8 *)(r8 +50) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
321: (73) *(u8 *)(r8 +49) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
322: (73) *(u8 *)(r8 +48) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
323: (73) *(u8 *)(r8 +47) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
324: (73) *(u8 *)(r8 +46) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
325: (73) *(u8 *)(r8 +45) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
326: (73) *(u8 *)(r8 +44) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
327: (73) *(u8 *)(r8 +43) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
328: (73) *(u8 *)(r8 +42) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
329: (73) *(u8 *)(r8 +41) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
330: (73) *(u8 *)(r8 +40) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
331: (73) *(u8 *)(r8 +39) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
332: (73) *(u8 *)(r8 +38) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
333: (73) *(u8 *)(r8 +37) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
334: (73) *(u8 *)(r8 +36) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
335: (73) *(u8 *)(r8 +35) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
336: (73) *(u8 *)(r8 +34) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
337: (73) *(u8 *)(r8 +33) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
338: (73) *(u8 *)(r8 +32) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
339: (73) *(u8 *)(r8 +31) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
340: (73) *(u8 *)(r8 +30) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
341: (73) *(u8 *)(r8 +29) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
342: (73) *(u8 *)(r8 +28) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
343: (73) *(u8 *)(r8 +27) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
344: (73) *(u8 *)(r8 +26) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
345: (73) *(u8 *)(r8 +25) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
346: (73) *(u8 *)(r8 +24) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
347: (73) *(u8 *)(r8 +23) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
348: (73) *(u8 *)(r8 +22) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
349: (73) *(u8 *)(r8 +21) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
350: (73) *(u8 *)(r8 +20) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
351: (73) *(u8 *)(r8 +19) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
352: (73) *(u8 *)(r8 +18) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
353: (73) *(u8 *)(r8 +17) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
354: (73) *(u8 *)(r8 +16) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
355: (73) *(u8 *)(r8 +15) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
356: (73) *(u8 *)(r8 +14) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
357: (73) *(u8 *)(r8 +13) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
358: (73) *(u8 *)(r8 +12) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
359: (73) *(u8 *)(r8 +11) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
360: (73) *(u8 *)(r8 +10) = r6        ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
361: (73) *(u8 *)(r8 +9) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
362: (73) *(u8 *)(r8 +8) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
363: (73) *(u8 *)(r8 +7) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
364: (73) *(u8 *)(r8 +6) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
365: (73) *(u8 *)(r8 +5) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
366: (73) *(u8 *)(r8 +4) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
367: (73) *(u8 *)(r8 +3) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
368: (73) *(u8 *)(r8 +2) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
369: (73) *(u8 *)(r8 +1) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
370: (73) *(u8 *)(r8 +0) = r6         ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
371: (b7) r2 = 1                      ; R2_w=1
372: (b7) r1 = 1                      ; R1_w=1
373: (7b) *(u64 *)(r10 -96) = r1      ; R1_w=1 R10=fp0 fp-96_w=1
374: (73) *(u8 *)(r8 +296) = r2       ; R2_w=1 R8_w=map_value(map=xfis,ks=4,vs=360)
375: (73) *(u8 *)(r8 +287) = r6       ; R6_w=0 R8_w=map_value(map=xfis,ks=4,vs=360)
376: (b7) r1 = 16                     ; R1_w=16
377: (73) *(u8 *)(r8 +286) = r1       ; R1_w=16 R8_w=map_value(map=xfis,ks=4,vs=360)
378: (61) r7 = *(u32 *)(r9 +76)       ; R7_w=pkt(r=0) R9_w=ctx()
379: (7b) *(u64 *)(r10 -88) = r9      ; R9_w=ctx() R10=fp0 fp-88_w=ctx()
380: (61) r6 = *(u32 *)(r9 +80)       ; R6_w=pkt_end() R9_w=ctx()
381: (bf) r1 = r6                     ; R1_w=pkt_end() R6_w=pkt_end()
382: (1f) r1 -= r7                    ; R1_w=scalar() R7_w=pkt(r=0)
383: (73) *(u8 *)(r8 +282) = r1       ; R1_w=scalar() R8_w=map_value(map=xfis,ks=4,vs=360)
384: (77) r1 >>= 8                    ; R1_w=scalar(smin=0,smax=umax=0xffffffffffffff,var_off=(0x0; 0xffffffffffffff))
385: (73) *(u8 *)(r8 +283) = r1       ; R1_w=scalar(smin=0,smax=umax=0xffffffffffffff,var_off=(0x0; 0xffffffffffffff)) R8_w=map_value(map=xfis,ks=4,vs=360)
386: (bf) r9 = r7                     ; R7_w=pkt(r=0) R9_w=pkt(r=0)
387: (07) r9 += 14                    ; R9_w=pkt(off=14,r=0)
388: (18) r2 = 0xffffffff             ; R2=0xffffffff
390: (2d) if r9 > r6 goto pc+105      ; R6=pkt_end() R9=pkt(off=14,r=14)
391: (b7) r1 = 1                      ; R1_w=1
392: (73) *(u8 *)(r8 +37) = r1        ; R1_w=1 R8=map_value(map=xfis,ks=4,vs=360)
393: (71) r1 = *(u8 *)(r7 +11)        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
394: (73) *(u8 *)(r8 +35) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
395: (71) r1 = *(u8 *)(r7 +10)        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
396: (73) *(u8 *)(r8 +34) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
397: (71) r1 = *(u8 *)(r7 +9)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
398: (73) *(u8 *)(r8 +33) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
399: (71) r1 = *(u8 *)(r7 +8)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
400: (73) *(u8 *)(r8 +32) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
401: (71) r1 = *(u8 *)(r7 +7)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
402: (73) *(u8 *)(r8 +31) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
403: (71) r1 = *(u8 *)(r7 +6)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
404: (73) *(u8 *)(r8 +30) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
405: (71) r1 = *(u8 *)(r7 +5)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
406: (73) *(u8 *)(r8 +29) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
407: (71) r1 = *(u8 *)(r7 +4)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
408: (73) *(u8 *)(r8 +28) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
409: (71) r1 = *(u8 *)(r7 +3)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
410: (73) *(u8 *)(r8 +27) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
411: (71) r1 = *(u8 *)(r7 +2)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
412: (73) *(u8 *)(r8 +26) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
413: (71) r1 = *(u8 *)(r7 +1)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
414: (73) *(u8 *)(r8 +25) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
415: (71) r1 = *(u8 *)(r7 +0)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
416: (73) *(u8 *)(r8 +24) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
417: (71) r1 = *(u8 *)(r7 +2)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
418: (73) *(u8 *)(r8 +300) = r1       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
419: (71) r1 = *(u8 *)(r7 +3)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
420: (73) *(u8 *)(r8 +301) = r1       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
421: (71) r1 = *(u8 *)(r7 +0)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
422: (73) *(u8 *)(r8 +298) = r1       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
423: (71) r1 = *(u8 *)(r7 +1)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
424: (73) *(u8 *)(r8 +299) = r1       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
425: (71) r1 = *(u8 *)(r7 +4)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
426: (73) *(u8 *)(r8 +302) = r1       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
427: (71) r1 = *(u8 *)(r7 +5)         ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
428: (73) *(u8 *)(r8 +303) = r1       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
429: (71) r2 = *(u8 *)(r7 +12)        ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
430: (71) r1 = *(u8 *)(r7 +13)        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R7=pkt(r=14)
431: (73) *(u8 *)(r8 +23) = r1        ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
432: (67) r1 <<= 8                    ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
433: (73) *(u8 *)(r8 +22) = r2        ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
434: (4f) r1 |= r2                    ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
435: (b7) r3 = 6                      ; R3_w=6
436: (b7) r2 = 2                      ; R2_w=2
437: (2d) if r3 > r1 goto pc+58       ; R1_w=scalar(smin=umin=smin32=umin32=6,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R3_w=6
438: (79) r4 = *(u64 *)(r10 -88)      ; R4_w=ctx() R10=fp0 fp-88=ctx()
439: (61) r2 = *(u32 *)(r4 +48)       ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R4_w=ctx()
440: (18) r3 = 0xdeadbeef             ; R3=0xdeadbeef
442: (5d) if r2 != r3 goto pc+4       ; R2=0xdeadbeef R3=0xdeadbeef
443: (61) r2 = *(u32 *)(r4 +52)       ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R4=ctx()
444: (73) *(u8 *)(r8 +328) = r2       ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R8=map_value(map=xfis,ks=4,vs=360)
445: (77) r2 >>= 8                    ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffffff,var_off=(0x0; 0xffffff))
446: (73) *(u8 *)(r8 +329) = r2       ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffffff,var_off=(0x0; 0xffffff)) R8=map_value(map=xfis,ks=4,vs=360)
447: (61) r2 = *(u32 *)(r4 +20)       ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R4=ctx()
448: (15) if r2 == 0x0 goto pc+7      ; R2_w=scalar(smin=umin=umin32=1,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
449: (61) r2 = *(u32 *)(r4 +24)       ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R4=ctx()
450: (bf) r3 = r2                     ; R2_w=scalar(id=2,smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R3_w=scalar(id=2,smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
451: (dc) r3 = be16 r3                ; R3_w=scalar()
452: (73) *(u8 *)(r8 +16) = r3        ; R3_w=scalar() R8=map_value(map=xfis,ks=4,vs=360)
453: (dc) r2 = be64 r2                ; R2_w=scalar()
454: (77) r2 >>= 56                   ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
455: (73) *(u8 *)(r8 +17) = r2        ; R2=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
456: (bf) r3 = r0                     ; R0=map_value(map=xfis,ks=4,vs=360) R3_w=map_value(map=xfis,ks=4,vs=360)
457: (07) r3 += 298                   ; R3_w=map_value(map=xfis,ks=4,vs=360,off=298)
458: (bf) r2 = r9                     ; R2_w=pkt(off=14,r=14) R9=pkt(off=14,r=14)
459: (1f) r2 -= r7                    ; R2_w=scalar() R7=pkt(r=14)
460: (73) *(u8 *)(r8 +285) = r2       ; R2_w=scalar() R8=map_value(map=xfis,ks=4,vs=360)
461: (65) if r1 s> 0x9998 goto pc+117         ; R1=scalar(smin=umin=smin32=umin32=6,smax=umax=smax32=umax32=0x9998,var_off=(0x0; 0xffff))
462: (15) if r1 == 0x8 goto pc+453    ; R1=scalar(smin=umin=smin32=umin32=6,smax=umax=smax32=umax32=0x9998,var_off=(0x0; 0xffff))
463: (15) if r1 == 0x608 goto pc+1    ; R1=scalar(smin=umin=smin32=umin32=6,smax=umax=smax32=umax32=0x9998,var_off=(0x0; 0xffff))
464: (05) goto pc+6616
7081: (b7) r1 = 524288                ; R1_w=0x80000
7082: (7b) *(u64 *)(r10 -96) = r1     ; R1_w=0x80000 R10=fp0 fp-96_w=0x80000
7083: (b7) r1 = 8                     ; R1_w=8
7084: (79) r6 = *(u64 *)(r10 -88)     ; R6_w=ctx() R10=fp0 fp-88=ctx()
7085: (61) r2 = *(u32 *)(r6 +4)       ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R6_w=ctx()
7086: (07) r2 += -3                   ; R2_w=scalar(smin=-3,smax=0xfffffffc)
7087: (67) r2 <<= 32                  ; R2_w=scalar(smax=0x7fffffff00000000,umax=0xffffffff00000000,smin32=0,smax32=umax32=0,var_off=(0x0; 0xffffffff00000000))
7088: (77) r2 >>= 32                  ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
7089: (18) r3 = 0xfffffffe            ; R3_w=0xfffffffe
7091: (2d) if r3 > r2 goto pc-6568    ; R2_w=scalar(smin=umin=umin32=0xfffffffe,smax=umax=0xffffffff,smin32=-2,smax32=-1,var_off=(0xfffffffe; 0x1)) R3_w=0xfffffffe
7092: (05) goto pc-6590
503: (71) r2 = *(u8 *)(r8 +293)       ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
504: (67) r2 <<= 8                    ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
505: (71) r3 = *(u8 *)(r8 +292)       ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
506: (4f) r2 |= r3                    ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
507: (71) r3 = *(u8 *)(r8 +294)       ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
508: (67) r3 <<= 16                   ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff0000,var_off=(0x0; 0xff0000))
509: (71) r4 = *(u8 *)(r8 +295)       ; R4_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
510: (67) r4 <<= 24                   ; R4_w=scalar(smin=0,smax=umax=umax32=0xff000000,smax32=0x7f000000,var_off=(0x0; 0xff000000))
511: (4f) r4 |= r3                    ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff0000,var_off=(0x0; 0xff0000)) R4_w=scalar(smin=0,smax=umax=umax32=0xffff0000,smax32=0x7fff0000,var_off=(0x0; 0xffff0000))
512: (71) r3 = *(u8 *)(r8 +284)       ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
513: (4f) r3 |= r1                    ; R1=8 R3_w=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=255,var_off=(0x8; 0xf7))
514: (73) *(u8 *)(r8 +284) = r3       ; R3_w=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=255,var_off=(0x8; 0xf7)) R8=map_value(map=xfis,ks=4,vs=360)
515: (4f) r4 |= r2                    ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R4_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
516: (79) r1 = *(u64 *)(r10 -96)      ; R1_w=0x80000 R10=fp0 fp-96=0x80000
517: (4f) r4 |= r1                    ; R1_w=0x80000 R4_w=scalar(smin=umin=umin32=0x80000,smax=umax=0xffffffff,smin32=0x80080000,var_off=(0x80000; 0xfff7ffff))
518: (bf) r1 = r4                     ; R1_w=scalar(id=3,smin=umin=umin32=0x80000,smax=umax=0xffffffff,smin32=0x80080000,var_off=(0x80000; 0xfff7ffff)) R4_w=scalar(id=3,smin=umin=umin32=0x80000,smax=umax=0xffffffff,smin32=0x80080000,var_off=(0x80000; 0xfff7ffff))
519: (77) r1 >>= 16                   ; R1_w=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=0xffff,var_off=(0x8; 0xfff7))
520: (73) *(u8 *)(r8 +294) = r1       ; R1_w=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=0xffff,var_off=(0x8; 0xfff7)) R8=map_value(map=xfis,ks=4,vs=360)
521: (73) *(u8 *)(r8 +292) = r4       ; R4_w=scalar(id=3,smin=umin=umin32=0x80000,smax=umax=0xffffffff,smin32=0x80080000,var_off=(0x80000; 0xfff7ffff)) R8=map_value(map=xfis,ks=4,vs=360)
522: (77) r4 >>= 8                    ; R4_w=scalar(smin=umin=smin32=umin32=2048,smax=umax=smax32=umax32=0xffffff,var_off=(0x800; 0xfff7ff))
523: (73) *(u8 *)(r8 +293) = r4       ; R4_w=scalar(smin=umin=smin32=umin32=2048,smax=umax=smax32=umax32=0xffffff,var_off=(0x800; 0xfff7ff)) R8=map_value(map=xfis,ks=4,vs=360)
524: (71) r1 = *(u8 *)(r8 +284)       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
525: (bf) r2 = r1                     ; R1_w=scalar(id=4,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2_w=scalar(id=4,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
526: (57) r2 &= 16                    ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=16,var_off=(0x0; 0x10))
527: (b7) r7 = 2                      ; R7_w=2
528: (15) if r2 == 0x0 goto pc+12 541: R0=map_value(map=xfis,ks=4,vs=360) R1_w=scalar(id=4,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2_w=0 R3_w=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=255,var_off=(0x8; 0xf7)) R4_w=scalar(smin=umin=smin32=umin32=2048,smax=umax=smax32=umax32=0xffffff,var_off=(0x800; 0xfff7ff)) R6=ctx() R7_w=2 R8=map_value(map=xfis,ks=4,vs=360) R9=pkt(off=14,r=14) R10=fp0 fp-80=????mmmm fp-88=ctx() fp-96=0x80000
541: (bf) r2 = r1                     ; R1_w=scalar(id=4,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2_w=scalar(id=4,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
542: (57) r2 &= 4                     ; R2=scalar(smin=smin32=0,smax=umax=smax32=umax32=4,var_off=(0x0; 0x4))
543: (15) if r2 == 0x0 goto pc+12 556: R0=map_value(map=xfis,ks=4,vs=360) R1=scalar(id=4,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2=0 R3=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=255,var_off=(0x8; 0xf7)) R4=scalar(smin=umin=smin32=umin32=2048,smax=umax=smax32=umax32=0xffffff,var_off=(0x800; 0xfff7ff)) R6=ctx() R7=2 R8=map_value(map=xfis,ks=4,vs=360) R9=pkt(off=14,r=14) R10=fp0 fp-80=????mmmm fp-88=ctx() fp-96=0x80000
556: (57) r1 &= 9                     ; R1=scalar(smin=smin32=0,smax=umax=smax32=umax32=9,var_off=(0x0; 0x9))
557: (15) if r1 == 0x0 goto pc+313 871: R0=map_value(map=xfis,ks=4,vs=360) R1=0 R2=0 R3=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=255,var_off=(0x8; 0xf7)) R4=scalar(smin=umin=smin32=umin32=2048,smax=umax=smax32=umax32=0xffffff,var_off=(0x800; 0xfff7ff)) R6=ctx() R7=2 R8=map_value(map=xfis,ks=4,vs=360) R9=pkt(off=14,r=14) R10=fp0 fp-80=????mmmm fp-88=ctx() fp-96=0x80000
871: (7b) *(u64 *)(r10 -104) = r0     ; R0=map_value(map=xfis,ks=4,vs=360) R10=fp0 fp-104_w=map_value(map=xfis,ks=4,vs=360)
872: (b7) r7 = 0                      ; R7_w=0
873: (63) *(u32 *)(r10 -76) = r7      ; R7_w=0 R10=fp0 fp-80=0000mmmm
874: (bf) r2 = r10                    ; R2_w=fp0 R10=fp0
875: (07) r2 += -76                   ; R2_w=fp-76
876: (18) r1 = 0xffff8e9d402a4600     ; R1_w=map_ptr(map=fcas,ks=4,vs=512)
878: (85) call bpf_map_lookup_elem#1          ; R0_w=map_value_or_null(id=9,map=fcas,ks=4,vs=512)
879: (15) if r0 == 0x0 goto pc-303    ; R0_w=map_value(map=fcas,ks=4,vs=512)
880: (bf) r9 = r0                     ; R0_w=map_value(map=fcas,ks=4,vs=512) R9_w=map_value(map=fcas,ks=4,vs=512)
881: (63) *(u32 *)(r9 +24) = r7       ; R7_w=0 R9_w=map_value(map=fcas,ks=4,vs=512)
882: (63) *(u32 *)(r9 +4) = r7        ; R7_w=0 R9_w=map_value(map=fcas,ks=4,vs=512)
883: (73) *(u8 *)(r9 +1) = r7         ; R7_w=0 R9_w=map_value(map=fcas,ks=4,vs=512)
884: (bf) r6 = r0                     ; R0_w=map_value(map=fcas,ks=4,vs=512) R6_w=map_value(map=fcas,ks=4,vs=512)
885: (85) call bpf_ktime_get_ns#5     ; R0=scalar()
886: (73) *(u8 *)(r9 +440) = r7       ; R7=0 R9=map_value(map=fcas,ks=4,vs=512)
887: (73) *(u8 *)(r9 +372) = r7       ; R7=0 R9=map_value(map=fcas,ks=4,vs=512)
888: (73) *(u8 *)(r9 +304) = r7       ; R7=0 R9=map_value(map=fcas,ks=4,vs=512)
889: (73) *(u8 *)(r9 +236) = r7       ; R7=0 R9=map_value(map=fcas,ks=4,vs=512)
890: (73) *(u8 *)(r9 +168) = r7       ; R7=0 R9=map_value(map=fcas,ks=4,vs=512)
891: (73) *(u8 *)(r9 +100) = r7       ; R7=0 R9=map_value(map=fcas,ks=4,vs=512)
892: (73) *(u8 *)(r9 +32) = r7        ; R7=0 R9=map_value(map=fcas,ks=4,vs=512)
893: (7b) *(u64 *)(r9 +16) = r0       ; R0=scalar() R9=map_value(map=fcas,ks=4,vs=512)
894: (b7) r1 = 7                      ; R1_w=7
895: (63) *(u32 *)(r10 -76) = r1      ; R1_w=7 R10=fp0 fp-80=mmmmmmmm
896: (71) r2 = *(u8 *)(r8 +328)       ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
897: (71) r1 = *(u8 *)(r8 +329)       ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
898: (67) r1 <<= 8                    ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
899: (4f) r1 |= r2                    ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
900: (15) if r1 == 0x0 goto pc+147 1048: R0=scalar() R1_w=0 R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R6=map_value(map=fcas,ks=4,vs=512) R7=0 R8=map_value(map=xfis,ks=4,vs=360) R9=map_value(map=fcas,ks=4,vs=512) R10=fp0 fp-80=mmmmmmmm fp-88=ctx() fp-96=0x80000 fp-104=map_value(map=xfis,ks=4,vs=360)
1048: (7b) *(u64 *)(r10 -96) = r9     ; R9=map_value(map=fcas,ks=4,vs=512) R10=fp0 fp-96_w=map_value(map=fcas,ks=4,vs=512)
1049: (7b) *(u64 *)(r10 -112) = r6    ; R6=map_value(map=fcas,ks=4,vs=512) R10=fp0 fp-112_w=map_value(map=fcas,ks=4,vs=512)
1050: (79) r9 = *(u64 *)(r10 -88)     ; R9_w=ctx() R10=fp0 fp-88=ctx()
1051: (61) r1 = *(u32 *)(r9 +40)      ; R1_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R9_w=ctx()
1052: (63) *(u32 *)(r10 -72) = r1     ; R1_w=scalar(id=14,smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R10=fp0 fp-72=????scalar(id=14,smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
1053: (71) r2 = *(u8 *)(r8 +16)       ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1054: (71) r3 = *(u8 *)(r8 +17)       ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1055: (b7) r4 = 0                     ; R4_w=0
1056: (6b) *(u16 *)(r10 -66) = r4     ; R4_w=0 R10=fp0 fp-72=00??mmmm
1057: (67) r3 <<= 8                   ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
1058: (4f) r3 |= r2                   ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
1059: (6b) *(u16 *)(r10 -68) = r3     ; R3_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R10=fp0 fp-72=00mmmmmm
1060: (61) r2 = *(u32 *)(r9 +36)      ; R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R9_w=ctx()
1061: (1d) if r2 == r1 goto pc+3      ; R1_w=scalar(id=14,smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
1062: (71) r1 = *(u8 *)(r8 +286)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1063: (47) r1 |= 1                    ; R1_w=scalar(smin=umin=smin32=umin32=1,smax=umax=smax32=umax32=255,var_off=(0x1; 0xfe))
1064: (73) *(u8 *)(r8 +286) = r1      ; R1=scalar(smin=umin=smin32=umin32=1,smax=umax=smax32=umax32=255,var_off=(0x1; 0xfe)) R8=map_value(map=xfis,ks=4,vs=360)
1065: (b7) r1 = 3                     ; R1_w=3
1066: (73) *(u8 *)(r8 +311) = r1      ; R1_w=3 R8=map_value(map=xfis,ks=4,vs=360)
1067: (bf) r2 = r10                   ; R2_w=fp0 R10=fp0
1068: (07) r2 += -72                  ; R2_w=fp-72
1069: (18) r1 = 0xffff8e9d5237b800    ; R1_w=map_ptr(map=intf_map,ks=8,vs=32)
1071: (85) call bpf_map_lookup_elem#1         ; R0_w=map_value_or_null(id=15,map=intf_map,ks=8,vs=32)
1072: (55) if r0 != 0x0 goto pc+7     ; R0_w=0
1073: (71) r1 = *(u8 *)(r8 +284)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1074: (47) r1 |= 8                    ; R1_w=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=255,var_off=(0x8; 0xf7))
1075: (73) *(u8 *)(r8 +284) = r1      ; R1_w=scalar(smin=umin=smin32=umin32=8,smax=umax=smax32=umax32=255,var_off=(0x8; 0xf7)) R8=map_value(map=xfis,ks=4,vs=360)
1076: (71) r1 = *(u8 *)(r8 +292)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1077: (47) r1 |= 64                   ; R1_w=scalar(smin=umin=smin32=umin32=64,smax=umax=smax32=umax32=255,var_off=(0x40; 0xbf))
1078: (73) *(u8 *)(r8 +292) = r1      ; R1_w=scalar(smin=umin=smin32=umin32=64,smax=umax=smax32=umax32=255,var_off=(0x40; 0xbf)) R8=map_value(map=xfis,ks=4,vs=360)
1079: (05) goto pc+116
1196: (71) r1 = *(u8 *)(r8 +281)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1197: (67) r1 <<= 8                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
1198: (71) r2 = *(u8 *)(r8 +280)      ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1199: (4f) r1 |= r2                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
1200: (63) *(u32 *)(r10 -24) = r1     ; R1_w=scalar(id=16,smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R10=fp0 fp-24=????scalar(id=16,smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
1201: (bf) r2 = r10                   ; R2_w=fp0 R10=fp0
1202: (07) r2 += -24                  ; R2_w=fp-24
1203: (18) r1 = 0xffff9387c04f2000    ; R1_w=map_ptr(map=bd_stats_map,ks=4,vs=16)
1205: (85) call bpf_map_lookup_elem#1         ; R0_w=map_value_or_null(id=17,map=bd_stats_map,ks=4,vs=16)
1206: (71) r2 = *(u8 *)(r8 +282)      ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1207: (71) r1 = *(u8 *)(r8 +283)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1208: (67) r1 <<= 8                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
1209: (4f) r1 |= r2                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
1210: (15) if r0 == 0x0 goto pc+7     ; R0_w=map_value(map=bd_stats_map,ks=4,vs=16)
1211: (79) r2 = *(u64 *)(r0 +0)       ; R0_w=map_value(map=bd_stats_map,ks=4,vs=16) R2_w=scalar()
1212: (0f) r2 += r1                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R2_w=scalar()
1213: (7b) *(u64 *)(r0 +0) = r2       ; R0_w=map_value(map=bd_stats_map,ks=4,vs=16) R2_w=scalar()
1214: (79) r1 = *(u64 *)(r0 +8)       ; R0_w=map_value(map=bd_stats_map,ks=4,vs=16) R1_w=scalar()
1215: (07) r1 += 1                    ; R1_w=scalar()
1216: (7b) *(u64 *)(r0 +8) = r1       ; R0_w=map_value(map=bd_stats_map,ks=4,vs=16) R1_w=scalar()
1217: (05) goto pc+11
1229: (71) r1 = *(u8 *)(r8 +328)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1230: (71) r2 = *(u8 *)(r8 +329)      ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1231: (67) r2 <<= 8                   ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
1232: (4f) r2 |= r1                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
1233: (15) if r2 == 0x0 goto pc+20    ; R2_w=scalar(smin=umin=smin32=umin32=1,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
1234: (b7) r1 = 511                   ; R1_w=511
1235: (63) *(u32 *)(r10 -72) = r1     ; R1_w=511 R10=fp0 fp-72=mmmm511
1236: (bf) r2 = r10                   ; R2_w=fp0 R10=fp0
1237: (07) r2 += -72                  ; R2_w=fp-72
1238: (18) r1 = 0xffff8e9d402a4200    ; R1_w=map_ptr(map=tx_intf_map,ks=4,vs=4)
1240: (85) call bpf_map_lookup_elem#1         ; R0=map_value_or_null(id=18,map=tx_intf_map,ks=4,vs=4)
1241: (15) if r0 == 0x0 goto pc+12    ; R0=map_value(map=tx_intf_map,ks=4,vs=4)
1242: (18) r1 = 0xdeadbeef            ; R1_w=0xdeadbeef
1244: (63) *(u32 *)(r9 +48) = r1      ; R1_w=0xdeadbeef R9=ctx()
1245: (71) r1 = *(u8 *)(r8 +328)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1246: (71) r2 = *(u8 *)(r8 +329)      ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1247: (67) r2 <<= 8                   ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
1248: (4f) r2 |= r1                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
1249: (63) *(u32 *)(r9 +52) = r2      ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R9=ctx()
1250: (61) r2 = *(u32 *)(r0 +0)       ; R0=map_value(map=tx_intf_map,ks=4,vs=4) R2_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
1251: (bf) r1 = r9                    ; R1_w=ctx() R9=ctx()
1252: (b7) r3 = 1                     ; R3_w=1
1253: (85) call bpf_clone_redirect#13         ; R0=scalar()
1254: (71) r1 = *(u8 *)(r8 +276)      ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1255: (71) r2 = *(u8 *)(r8 +277)      ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R8=map_value(map=xfis,ks=4,vs=360)
1256: (67) r2 <<= 8                   ; R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
1257: (4f) r2 |= r1                   ; R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
1258: (15) if r2 == 0x0 goto pc+2     ; R2_w=scalar(smin=umin=smin32=umin32=1,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
1259: (bf) r1 = r8                    ; R1_w=map_value(map=xfis,ks=4,vs=360) R8=map_value(map=xfis,ks=4,vs=360)
1260: (85) call pc+6834
caller:
 R6=map_value(map=fcas,ks=4,vs=512) R7=0 R8=map_value(map=xfis,ks=4,vs=360) R9=ctx() R10=fp0 fp-24=????mmmm fp-72=mmmmmmmm fp-80=mmmmmmmm fp-88=ctx() fp-96=map_value(map=fcas,ks=4,vs=512) fp-104=map_value(map=xfis,ks=4,vs=360) fp-112=map_value(map=fcas,ks=4,vs=512)
callee:
 frame1: R1_w=map_value(map=xfis,ks=4,vs=360) R2_w=scalar(smin=umin=smin32=umin32=1,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R10=fp0
8095: frame1: R1_w=map_value(map=xfis,ks=4,vs=360) R2_w=scalar(smin=umin=smin32=umin32=1,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R10=fp0
8095: (bf) r6 = r1                    ; frame1: R1_w=map_value(map=xfis,ks=4,vs=360) R6_w=map_value(map=xfis,ks=4,vs=360)
8096: (85) call bpf_ktime_get_ns#5    ; frame1: R0=scalar()
8097: (bf) r9 = r0                    ; frame1: R0=scalar(id=19) R9_w=scalar(id=19)
8098: (71) r1 = *(u8 *)(r6 +276)      ; frame1: R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R6=map_value(map=xfis,ks=4,vs=360)
8099: (71) r2 = *(u8 *)(r6 +277)      ; frame1: R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R6=map_value(map=xfis,ks=4,vs=360)
8100: (67) r2 <<= 8                   ; frame1: R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xff00,var_off=(0x0; 0xff00))
8101: (4f) r2 |= r1                   ; frame1: R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff))
8102: (63) *(u32 *)(r10 -4) = r2      ; frame1: R2_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=0xffff,var_off=(0x0; 0xffff)) R10=fp0 fp-8=mmmm????
8103: (bf) r2 = r10                   ; frame1: R2_w=fp0 R10=fp0
8104: (07) r2 += -4                   ; frame1: R2_w=fp-4
8105: (18) r1 = 0xffff9387e7e25000    ; frame1: R1_w=map_ptr(map=polx_map,ks=4,vs=96)
8107: (85) call bpf_map_lookup_elem#1         ; frame1: R0_w=map_value_or_null(id=20,map=polx_map,ks=4,vs=96)
8108: (bf) r8 = r0                    ; frame1: R0_w=map_value_or_null(id=20,map=polx_map,ks=4,vs=96) R8_w=map_value_or_null(id=20,map=polx_map,ks=4,vs=96)
8109: (15) if r8 == 0x0 goto pc+81    ; frame1: R8_w=map_value(map=polx_map,ks=4,vs=96)
8110: (71) r1 = *(u8 *)(r6 +340)      ; frame1: R1_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R6=map_value(map=xfis,ks=4,vs=360)
8111: (7b) *(u64 *)(r10 -24) = r1     ; frame1: R1_w=scalar(id=21,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff)) R10=fp0 fp-24_w=scalar(id=21,smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
8112: (71) r7 = *(u8 *)(r6 +341)      ; frame1: R6=map_value(map=xfis,ks=4,vs=360) R7_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=255,var_off=(0x0; 0xff))
8113: (bf) r1 = r8                    ; frame1: R1_w=map_value(map=polx_map,ks=4,vs=96) R8_w=map_value(map=polx_map,ks=4,vs=96)
8114: (07) r1 += 16                   ; frame1: R1_w=map_value(map=polx_map,ks=4,vs=96,off=16)
8115: (7b) *(u64 *)(r10 -16) = r1     ; frame1: R1_w=map_value(map=polx_map,ks=4,vs=96,off=16) R10=fp0 fp-16_w=map_value(map=polx_map,ks=4,vs=96,off=16)
8116: (85) call bpf_spin_lock#93
map 'polx_map' has to have BTF in order to use bpf_spin_lock
processed 757 insns (limit 1000000) max_states_per_insn 0 total_states 24 peak_states 24 mark_read 11
-- END PROG LOAD LOG --
libbpf: failed to load program 'tc_packet_func'
libbpf: failed to load object '/opt/loxilb/llb_ebpf_main.o'
13:12:12 ERROR common_libbpf.c:183: tc: obj load failed
13:12:12 DEBUG loxilb_libdp.c:3147: llb_link_prop_add: IF-red0 added idx 1 type 2
2025-02-01 13:12:12 ebpf load - 1 error

@TrekkieCoder
Copy link
Collaborator

TrekkieCoder commented Feb 2, 2025

By default, all maps have btf enabled in loxilb. The following is in Ubuntu -

bpftool map show | grep -A 2 polx
83: array  name polx_map  flags 0x0
	key 4B  value 96B  max_entries 8192  memlock 851968B
	btf_id 151

Can you please double check which clang version is in use ?

@vincentmli
Copy link
Author

I guess it could be combination of kernel + tool chain (clang) + bpf_spin_lock in map triggering a bug. I tried on Ubuntu 22.04 with kernel 6.8, no problem.

@vincentmli
Copy link
Author

tried both clang 18.1.0 and clang 19.1.7, still same issue

@vincentmli
Copy link
Author

@TrekkieCoder maybe the libbpf BTF loading error explains the no polx_map no BTF problem? libbpf: Error loading .BTF into kernel: -22. BTF is optional, ignoring ? loxilb-ebpf relies on libbpf 0.8, BPFire has libbpf 1.4 installed, but I tried to install libbpf 0.8.3 in BPFire, I think I had the same problem.

libbpf: BTF loading error: -22

libbpf: -- BEGIN BTF LOAD LOG ---
magic: 0xeb9f
version: 1
flags: 0x0
hdr_len: 24
type_off: 0
type_len: 13028
str_off: 13028
str_len: 67856
btf_total_size: 80908
...SNIP...
-- END BTF LOAD LOG --

libbpf: Error loading .BTF into kernel: -22. BTF is optional, ignoring.


07:47:23 DEBUG loxilb_libdp.c:3147: llb_link_prop_add: IF-llb0 added idx 0 type 1
07:47:23 DEBUG loxilb_libdp.c:3400: setting up xdp for llb0|xdp_packet_hook
07:47:23 DEBUG loxilb_libdp.c:3222: llb_psec_add: SEC-tc_packet_hook0 added idx 0
07:47:23 DEBUG loxilb_libdp.c:3381: /opt/loxilb/llb_ebpf_main.o: nr 0 psection tc_packet_hook0
07:47:23 INFO  common_libbpf.c:121: tc: bpf attach start for llb0:0
07:47:23 ERROR common_libbpf.c:141: tc: no obj for pinpath /opt/loxilb/dp/bpf/llb_ebpf.rodata 
07:47:23 DEBUG common_libbpf.c:161: tc: autoload sec tc_packet_hook1 prog tc_packet_func
07:47:23 DEBUG common_libbpf.c:161: tc: autoload sec tc_packet_hook2 prog tc_packet_func_slow
07:47:23 DEBUG common_libbpf.c:161: tc: autoload sec tc_packet_hook3 prog tc_packet_func_fw
07:47:23 DEBUG common_libbpf.c:161: tc: autoload sec tc_packet_hook4 prog tc_csum_func1
07:47:23 DEBUG common_libbpf.c:161: tc: autoload sec tc_packet_hook5 prog tc_csum_func2
07:47:23 DEBUG common_libbpf.c:161: tc: autoload sec tc_packet_hook6 prog tc_slow_unp_func
07:47:23 DEBUG common_libbpf.c:161: tc: autoload sec tc_packet_hook7 prog tc_packet_func_masq

@vincentmli
Copy link
Author

vincentmli commented Feb 3, 2025

I copy and pasted the whole BTF LOG to deepseek AI and it says [301] PTR (anon) type_id=0 where type_id should start with 1, 0 is invalid

[298] STRUCT gtp_parser size=64 vlen=8
	gh type_id=299 bits_offset=0
	geh type_id=300 bits_offset=64
	nh type_id=301 bits_offset=128
	gtp_next type_id=301 bits_offset=192
	hlen type_id=17 bits_offset=256
	nhl type_id=302 bits_offset=320
	neh type_id=302 bits_offset=384
	elen type_id=17 bits_offset=448
[299] PTR (anon) type_id=345
[300] PTR (anon) type_id=346
[301] PTR (anon) type_id=0
[302] PTR (anon) type_id=17

but bpftool btf dump on the llb_ebpf_main.o on ubuntu shows same [301] PTR (anon) type_id=0 and it loads fine.

by the way the gtp_parser struct in question:

/* Parser to help gtp ebpf packer parsing */
struct gtp_parser {
  struct gtp_v1_hdr *gh;
  struct gtp_v1_ehdr *geh;
  void *nh;
  void *gtp_next;
  __u8 hlen;
  __u8 *nhl;
  __u8 *neh;
  __u8 elen;
};

@vincentmli
Copy link
Author

I downgraded BPFire kernel from 6.12.5 to 6.6.15, it works, appears kernel version affect this issue

@vincentmli
Copy link
Author

I downgraded BPFire kernel from 6.12.5 to 6.6.15, it works, appears kernel version affect this issue

according to AI, the suggestion is lower kernel version like 6.6.15 might not strictly enforce checking type_id=0, newer kernel version 6.12.5 could strictly enforced invalidating type_id=0. I looked at kernel source kernel/bpf/btf.c, there are few places checking type_id, I am not sure if the btf_ptr_resolve() is to check [301] PTR (anon) type_id=0, my kernel btf code knowledge is limited :).

@TrekkieCoder
Copy link
Collaborator

Thanks @vincentmli for all the info. Will double check with kernel >= 6.12 and update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants