ELF>(w@@UHH}]UHH}HEHH9E]UHH H}HuHUHEHHtHEHHHHHUHEHHHUHUHHH}H}tHEP4HEH@HHUHH}HE~HEHcHEH]UH吿u]UHHH}HHUH HHǸHHUHHHHHHHHHHHHHHAHHHHHHt-KHHHHHHǸHHƿ UHHHHHHHHH HHǸHHHH]UHHPH}fEUHMHEHHHEHHHHUHSH}HuEvHEHuHHXH HHHHXH HHH HX(H HHH0HX8H HHH@HXHH HHHPHXXH HHH`HXhH HHPxH@pHHJHEHHH-{HHHHHHǸHH]UHH0}HuHUЋEH։HEHEоH8HEHH@HUHHHEH}u[HH@HUHHHEH}Ht-HHHHHHǸHUHEHHHEH}uTHUHEHHHEH}Ht-HHHHHHǸHEUHH H}uHEHH HdHH@UHHHEHEƀHEUHH H}HEHHEHEǀHEH@HUAH HUHATSHHfDžHHH$HHƅƅPAľHHHHXHHHHHXHHHH HX(HHHH0HX8HHHH@HXHH H(HHPHXXH0H8HH`HXhH@HHHPxH@pHPHXHp&HHƅrDtƅxHHHHHHHHHHHHHHHHH H(HHH0H8HHH@HHHHHPHXHHHpHHP$HHƅPƅXPAľHHHHXH`HhHHHXHpHxHH HX(HHHH0HX8HHHH@HXHHHHHPHXXHHHH`HXhHHHPxH@pHHH &HHƅ"D$ƅ(H`HhH0H8HpHxH@HHHHHPHXHHH`HhHHHpHxHHHHHHHHHHHHH HPHcH#HHHHH@HHHHHHHH2HrHEHEƀHEHǀHUHH¨!HHHHEH8HHEHH!HHHHEƀHEHH#HHHHEfǀHEǀHEǀHEƀHEHHP$HHHHEƀ(HEƀ4HEǀ8HEfǀ@HEǀDHEƀLHEHPH$HHHHEƀ HEƀ HEǀ HEǀАHEǀؐHEfܐHEƀސHEƀHEHHp&HHHHEǀ HEf$HEƀ&HEǀ(HEƀ+HEH0H &HHHHEǀHH@HUA'H HHHHHH[A\]UHH H}HHHHH}Ht-1HHHHHHǸHEH@86HAHEHEƀHEHXHEHHEH@0HUA7H HUHAWAVAUATSHHH HHHH@H@HEHEHEHEHH1`HEH@HEHEHEHEHH HEH@HpHHEH@HP HH5HǸEHEvHEUHcH2HDHEH}tHEHEHEHE-HEHHxHxHEHEHHPHE@uxHEDHEDHEDhHED@HEHXHEH@0HtHHAUATEEHH5HǸHHEHH`H`HEHEHHHUHEHH9HHHHHH(HHHHKHHHHUHH H}HuHdHH@HUHHHHH HHǸHHEHHEHE3uDHEunetinst, "default", "1.1.1.1", NULL)Assert failed %s %s:%d ===== END of %s unique_ids_test.c:970node_peerentity_peer5.6.7.813.14.15.16assert(session) session state: | peer %s %s | session[%s]: UP-SEID 0x%lx; chain_id access=%u core=%u; local TEID access=0x%x core=0x%x PFCP Associate peer 1.2.3.4set up tunmap, which assigns first UP-SEID 0x1, local-TEID 0x1 and 0x2, chain_ids 1 and 2 assert(s1->up_seid == 1) s1->up_seid == 1assert(a) aassert(a->kind == UP_GTP_U_TUNMAP) a->kind == UP_GTP_U_TUNMAPassert(a->tunmap.core.tun.local.teid == 1) a->tunmap.core.tun.local.teid == 1assert(a->tunmap.access.tun.local.teid == 2) a->tunmap.access.tun.local.teid == 2assert(a->tunmap.access.chain_id == 1) a->tunmap.access.chain_id == 1assert(a->tunmap.core.chain_id == 2) a->tunmap.core.chain_id == 2simulate wrapping of IDs back to 1 set up second tunmap, should use distinct IDs assert(s2->up_seid == 2) s2->up_seid == 2assert(a->tunmap.core.tun.local.teid == 3) a->tunmap.core.tun.local.teid == 3assert(a->tunmap.access.tun.local.teid == 4) a->tunmap.access.tun.local.teid == 4assert(a->tunmap.access.chain_id == 3) a->tunmap.access.chain_id == 3assert(a->tunmap.core.chain_id == 4) a->tunmap.core.chain_id == 4drop first tunmap (%s) assert(pfcp_entity_peer_find_up_session_by_up_seid(entity_peer, s1_up_seid) == NULL) pfcp_entity_peer_find_up_session_by_up_seid(entity_peer, s1_up_seid) == ((void *)0)again wrap all ID state back to 1 set up third tunmap, should now re-use same IDs as the first session assert(s3->up_seid == 1) s3->up_seid == 1set up 4th tunmap; chain_id state would use 3 and 4, but they are in use, so should assign 5 and 6 assert(s4->up_seid == 3) s4->up_seid == 3assert(a->tunmap.core.tun.local.teid == 5) a->tunmap.core.tun.local.teid == 5assert(a->tunmap.access.tun.local.teid == 6) a->tunmap.access.tun.local.teid == 6assert(a->tunmap.access.chain_id == 5) a->tunmap.access.chain_id == 5assert(a->tunmap.core.chain_id == 6) a->tunmap.core.chain_id == 6DREFReference CountingDPEERPFCP peer associationDSESSIONPFCP sessionsDGTPGTP tunnelingDNFTGTP forwarding rules via linux netfilterUsage: %s [-v] Options: -h --help show this text. -v --verbose print source file and line numbers hvError in command line options. Exiting. mainunique_ids_test.c:561 [test override] PFCP tx: %s osmo-upf created session 0x%lx [test override] %s() assert(ctx == fake_nft_ctx) ctx == fake_nft_ctx [test override] %s(): %s test_skip_used_idhelpverbosenft_ctx_newnft_ctx_freenft_run_cmd_from_buffertimehvGCC: (Debian 12.2.0-14+deb12u1) 12.2.0zRx  AC F <AC V \VAC Q |7AC r 3AC n AC R AC  AC | HAC C  <KAC EA `1AC , IAC D ]AC X  AC J AC  (AC P 0[AC V P*AC e pAC  AC  AC  9AC t AC  @AC {  08AC s   (&VC|7\3pv~H K+1\I]  n"t[4 ?Wd *o ~`0 @ P h #*2EQWcn|)I^&=Dpw(+!0Hi|N#2"$9>[$K$@c5%8unique_ids_test.cprefetchllist_emptyosmo_talloc_replace_stringosmo_fsm_inst_state_nameosmo_pfcp_msg_causesetupcleanupstr2addrosa.7str2node_idnode_id.6have_pfcp_entity_peernew_pfcp_msg_for_osmo_upf_rxpeer_assocnext_teidnext_cp_seidsession_est_tunmapsession_deldump_statetest_skip_used_id__func__.5test_default_categoriescmdline_optsprint_helphandle_optionslong_options.4fake_nft_ctx__func__.3__func__.2__func__.1__func__.0_talloc_freetalloc_strduposmo_fsm_state_namelast_up_seidselect_pollosmo_select_main_ctxstderrfprintftalloc_named_constg_upf_allocg_upfnetinst_addosmo_panicupf_pfcp_initupf_nft_initfputcup_endpoint_freeupf_gtp_devs_closeupf_gtp_genl_closeupf_nft_freetalloc_get_nameosmo_sockaddr_str_from_strosmo_sockaddr_str_to_sockaddrosmo_strlcpyup_endpoint_find_pfcp_node_peerpfcp_node_peer_allocpfcp_node_peer_find_entity_by_remote_addrpfcp_entity_peer_alloc_GLOBAL_OFFSET_TABLE_osmo_ctxosmo_pfcp_msg_alloc_tx_req_osmo_fsm_inst_dispatchosmo_pfcp_bits_setosmo_pfcp_endpoint_get_local_addrosmo_pfcp_ip_addrs_setmemsetpfcp_entity_peer_find_up_session_by_up_seidfwritelog_infogetopt_longexitmainmsgb_talloc_ctx_initosmo_fsm_set_dealloc_ctxosmo_init_logging2osmo_stderr_targetlog_set_print_category_hexlog_set_print_categorylog_set_print_levellog_set_print_timestamplog_set_print_extended_timestamplog_set_all_filterlog_set_print_filename2log_set_print_filename_poslog_set_use_colorosmo_fsm_log_timeoutsosmo_fsm_log_addrlog_finiosmo_pfcp_endpoint_txosmo_pfcp_msg_to_str_cosmo_pfcp_msg_freenft_ctx_newnft_ctx_freenft_run_cmd_from_buffertimeP['n()=. /B'0.*?1F+M+U2\3g3nV33V^4f|567-/83*94:>;H<O+W=a/hx0+'>?-4CJY`ov @f 5!g3zA3Bf5CD1f;ER5vFGfH-5I`ixTIs Iy   3 J K@ L_ fl Hq -x , M / ' N f 8 5UfbHg-/@N3/%J20/"\/0;3S/`8 /N333/#+NG/[7cNfQ5/bNf'm1>5E/YtaNf5/Nf 5/& .NRf\<fs5z/dNf5/N"f,6C5J/W8^/rzN333/N/K N0f:eDQ5/bNfm5/tN)f3=J5Q/e|mNf5/Nf 5!/5,=NafkTu5/tNf5/8/(0O/ckN~Mf,5/8/N3 33,/@HNd/xNf 5/bN:fDmN[5b/vt~Nf5/Nf(5//C KNofy<5/dNf5/N?fIS`5g/t8{/$N/Nf 5Q/ebmNfm5/tNf5/*2NVf`jw5~/ Nf<5/d N& f0 : G 5N /b j N f   5 / 8  P !&*! 1!Qa!Rg!q!/! !N!R!E !1!*!*!T!F "U"*"O#"V*"W7"X>"WK"YR"W_"Zf"Ws"[z"W"\"W"]""W"^"W"_"W"`"W"^"W #`#a #b*#c1#*8#J C#'a#Fx#e#/#d #0#,#,#,#/# $0$f0$/7$, >$ N$0U$j$/q$< x$ $0$/$ $N$$f$ $$5%/%L % *%0D%/K%d R% b%0  ( 0! @7 H@ PH `V h[ pc q [ x " ' @ `&| @d+\ n4tT t !N#"$[$$45%.symtab.strtab.shstrtab.rela.text.data.bss.rodata.rela.data.rel.ro.local.rela.data.rel.local.comment.note.GNU-stack.rela.eh_frame @m%@hF(,&%,% 1%m >@1 9@rV 2` Q@t0f02(o22P@@tX 5 ' @hv