ELF>Xo@@UHH}]UHH}HEHH9E]UHH H}HuHUHEHHtHEHHHHHUHEHHHUHUHHH}H}tHEP4HEH@HHUHH}HE~HEHcHEH]UH吿u]UHHH}HHUH HHǸHHUHHHHHHHHHHHHHHAHHHHHHt-JHHHHHHǸHHƿ UHHHHHHHHH HHǸHHHH]UHHPH}fEUHMHEHHHEHHHHUHHH}fEUHEHHHH@HHUHH H}uHEHH HdHH@UHHHEHEƀHEUHH H}HEHHEHEǀHEH@HUAH HUHATSHHfDžHHH$HHƅƅPAľHHQHHXHHHHHXHHHH HX(HHHH0HX8HHHH@HXHH H(HHPHXXH0H8HH`HXhH@HHHPxH@pHPHXHp&HHƅrDtƅxHHHHHHHHHHHHHHHHH H(HHH0H8HHH@HHHHHPHXHHHpHHP$HHƅPƅXPAľHH2HHXH`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@HUAH HHHHHH[A\]UHH H}HHHHH}Ht- HHHHHHǸHEH@86HAHEHEƀHEHXHEHHEH@0HUAH HUHAWAVAUATSHhHH HHHH@H@HEHEHEHEHHqHEH@HHHEH@HP HH5HǸEHEaHEȋUHcHTHDHEH}tHEHEHEHEHEHHEHEHEHEHHHE@uxHEDHEDHEDhHED@HEHXHEH@0HHHAUATEEHH5HǸHHEHHxHxHEHEHH HUHEHH9HEHHHHHEHXHHt-IHHHHHHǸHEHHuHEHHEHEHEHH HHH}Ht-KHHHHHHǸHH#HHHE@Ht-LHHHHHHǸHH+HHHEHt-MHHHHHHǸHH-HHHEHt-NHHHHHHǸHH'HHHE@Ht-OHHHHHHǸHH%HHHEhHt-PHHHHHHǸHHƿ HH#HHHH@Hǀ HǀH@xHH.HHHEHHEHHHHHEHXHHt-\HHHHHHǸHEHHXuHEHHEHEHEHH HHH}Ht-^HHHHHHǸHH#HHHE@Ht-_HHHHHHǸHH+HHHEHt-`HHHHHHǸHH-HHHEHt-aHHHHHHǸHH'HHHE@Ht-bHHHHHHǸHH%HHHEhHt-cHHHHHHǸHHƿ HEH@0HP HH HHǸHEHXHEHEHHH=HHHUHEHHHHt-jHHHHHHǸHHƿ HH"HHHH@Hǀ HǀH@xHHEHHHEH!HEHHHHHEHXHHt-vHHHHHHǸHEHHuHEHHEHEHEHH HHH}Ht-xHHHHHHǸHH#HHHE@Ht-yHHHHHHǸHH+HHHEHt-zHHHHHHǸHH-HHHEHt-{HHHHHHǸHH'HHHE@Ht-|HHHHHHǸHH%HHHEhHt-}HHHHHHǸHHƿ HHcHHHEHHE5HHHHHEHXHHt-HHHHHHǸHEHHuHEHHEHEHEHH HHH}Ht-HHHHHHǸHH#HHHE@Ht-HHHHHHǸHH+HHHEHt-HHHHHHǸHH-HHHEHt-HHHHHHǸHH'HHHE@Ht-HHHHHHǸHH%HHHEhHt-HHHHHHǸHHƿ UHHH}HEHHHǸUHH }HuEHUHuEIHHHE}tb}ht}vt"HEHHt-HH(HHhUHH}HuHUEH։6HH¾HHHHdHH@HHHHHHHHHHHHHHHHHt>HHHHHH(HHHHKHHHHUHH H}HuHdHH@HUHHHHH HHǸHHEHHEHE3uDHEunetinst, "default", "1.1.1.1", NULL)Assert failed %s %s:%d ===== END of %s unique_ids_test.c:965.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(up_session_find_by_up_seid(peer, s1_up_seid) == NULL) up_session_find_by_up_seid(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:521 [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) 12.2.0zRx  AC F <AC V \VAC Q |7AC r 3AC n AC R AC  AC | HAC C <?AC z \IAC D |]AC X  AC J AC  (AC M}  [AC V ,*AC e LAC  lAC  AC  9AC t AC  @AC {  8AC s   (&VC|7\3pv~H ?Ih]] 1 [ 5B*ME\`kx   ( #/5ALZgm~$-H`s(  "5Hcz 5GP f}n!9!A"@"8unique_ids_test.cprefetchllist_emptyosmo_talloc_replace_stringosmo_fsm_inst_state_nameosmo_pfcp_msg_causesetupcleanupstr2addrosa.6have_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_sockaddrup_peer_find_or_add_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_setmemsetup_session_find_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'..(?/F)M)U0\1g1nV11V^2f|345+-61*748>9H:O)W;a-hx.)%<= 1>9@OAfB+C#,;CBKZ6C<Em1|DE F" f/ B4 +; *M Gl -  H f    3 f% B* +E -Y (a Hh 1 - 2 . - D .1-6 -H&1<1M1[-owH-Hf931-EJMHifsU}3-\Hf3- H6f@JW3^-rzHf$3-LHft'3.-BJHnfx3-6-H111-H:-N3VH|fM3-JHfU$138-L\THuf3-dHf3-!HEfOYf3m-Hf<3-\Hf)63=-J6]-dt.-HGf3 -6 -4<<HC1Y1j1x-dH-Hf3N-bJjHfU3-\Hf 3-'/HSf]gt3{-Hf$3-LH#f-t7D3K-_gHf3-6-H-@HAfKZUb3-JHfU3-\H:fDN[3b-vl~Hf3-H f+32-FNHrf|D3-dHf3-61\ >Jl$v }KL- HL $/+(2(?NF@VO](dIoPvQRQSQTQUQVQWQ X Q Y! Q. Z7 QD XK QX Zb [l \v ]} (  % @ _ -  . *,!*3!*:!-A!< Q!.c!`|!-! !] !.!!-! !] !.!-!s !H!"f#" -":"3T"-b" i" v"."-"$ "] ". (0@HP ` h p )  0   @ `&| @`h] 1 0PEp n!!A"".symtab.strtab.shstrtab.rela.text.data.bss.rodata.rela.data.rel.ro.local.rela.data.rel.local.comment.note.GNU-stack.rela.eh_frame @"@(B(&#, # 1 #- >`. 9@jV@/` Q@Xl0f0/ o//(@l@ 2x % `<n