HewlettPackard / PacketRusher

High performance 5G UE/gNB Simulator and CP/UP load tester.
Apache License 2.0
106 stars 23 forks source link

[BUG] QFI header not added to gtp packet #134

Open zhemant opened 1 month ago

zhemant commented 1 month ago

Describe the bug Core is sending qfi 1 to PacketRusher, we can see in the logs it receives and acknowledges. However when we send traffic from UE, the GTP packet sent out does not have QFI in the GTP header. This causes the packet to be dropped on UPF.

To Reproduce Steps to reproduce the behavior:

Compile using current main branch, attach 1 UE to 5G Core, when 5G Core sends QFI, it will be visible in logs, now try to ping and capture the traffic, the QFI header will be missing from GTP packet.

Expected behavior QFI header should be added in GTP packet if sent from the core

Screenshots If applicable, add screenshots to help explain your problem.

Architecture (please complete the following information):

Log:

INFO[0001] [GNB][NGAP] Receive PDU Session Resource Setup Request 
INFO[0001] [GNB][NGAP][UE] PDU Session was created with successful. 
INFO[0001] [GNB][NGAP][UE] PDU Session Id: 1            
INFO[0001] [GNB][NGAP][UE] NSSAI Selected --- sst: NSSAI was not selected sd: NSSAI was not selected 
INFO[0001] [GNB][NGAP][UE] PDU Session Type: ipv4       
INFO[0001] [GNB][NGAP][UE] QOS Flow Identifier: 1       
INFO[0001] [GNB][NGAP][UE] Uplink Teid: 5               
INFO[0001] [GNB][NGAP][UE] Downlink Teid: 1             
INFO[0001] [GNB][NGAP][UE] Non-Dynamic-5QI: 9           
INFO[0001] [GNB][NGAP][UE] Priority Level ARP: 2        
INFO[0001] [GNB][NGAP][UE] UPF Address: 192.168.130.10 :2152 
INFO[0001] [GNB] Initiating PDU Session Resource Setup Response 
INFO[0001] [UE][NAS] Message with security header       
INFO[0001] [UE][NAS] Message with integrity and ciphered 
INFO[0001] [UE][NAS] successful NAS CIPHERING           
INFO[0001] [UE][NAS] successful NAS MAC verification    
INFO[0001] [UE][NAS] Receive DL NAS Transport           
INFO[0001] [UE][NAS] Receiving PDU Session Establishment Accept 
INFO[0001] [UE][NAS] PDU session QoS RULES: [1 0 6 49 49 1 1 255 1] 
INFO[0001] [UE][NAS] PDU session DNN: default.mnc001.mcc001.gprs 
INFO[0001] [UE][NAS] PDU session NSSAI -- sst: 1 sd: 000 
INFO[0001] [UE][NAS] PDU address received: 192.168.6.1  
DEBU[0002] [UE][GTP] Setting up GTP Forwarding Action Rule for val0000012345 1 --action 2 
DEBU[0002] [UE][GTP] Setting up GTP Forwarding Action Rule for val0000012345 2 --action 2 --hdr-creation 0 5 192.168.130.10 2152 
DEBU[0002] [UE][GTP] Setting up GTP Packet Detection Rule for val0000012345 1 --pcd 1 --hdr-rm 0 --ue-ipv4 192.168.6.1 --f-teid 1 192.168.130.20 --far-id 1 
DEBU[0002] [UE][GTP] Setting Up GTP Packet Detection Rule for val0000012345 2 --pcd 2 --ue-ipv4 192.168.6.1 --far-id 2 
INFO[0002] [UE][GTP] Interface val0000012345 has successfully been configured for UE 192.168.6.1 
INFO[0002] [UE][GTP] You can do traffic for this UE using VRF vrf0000012345, eg: 
INFO[0002] [UE][GTP] sudo ip vrf exec vrf0000012345 iperf3 -c IPERF_SERVER -p PORT -t 9000 

How is current seen in wireshark: image

Expected in wireshark: image

linouxis9 commented 1 month ago

Hi @zhemant,

Thanks a lot for opening this issue. PacketRusher does not yet support adding QFI.

I'll publish two PR fixing the issue soon.

Thanks a lot!

Best regards, Valentin

zhemant commented 1 month ago

Thank you @linouxis9 for your quick response. I will wait for your changes.

linouxis9 commented 1 month ago

Hi @zhemant,

Thanks a ton for opening this issue. Your issue should be fixed by this PR: https://github.com/HewlettPackard/PacketRusher/pull/135 Please read the instructions in the PR's description and ensure that this PR fixes your issue.

Thanks a ton! Valentin