free5gc: [Bugs?] PFCP Session Establishment failed with free5GC v3.3.0 and oai-cn5g-upf-vpp v1.5.1
Describe the bug
PFCP Session Establishment failed with free5GC v3.3.0 and oai-cn5g-upf-vpp v1.5.1.
I don’t know if this is a bug or not.
To Reproduce
PFCP Session Establishment was successful with free5GC v3.2.1 (not v3.3.0) and oai-cn5g-upf-vpp v1.5.1.
I wrote this successful configuration as folows.
https://github.com/s5uishida/free5gc_ueransim_vpp_upf_dpdk_sample_config
However, when I used this configuration as is, and changed free5GC from v3.2.1 to v3.3.0 and tried to connect the UE, I received the following error message (pcap) in the PFCP Session Establishment Response.
Error Report : [Grouped IE]
Enterprise specific IE Type: 32774
IE Length: 42
Enterprise ID: Travelping GmbH (18681)
--> Error Message : PDR ID 1, unknown Network Instance
Enterprise specific IE Type: 32775
IE Length: 36
Enterprise ID: Travelping GmbH (18681)
Error Message: PDR ID 1, unknown Network Instance
For DNN and Network Instance, I am using internet.
IMSI is 001010000000000.
Expected behavior
PFCP Session Establishment succeeds with free5GC v3.3.0 and oai-cn5g-upf-vpp v1.5.1.
Screenshots
Environment (please complete the following information):
- free5GC Version: [v3.3.0]
- OS: [Ubuntu 22.04 Server]
- Kernel version: [5.15.0-67-lowlatency]
- go version: [go1.17.8 linux/amd64]
- c compiler version (Option): [gcc version 11.3.0]
Trace File
Configuration File
The changed configuration files are as follows.
- amfcfg.yaml
--- amfcfg.yaml.orig 2023-06-17 13:32:30.936184528 +0900
+++ amfcfg.yaml 2023-06-17 13:43:54.901214657 +0900
@@ -5,7 +5,7 @@
configuration:
amfName: AMF # the name of this AMF
ngapIpList: # the IP list of N2 interfaces on this AMF
- - 127.0.0.18
+ - 192.168.0.141
ngapPort: 38412 # the SCTP port listened by NGAP
sbi: # Service-based interface information
scheme: http # the protocol for sbi (http or https)
@@ -24,18 +24,18 @@
servedGuamiList: # Guami (Globally Unique AMF ID) list supported by this AMF
# <GUAMI> = <MCC><MNC><AMF ID>
- plmnId: # Public Land Mobile Network ID, <PLMN ID> = <MCC><MNC>
- mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 01 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
amfId: cafe00 # AMF identifier (3 bytes hex string, range: 000000~FFFFFF)
supportTaiList: # the TAI (Tracking Area Identifier) list supported by this AMF
- plmnId: # Public Land Mobile Network ID, <PLMN ID> = <MCC><MNC>
- mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 01 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
tac: 000001 # Tracking Area Code (3 bytes hex string, range: 000000~FFFFFF)
plmnSupportList: # the PLMNs (Public land mobile network) list supported by this AMF
- plmnId: # Public Land Mobile Network ID, <PLMN ID> = <MCC><MNC>
- mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 01 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
snssaiList: # the S-NSSAI (Single Network Slice Selection Assistance Information) list supported by this AMF
- sst: 1 # Slice/Service Type (uinteger, range: 0~255)
sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
- ausfcfg.yaml
--- ausfcfg.yaml.orig 2023-06-17 13:32:30.937184630 +0900
+++ ausfcfg.yaml 2023-06-17 13:44:45.741848358 +0900
@@ -15,8 +15,8 @@
- nausf-auth # Nausf_UEAuthentication service
nrfUri: http://127.0.0.10:8000 # a valid URI of NRF
plmnSupportList: # the PLMNs (Public Land Mobile Network) list supported by this AUSF
- - mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ - mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 01 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
- mcc: 123 # Mobile Country Code (3 digits string, digit: 0~9)
mnc: 45 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
groupId: ausfGroup001 # ID for the group of the AUSF
- nrfcfg.yaml
--- nrfcfg.yaml.orig 2023-06-17 13:32:30.937184630 +0900
+++ nrfcfg.yaml 2023-06-17 13:45:55.575758415 +0900
@@ -14,8 +14,8 @@
pem: cert/nrf.pem # NRF TLS Certificate
key: cert/nrf.key # NRF TLS Private key
DefaultPlmnId:
- mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 001 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
serviceNameList: # the SBI services provided by this NRF, refer to TS 29.510
- nnrf-nfm # Nnrf_NFManagement service
- nnrf-disc # Nnrf_NFDiscovery service
- nssfcfg.yaml
--- nssfcfg.yaml.orig 2023-06-17 13:32:30.937184630 +0900
+++ nssfcfg.yaml 2023-06-17 13:46:37.986325676 +0900
@@ -17,12 +17,12 @@
- nnssf-nssaiavailability # Nnssf_NSSAIAvailability service
nrfUri: http://127.0.0.10:8000 # a valid URI of NRF
supportedPlmnList: # the PLMNs (Public land mobile network) list supported by this NSSF
- - mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ - mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 01 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
supportedNssaiInPlmnList: # Supported S-NSSAI List for each PLMN
- plmnId: # Public Land Mobile Network ID, <PLMN ID> = <MCC><MNC>
- mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 01 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
supportedSnssaiList: # Supported S-NSSAIs of the PLMN
- sst: 1 # Slice/Service Type (uinteger, range: 0~255)
sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
- smfcfg.yaml
--- smfcfg.yaml.orig 2023-06-17 13:32:30.937184630 +0900
+++ smfcfg.yaml 2023-06-17 13:53:16.643854000 +0900
@@ -34,22 +34,22 @@
ipv4: 8.8.8.8
ipv6: 2001:4860:4860::8888
plmnList: # the list of PLMN IDs that this SMF belongs to (optional, remove this key when unnecessary)
- - mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
- mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+ - mcc: 001 # Mobile Country Code (3 digits string, digit: 0~9)
+ mnc: 01 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
locality: area1 # Name of the location where a set of AMF, SMF, PCF and UPFs are located
pfcp: # the IP address of N4 interface on this SMF (PFCP)
# addr config is deprecated in smf config v1.0.3, please use the following config
- nodeID: 127.0.0.1 # the Node ID of this SMF
- listenAddr: 127.0.0.1 # the IP/FQDN of N4 interface on this SMF (PFCP)
- externalAddr: 127.0.0.1 # the IP/FQDN of N4 interface on this SMF (PFCP)
+ nodeID: 192.168.14.141 # the Node ID of this SMF
+ listenAddr: 192.168.14.141 # the IP/FQDN of N4 interface on this SMF (PFCP)
+ externalAddr: 192.168.14.141 # the IP/FQDN of N4 interface on this SMF (PFCP)
userplaneInformation: # list of userplane information
upNodes: # information of userplane node (AN or UPF)
gNB1: # the name of the node
type: AN # the type of the node (AN or UPF)
UPF: # the name of the node
type: UPF # the type of the node (AN or UPF)
- nodeID: 127.0.0.8 # the Node ID of this UPF
- addr: 127.0.0.8 # the IP/FQDN of N4 interface on this UPF (PFCP)
+ nodeID: 192.168.14.151 # the Node ID of this UPF
+ addr: 192.168.14.151 # the IP/FQDN of N4 interface on this UPF (PFCP)
sNssaiUpfInfos: # S-NSSAI information list for this UPF
- sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
sst: 1 # Slice/Service Type (uinteger, range: 0~255)
@@ -72,7 +72,7 @@
interfaces: # Interface list for this UPF
- interfaceType: N3 # the type of the interface (N3 or N9)
endpoints: # the IP address of this N3/N9 interface on this UPF
- - 127.0.0.8
+ - 192.168.13.151
networkInstances: # Data Network Name (DNN)
- internet
links: # the topology graph of userplane, A and B represent the two nodes of each link
@@ -91,6 +91,7 @@
nrfUri: http://127.0.0.10:8000 # a valid URI of NRF
#urrPeriod: 10 # default usage report period in seconds
#urrThreshold: 1000 # default usage report threshold in bytes
+ ulcl: false
logger: # log output setting
enable: true # true or false
I attached the entire config files just in case. config.zip
PCAP File
Log File
2023-06-20T19:26:52.848850008+09:00 [INFO][SMF][PduSess] Sending PFCP Session Establishment Request
2023-06-20T19:26:52.849866879+09:00 [INFO][AMF][Gmm][amf_ue_ngap_id:RU:1,AU:1(3GPP)][supi:SUPI:imsi-001010000000000] create smContext[pduSessionID: 1] Success
2023-06-20T19:26:52.852344722+09:00 [INFO][SMF][PduSess] Received PFCP Session Establishment Not Accepted Response
- PFCP Session Establishment Request (pcap)
Frame 1397: 379 bytes on wire (3032 bits), 379 bytes captured (3032 bits)
Linux cooked capture v2
Internet Protocol Version 4, Src: 192.168.14.141, Dst: 192.168.14.151
User Datagram Protocol, Src Port: 8805, Dst Port: 8805
Packet Forwarding Control Protocol
Flags: 0x23, Message Priority (MP), SEID (S)
Message Type: PFCP Session Establishment Request (50)
Length: 327
SEID: 0x0000000000000000
Sequence Number: 2
.... .... .... .... 0000 .... = Message Priority: 0
.... 0000 = Spare: 0
Node ID : IPv4 address: 192.168.14.141
F-SEID : SEID: 0x0000000000000001, IPv4 192.168.14.141
Create PDR : [Grouped IE]: PDR ID: 1
IE Type: Create PDR (1)
IE Length: 86
PDR ID : 1
Precedence : 255
PDI : [Grouped IE]
IE Type: PDI (2)
IE Length: 39
Source Interface : Access
F-TEID : TEID: 0x00000001, IPv4 192.168.13.151
--> Network Instance : internet
IE Type: Network Instance (22)
IE Length: 8
Network Instance: internet
UE IP Address :
Outer Header Removal : GTP-U/UDP/IPv4
FAR ID : Dynamic by CP 1
QER ID : Dynamic by CP 2
QER ID : Dynamic by CP 1
Create PDR : [Grouped IE]: PDR ID: 2
Create FAR : [Grouped IE]: FAR ID: Dynamic by CP 1
Create FAR : [Grouped IE]: FAR ID: Dynamic by CP 2
Create QER : [Grouped IE]: QER ID: Dynamic by CP 2
Create QER : [Grouped IE]: QER ID: Dynamic by CP 1
PDN Type : IPv4
[Response In: 1404]
- PFCP Session Establishment Response (pcap)
Frame 1404: 159 bytes on wire (1272 bits), 159 bytes captured (1272 bits)
Linux cooked capture v2
Internet Protocol Version 4, Src: 192.168.14.151, Dst: 192.168.14.141
User Datagram Protocol, Src Port: 8805, Dst Port: 8805
Packet Forwarding Control Protocol
Flags: 0x21, SEID (S)
Message Type: PFCP Session Establishment Response (51)
Length: 107
SEID: 0x0000000000000001
Sequence Number: 2
Spare: 0
Node ID : FQDN: 192.168.14.151
IE Type: Node ID (60)
IE Length: 16
0000 .... = Spare: 0
.... 0010 = Address Type: FQDN (2)
FQDN: 192.168.14.151
Cause : Rule creation / modification Failure
IE Type: Cause (19)
IE Length: 1
Cause: Rule creation / modification Failure (73)
Error Report : [Grouped IE]
Enterprise specific IE Type: 32774
IE Length: 42
Enterprise ID: Travelping GmbH (18681)
--> Error Message : PDR ID 1, unknown Network Instance
Enterprise specific IE Type: 32775
IE Length: 36
Enterprise ID: Travelping GmbH (18681)
Error Message: PDR ID 1, unknown Network Instance
F-SEID : SEID: 0x0000000000000001, IPv4 192.168.14.151
IE Type: F-SEID (57)
IE Length: 13
0... .... = Spare: 0
.0.. .... = Spare: 0
..0. .... = Spare: 0
...0 .... = Spare: 0
.... 0... = Spare: 0
.... .0.. = Spare: 0
.... ..1. = V4 (IPv4): Present
.... ...0 = V6 (IPv6): Not Present
SEID: 0x0000000000000001
IPv4 address: 192.168.14.151
Failed Rule ID : PDR: 1
IE Type: Failed Rule ID (114)
IE Length: 3
.... .000 = Failed Rule ID Type: PDR (0)
Rule ID: 1
[Response To: 1397]
[Response Time: 0.003092000 seconds]
Any idea why PFCP Session Establishment is successful in free5GC v3.2.1 but fails in v3.3.0?
Best regards,
–Shigeru
System architecture (Option)
Walkthrough (Option)
Additional context
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 24 (23 by maintainers)
Commits related to this issue
- update amf/smf/nrf hash amf: Implement uncomprehended IE handling smf: fix: GitHub Issue #457 nrf: Fix nil-pointer panic in access_token.go — committed to free5gc/free5gc by tim-ywliu a year ago
Hi @ianchen0119
Sure!
I would be very glad if you could link to my repository.
Thanks!