PacketRusher
PacketRusher copied to clipboard
[BUG] UE netif disappears during handover
Describe the bug
During an Xn handover, the UE network interface val7005551000 disappears momentarily, which interrupts application traffic.
To Reproduce
Extract the archive: 1.tgz
# in first console at the extracted directory
docker compose build
docker compose up -d
docker logs -f gnb0
# wait approximately 30 seconds until the UE is registered
# in second console
docker exec -it gnb0 ping -I 10.1.0.1 172.25.193.2
# wait approximately 15 seconds until the handover is triggered
Expected behavior
The ping session from UE should continue through the handover. It may possibly have some packet loss, but not interrupted.
Actual behavior
ubuntu@N0:~$ docker exec -it gnb0 ping -I 10.1.0.1 172.25.193.2
PING 172.25.193.2 (172.25.193.2) from 10.1.0.1: 56 data bytes
64 bytes from 172.25.193.2: seq=0 ttl=63 time=0.807 ms
64 bytes from 172.25.193.2: seq=1 ttl=63 time=0.436 ms
64 bytes from 172.25.193.2: seq=2 ttl=63 time=0.513 ms
64 bytes from 172.25.193.2: seq=3 ttl=63 time=0.515 ms
64 bytes from 172.25.193.2: seq=4 ttl=63 time=0.505 ms
64 bytes from 172.25.193.2: seq=5 ttl=63 time=0.418 ms
64 bytes from 172.25.193.2: seq=6 ttl=63 time=0.425 ms
64 bytes from 172.25.193.2: seq=7 ttl=63 time=0.382 ms
64 bytes from 172.25.193.2: seq=8 ttl=63 time=0.441 ms
64 bytes from 172.25.193.2: seq=9 ttl=63 time=0.394 ms
64 bytes from 172.25.193.2: seq=10 ttl=63 time=0.429 ms
64 bytes from 172.25.193.2: seq=11 ttl=63 time=0.421 ms
64 bytes from 172.25.193.2: seq=12 ttl=63 time=0.396 ms
ping: sendto: Network unreachable
Architecture
- OS: Ubuntu 24.04
- Platform: amd64
- Version: PacketRusher 80a7f4bc63d9563a8ec58ba126440d94018a35a2
- Kernel: 6.8.0-55-lowlatency
- Docker: 28.0.1
- gtp5g: v0.9.13
Log
PacketRusher logs
time="2025-04-01T12:48:19Z" level=info msg="Loaded config at: /config.gnb0.001017005551000.yml"
time="2025-04-01T12:48:19Z" level=info msg="PacketRusher version 1.0.1"
time="2025-04-01T12:48:19Z" level=info msg=---------------------------------------
time="2025-04-01T12:48:19Z" level=info msg="[TESTER] Starting test function: Testing registration of multiple UEs"
time="2025-04-01T12:48:19Z" level=info msg="[TESTER][UE] Number of UEs: 1"
time="2025-04-01T12:48:19Z" level=info msg="[TESTER][GNB] gNodeB control interface IP/Port: 172.25.198.18/9487~"
time="2025-04-01T12:48:19Z" level=info msg="[TESTER][GNB] gNodeB data interface IP/Port: 172.25.195.18/2152"
time="2025-04-01T12:48:19Z" level=info msg="[TESTER][AMF] AMF IP/Port: 172.25.198.15/38412"
time="2025-04-01T12:48:19Z" level=info msg=---------------------------------------
time="2025-04-01T12:48:19Z" level=info msg="Selecting 172.25.198.15 for host 172.25.198.15 as AMF's IP address"
time="2025-04-01T12:48:19Z" level=info msg="Selecting 172.25.195.18 for host 172.25.195.18 as gNodeB's N3/Data IP address"
time="2025-04-01T12:48:19Z" level=info msg="Selecting 172.25.198.18 for host 172.25.198.18 as gNodeB's N2/Control IP address"
time="2025-04-01T12:48:19Z" level=warning msg="[TESTER] We are increasing the number of gNodeB to two for handover test cases. Make you sure you fill the requirements for having two gNodeBs."
time="2025-04-01T12:48:19Z" level=info msg="[GNB] SCTP/NGAP service is running"
time="2025-04-01T12:48:19Z" level=info msg="[GNB] Initiating NG Setup Request"
time="2025-04-01T12:48:19Z" level=info msg="[GNB] SCTP/NGAP service is running"
time="2025-04-01T12:48:19Z" level=info msg="[GNB] Initiating NG Setup Request"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][SCTP] Receive message in 0 stream\n"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][SCTP] Receive message in 0 stream\n"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][NGAP] Receive NG Setup Response"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] AMF Name: amf"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] State of AMF: Active"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] Capacity of AMF: 255"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] PLMNs Identities Supported by AMF -- mcc: 001 mnc:01"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] List of AMF slices Supported by AMF -- sst:01 sd:000000"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] List of AMF slices Supported by AMF -- sst:04 sd:000000"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][NGAP] Receive NG Setup Response"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] AMF Name: amf"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] State of AMF: Active"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] Capacity of AMF: 255"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] PLMNs Identities Supported by AMF -- mcc: 001 mnc:01"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] List of AMF slices Supported by AMF -- sst:01 sd:000000"
time="2025-04-01T12:48:19Z" level=info msg="[GNB][AMF] List of AMF slices Supported by AMF -- sst:04 sd:000000"
time="2025-04-01T12:48:20Z" level=info msg="[TESTER] TESTING REGISTRATION USING IMSI 7005551000 UE"
time="2025-04-01T12:48:20Z" level=info msg="[GNB] Received incoming connection from new UE"
time="2025-04-01T12:48:20Z" level=info msg="[UE] Initiating Registration"
time="2025-04-01T12:48:20Z" level=info msg="[UE] Switched from state 0 to state 1"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][SCTP] Receive message in 1 stream\n"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP] Receive Downlink NAS Transport"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message without security header"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Receive Authentication Request"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS][MAC] Authenticity of the authentication request message: OK"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS][SQN] SQN of the authentication request message: VALID"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Send authentication response"
time="2025-04-01T12:48:20Z" level=info msg="[UE] Switched from state 1 to state 2"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][SCTP] Receive message in 1 stream\n"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP] Receive Downlink NAS Transport"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with security header"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with integrity and with NEW 5G NAS SECURITY CONTEXT"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] successful NAS MAC verification"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Receive Security Mode Command"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Type of ciphering algorithm is 5G-EA0"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Type of integrity protection algorithm is 128-5G-IA2"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][SCTP] Receive message in 1 stream\n"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP] Receive Initial Context Setup Request"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][UE] UE Context was created with successful"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][UE] UE RAN ID 1"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][UE] UE AMF ID 1"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][UE] UE Mobility Restrict --Plmn-- Mcc: not informed Mnc: not informed"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][UE] UE Masked Imeisv: 1110000000ffff00"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][UE] Allowed Nssai-- Sst: [01] Sd: [000000]"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][AMF] Send Initial Context Setup Response."
time="2025-04-01T12:48:20Z" level=info msg="[GNB] Initiating Initial Context Setup Response"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP] No PDU Session to set up in InitialContextSetupResponse."
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with security header"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with integrity and ciphered"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] successful NAS CIPHERING"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] successful NAS MAC verification"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Receive Registration Accept"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] UE 5G GUTI: &{119 11 [242 0 241 16 1 0 0 192 0 2 236]}"
time="2025-04-01T12:48:20Z" level=info msg="[UE] Switched from state 2 to state 3"
time="2025-04-01T12:48:20Z" level=info msg="[UE] Initiating New PDU Session"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][SCTP] Receive message in 1 stream\n"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP] Receive Downlink NAS Transport"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with security header"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with integrity and ciphered"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] successful NAS CIPHERING"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] successful NAS MAC verification"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Receive Configuration Update Command"
time="2025-04-01T12:48:20Z" level=info msg="[UE] Initiating Configuration Update Complete"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][SCTP] Receive message in 1 stream\n"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP] Receive PDU Session Resource Setup Request"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] PDU Session was created with successful."
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] PDU Session Id: 1"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] NSSAI Selected --- sst: 01 sd: 000000"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] PDU Session Type: ipv4"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] QOS Flow Identifier: 1"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] Uplink Teid: 32617"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] Downlink Teid: 1"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] Non-Dynamic-5QI: 9"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] Priority Level ARP: 8"
time="2025-04-01T12:48:20Z" level=info msg="[GNB][NGAP][UE] UPF Address: 172.25.195.5 :2152"
time="2025-04-01T12:48:20Z" level=info msg="[GNB] Initiating PDU Session Resource Setup Response"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with security header"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Message with integrity and ciphered"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] successful NAS CIPHERING"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] successful NAS MAC verification"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Receive DL NAS Transport"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] Receiving PDU Session Establishment Accept"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] PDU session QoS RULES: [1 0 6 49 49 1 1 255 1]"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] PDU session DNN: internet"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] PDU session NSSAI -- sst: 1 sd: 000"
time="2025-04-01T12:48:20Z" level=info msg="[UE][NAS] PDU address received: 10.1.0.1"
time="2025-04-01T12:48:21Z" level=info msg="[UE][GTP] Interface val7005551000 has successfully been configured for UE 10.1.0.1"
time="2025-04-01T12:48:21Z" level=info msg="[UE][GTP] You can do traffic for this UE by binding to IP 10.1.0.1, eg:"
time="2025-04-01T12:48:21Z" level=info msg="[UE][GTP] iperf3 -B 10.1.0.1 -c IPERF_SERVER -p PORT -t 9000"
time="2025-04-01T12:48:35Z" level=info msg="[GNB] Initiating Xn UE Handover"
time="2025-04-01T12:48:35Z" level=info msg="[UE] gNodeB is telling us to use another gNodeB"
time="2025-04-01T12:48:35Z" level=info msg="[GNB] Cleaning up context on current gNb"
time="2025-04-01T12:48:35Z" level=info msg="[GNB] Received incoming handover for UE from another gNodeB"
time="2025-04-01T12:48:35Z" level=info msg="[GNB] Initiating Path Switch Request"
time="2025-04-01T12:48:35Z" level=info msg="[GNB][SCTP] Receive message in 1 stream\n"
time="2025-04-01T12:48:35Z" level=info msg="[GNB][NGAP] Receive PathSwitchRequestAcknowledge"
time="2025-04-01T12:48:35Z" level=info msg="[GNB] Handover completed successfully for UE 1"
time="2025-04-01T12:48:37Z" level=info msg="[UE][GTP] Interface val7005551000 has successfully been configured for UE 10.1.0.1"
time="2025-04-01T12:48:37Z" level=info msg="[UE][GTP] You can do traffic for this UE by binding to IP 10.1.0.1, eg:"
time="2025-04-01T12:48:37Z" level=info msg="[UE][GTP] iperf3 -B 10.1.0.1 -c IPERF_SERVER -p PORT -t 9000"
Additional context
PacketRusher config
amfif:
- ip: 172.25.198.15
port: 38412
gnodeb:
controlif:
ip: 172.25.198.18 # upto 172.25.198.19
port: 9487
dataif:
ip: 172.25.195.18 # upto 172.25.195.19
port: 2152
plmnlist:
gnbid: "000001"
mcc: "001"
mnc: "01"
tac: "000005"
slicesupportlist:
sd: "000000"
sst: "01"
logs:
level: 4
ue:
amf: "8000"
ciphering:
nea0: true
nea1: false
nea2: true
nea3: false
dnn: internet
homeNetworkPublicKey: 5a8d38864820197c3394b92613b20b91633cbd897119273bf8e4a6f4eec0a650
homeNetworkPublicKeyID: 1
hplmn:
mcc: "001"
mnc: "01"
integrity:
nia0: false
nia1: false
nia2: true
nia3: false
key: 660bd76dc52f2168acb08f0ea8880758
msin: "7005551000"
opc: 0d87adfc653b73e9a35921d1f7772711
protectionScheme: 0
routingindicator: "0000"
snssai:
sd: "000000"
sst: 1
sqn: "00000000"
PacketRusher invocation command line:
packetrusher --config=/config.gnb0.001017005551000.yml multi-ue -n=1 -d -t --tunnel-vrf=false --timeBeforeXnHandover=15000