-
Notifications
You must be signed in to change notification settings - Fork 52
With kernel 5.4.0-73-generic(ubuntu 18.04) or newer, gtp5g failed to decap UL gtp pkts larger than 144 bytes #28
Comments
Hi @mmadnac1313 , I have some doubt about your logs,
Why there is no QER add in your log but seen QER Found message, Could you capture wireshark trace of N3 and send it to me. |
Here you are. It sounds UPF of Free5gc 3.05 has sent an incorrect icmp packet to outside. |
By the way, I capture the netlog after I upgrade the Linux kernel to 5.4.0-77-generic(ubuntu 18.04) for Free5gc VM. |
Hi @mmadnac1313, I suspect your codebase of free5GC UPF and gtp5g, I will take a look at your attachment and let you know. You can read the forum of the free5GC compatibility issue |
Here is my free5gc latest git log:
And I copy gtp5g by "git clone https://github.com/free5gc/gtp5g.git" |
Here is the git log of gtp5g:
commit 56a709fbaf7e3cb95b691ec7c57496fedea61df0
|
Hi @mmadnac1313 , Both gtp.zip & gtp_free5gc304.zip, the uplink GTP-U has an "Extension header for UL PDU" but there is no extension header for DL PDU. It may happen due to the QER record is not present in gtp5g.
You didn't understand my question
You should see a message like below when QER is present while SMF sending PFCP message to UPF, and then gtp5g kernel can print like it below [3913909.802101] gtp5gtest:[gtp5g] gtp5g_gnl_add_qer: QER-Add: QER_ID(123) success The answer is, you are using an incompatible source code of free5GC UPF and gtp5g. I confirmed by attached Wireshark capture. How to sync the latest code of free5GC is shown below,
|
OK , after I sync the latest code according to your comment, the GTP5G dmesg is as below |
Hi @mmadnac1313, You mean there is a problem with the following print
GTPU-L -> denotes the GTP-u payload length I randomly picked the packet trace flow of Uplink and Downlink from new_gtp_log.zip. For example, frame from 271 to 276. You can compare the prints like what do you mentioned here with wireshark trace. |
As per your Wireshark trace, there is no loss happened while the gtp5g kernel processing the downlink packet. You have to troubleshoot the N6 interface downlink reply, and so on. This issue is not related to the gtp5g kernel module. |
Thank you for your reply! Should I copy this issue to the corresponding git repo of N6 interface? |
Hi @mmadnac1313 , No, there is no separate repo of the N6 interface. I mean, you have to troubleshoot yourself because we didn't encounter this problem. You have to analyze like,
and so on. |
Hi @mmadnac1313 , Now, we created a repo under free5gc, and you can report upcoming issues |
Hi @mmadnac1313, We have one more fix in gtp5g which may relate to your problem. Please, verify it and let me know. |
|
There may be some backward compatible issue between gtp5g and free5gc.
|
I have set "dbg_trace_lvl = 4;", but there were still no useful kernel messages dumped. And free5gc UPF also had no error message to see the reason why drop the UL GTP packets.
I have printed out "sk_buff->data" to kernel message, and I found "sk_buff->data" was corrupted since the byte of "next extention header type". Is there any workaround to solve this issue, instead of replacing the kernel?(it's OK with Linux kernel 5.4.0-42)
The ping test was performed with "free5gc 3.0.5"(5.4.0-73-generic or 5.4.0-77-generic) and "UERANSIM-3.2.1"(5.8.0-59-generic).
[12658.461182] upfgtp:[gtp5g] gtp5g_dellink: deregistered 5G GTP interface
[12663.635080] gtp5g: enable gtp5g on 11, 5
[12663.638400] upfgtp:[gtp5g] gtp5g_newlink: Registered a new 5G GTP interface
[12679.993822] upfgtp:[gtp5g] gtp5g_gnl_add_far: FAR-Add: id[2] success
[12679.993997] upfgtp:[gtp5g] gtp5g_gnl_add_far: FAR-Add: id[4] success
[12679.994422] upfgtp:[gtp5g] gtp5g_gnl_add_pdr: PDR-Add: id[1] success
[12679.994756] upfgtp:[gtp5g] gtp5g_gnl_add_pdr: PDR-Add: id[3] success
[12680.028290] upfgtp:[gtp5g] gtp5g_gnl_add_far: FAR-Add: update id[4] success
[12697.260816] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12697.260865] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12763.867799] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12763.867820] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12764.870294] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12764.870315] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12765.873635] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12765.873656] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12766.874944] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12766.874965] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12767.875578] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12767.875600] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12768.880723] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12768.880743] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12769.881218] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12769.881238] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12770.884266] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12770.884286] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12771.885505] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12771.885526] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12772.887002] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12772.887024] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12773.889643] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12773.889665] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12774.891166] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12774.891198] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12775.895024] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12775.895055] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12776.896408] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12776.896424] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12777.898152] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12777.898173] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12778.899750] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12778.899781] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12779.902446] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12779.902477] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12780.903726] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12780.903749] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
[12781.906110] [gtp5g] gtp5g_push_header: SKBLen(96) GTP-U V1(8) Opt(4) DL_PDU(4)
[12781.906143] [gtp5g] gtp5g_push_header: QER Found GTP-U Flg(48) GTPU-L(96) SkbLen(104)
The text was updated successfully, but these errors were encountered: