Closed Sabreu closed 1 year ago
Hi @Sabreu,
Could you estimate total count of active PDU sessions in the moment of failure?
Or just use eUPF statistic metrics (curl http://<eupf_ip:9090/metrics>
). See upf_pfcp_sessions
@pirog-spb
I only have one UE in use atm. Should UE detach (Session Deletion Request) delete the sessions? I already rebooted the upf but right now it seems to be upf_pfcp_sessions 5. I can report later when the issue occurs again what pfcp session amount is.
Thanks
Hi @pirog-spb
Upf stopped working again. upf_pfcp_sessions is now 18 but it seems that the problem started when session amount was 1 or 2 (17 sessions were created after the issue started to happen)
it also seems the previous session delete was fine:
2023/11/14 11:11:16 INF Got Session Deletion Request from: 10.10.1.3.
2023/11/14 11:11:16 INF EBPF: Delete PDR Downlink: ipv4=10.45.0.7
2023/11/14 11:11:16 INF EBPF: Delete PDR Uplink: teid=235730
2023/11/14 11:11:16 INF EBPF: Delete PDR Uplink: teid=41348
2023/11/14 11:11:16 INF EBPF: Delete FAR: intenalId=1
2023/11/14 11:11:16 INF EBPF: Delete FAR: intenalId=2
2023/11/14 11:11:16 INF EBPF: Delete FAR: intenalId=3
2023/11/14 11:11:16 INF EBPF: Delete QER: internalId=1
2023/11/14 11:11:16 INF Deleting session: 513
BTW yesterday and today session 514 is the first one to fail, coincidence?
thanks
Hi @pirog-spb
I made a test with this kind of code change (use Delete instead of Update):
func (bpfObjects *BpfObjects) DeletePdrUpLink(teid uint32) error {
log.Info().Msgf("EBPF: Delete PDR Uplink: teid=%d", teid)
//return bpfObjects.PdrMapUplinkIp4.Update(teid, unsafe.Pointer(&PdrInfo{}), ebpf.UpdateExist)
return bpfObjects.PdrMapUplinkIp4.Delete(teid)
}
Did the same thing for DeletePdrDownlink.
Got past this 514th session, atm 581th session ongoing. So it seems like the keys are not deleted correctly with the Update? I know close to zero about the inner workings so please check what should be correct way to handle this. I don't know if this kind of change could cause other issues or not.
Thanks
Well, this is an obvious bug. Will fix it ASAP
@Sabreu thanx for investigation!
@Sabreu could you please try fix from associated pull-request?
@pirog-spb 650th session ongoing atm with the pull-request. Btw why the logging was changed? I don't see any of those logs anymore even with debug prints on. Not sure if those are needed even, maybe if debug is on?
@Sabreu Yes, logging was changed little bit. info -> trace in tha case. Please use '--loglvl' option via command line or log_level
option in config file.
@pirog-spb ah yes it's even lower log_level than debug now I got it.
In addition could these be debug maybe (if using INFO level it would reduce a lot of logging)? Just my opinion...
eupf[1013465]: 2023/11/16 18:38:22 INF Received 16 bytes from 10.10.1.3:8805
eupf[1013465]: 2023/11/16 18:38:22 INF Handling PFCP message from 10.10.1.3:8805
Thanks
@Sabreu Good point.
Logging levels were implemented quite recently. So there are a lot of debug outputs that have to be refactored :)
Am I understand correctly that eUPF now works without hanging up?
Thank you for the feedback!
@pirog-spb Yes working fine without hangs.
Hi,
I have this problem where data (iperf3) stops working after eupf has been running a while. In this log data is not working anymore. After this all data is halt until eupf is rebooted. Is it because of "Can't apply GTP PDR: update: key too big for map: argument list too long"?
Other core components: open5gs eupf version: 0.5.2