HewlettPackard / PacketRusher

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

[BUG] Cannot use leading 0 in UE HPLMN MNC #105

Closed jakekasper2 closed 7 months ago

jakekasper2 commented 7 months ago

When UE MNC is set to 010 the leading 0 is dropped. This results in the SUPI being incorrect. I am testing with 315010, when i set this MNC it becomes 315100

To Reproduce Set the UE HPLMN MNC with a leading 0 (010) for example, try to perform a UE attach.

Expected behavior The MNC remains as 010.

Screenshots Configuration: image

PCAP: image

Architecture (please complete the following information):

linouxis9 commented 7 months ago

Hi @jakekasper2, Thank you for your report. Could you try this PR https://github.com/HewlettPackard/PacketRusher/pull/103 / branch 3digitsmnc? I should have solved this issue in this PR.

git clone https://github.com/HewlettPackard/PacketRusher
cd PacketRusher
git checkout 3digitsmnc
# And then proceed with the usual installation steps

Thanks a lot! Cheers, Valentin

jakekasper2 commented 7 months ago

Hi @jakekasper2, Thank you for your report. Could you try this PR #103 / branch 3digitsmnc? I should have solved this issue in this PR.

git clone https://github.com/HewlettPackard/PacketRusher
cd PacketRusher
git checkout 3digitsmnc
# And then proceed with the usual installation steps

Thanks a lot! Cheers, Valentin

Thank you, even after moving to the 3digitsmnc the same behavior is observed.

Additionally, it appears that when using the 010 MNC it is making the SUPI too many digits and thus invalid.

linouxis9 commented 7 months ago

@jakekasper2 Did you rebuild packetrusher binary with go build cmd/packetrusher.go after switching branch to 3digitsmnc? I'll try to reproduce your issue. Thanks!

jakekasper2 commented 7 months ago

@jakekasper2 Did you rebuild packetrusher binary with go build cmd/packetrusher.go after switching branch to 3digitsmnc? I'll try to reproduce your issue. Thanks!

I'm sorry for my ignorance. I just pulled the fresh package based on your steps above. It is running, however, it is now "stuck". It doesn't ever start the SCTP connection to the AMF. It just sits here forever.

This is the only output: root@packetrusher:/usr/src/PacketRusher# ./packetrusher ue INFO[0000] Selecting x.x.x.x for host x.x.x.x as AMF's IP address INFO[0000] Selecting x.x.x.x for host x.x.x.x as gNodeB's N3/Data IP address INFO[0000] Selecting x.x.x.x for host x.x.x.x as gNodeB's N2/Control IP address INFO[0000] Loaded config at: /usr/src/PacketRusher/config/config.yml INFO[0000] PacketRusher version 1.0.1 INFO[0000] --------------------------------------- INFO[0000] [TESTER] Starting test function: Testing an ue attached with configuration INFO[0000] [TESTER][UE] Number of UEs: 1 INFO[0000] [TESTER][UE] disableTunnel is false INFO[0000] [TESTER][GNB] Control interface IP/Port: x.x.x.x/9487 INFO[0000] [TESTER][GNB] Data interface IP/Port: x.x.x.x/2152 INFO[0000] [TESTER][AMF] AMF IP/Port: x.x.x.x/38412 INFO[0000] ---------------------------------------

linouxis9 commented 7 months ago

Hi @jakekasper2,

The main branch of the repository should have fixed your issue, you can try by switching back to the main branch, pulling latest changes and building the project again.

cd PacketRusher
git checkout main
git pull
go build cmd/packetrusher.go

Feel free to open another issue if you are still having problems!

Thanks and cheers, Valentin