Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy eUPF with OAI core #473

Closed
5 of 6 tasks
pirog-spb opened this issue Nov 2, 2023 · 15 comments · Fixed by #490
Closed
5 of 6 tasks

Deploy eUPF with OAI core #473

pirog-spb opened this issue Nov 2, 2023 · 15 comments · Fixed by #490
Assignees

Comments

@pirog-spb
Copy link
Collaborator

pirog-spb commented Nov 2, 2023

  • Try to connect eUPF with OAI in docker-compose
  • Find out how to configure OAI SMF connection to UPF (!)
  • Compare signalling messages with and without eUPF
  • Research OAI site, habr, medium, reddit, linkedin to get mode info about deployment of OAI
  • Find compatible versions of UE-gNB-Core components
  • Verify 0-scenario (!)
@PapaySail
Copy link
Collaborator

PapaySail commented Nov 4, 2023

OAI Full Stack 5G-NR L2 simulation with containers and a proxy started is in #340

There is config parameters regarding UPF in docker-compose.yaml:

    oai-smf:
        container_name: "l2sim-oai-smf"
        image: oaisoftwarealliance/oai-smf:v1.5.0
        environment:

            - UPF_IPV4_ADDRESS=192.168.71.134
            - UPF_FQDN_0=oai-spgwu
            - DISCOVER_UPF=yes
            - UE_MTU=1500
            # Only one slice is defined (1, 0xFFFFFF)
            - DNN_NI0=oai
            - TYPE0=IPv4
            - DNN_RANGE0=12.1.1.2 - 12.1.1.127
            - NSSAI_SST0=1

    oai-spgwu:
        container_name: "l2sim-oai-spgwu"
        image: oaisoftwarealliance/oai-spgwu-tiny:v1.5.0
        environment:
            - TZ=Europe/Paris
            - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0
            - SGW_INTERFACE_NAME_FOR_SX=eth0
            - PGW_INTERFACE_NAME_FOR_SGI=eth0
            - NETWORK_UE_NAT_OPTION=yes
            - NETWORK_UE_IP=12.1.1.0/24
            - ENABLE_5G_FEATURES=yes
            - REGISTER_NRF=yes
            - USE_FQDN_NRF=yes
            - UPF_FQDN_5G=oai-spgwu
            - NRF_IPV4_ADDRESS=192.168.71.130
            - NRF_FQDN=oai-nrf
            # Only one slice is defined (1, 0xFFFFFF)
            - NSSAI_SST_0=1
            - NSSAI_SD_0=0xffffff
            - DNN_0=oai
        depends_on:
            - oai-nrf
            - oai-smf
        cap_add:
            - NET_ADMIN
            - SYS_ADMIN
        cap_drop:
            - ALL
        privileged: true
        networks:
            public_net:
                ipv4_address: 192.168.71.134
            traffic_net:
                ipv4_address: 192.168.72.134

I will take https://github.com/edgecomllc/free5gc-compose/blob/master/docker-compose.override.yml + ./nat + eupf/entrypoint.sh with some changes. And run commands:

sudo docker-compose up -d mysql oai-nrf oai-amf oai-smf edgecom-nat 
sudo docker-compose up -d  oai-gnb
sudo docker-compose up -d oai-nr-ue0

@PapaySail
Copy link
Collaborator

Re-checking how it works with original OAI spgwu
I see - it use host's ens3 interface and IP addr for GTP tunnel

gNB's log:

l2sim-oai-gnb  | 2023-11-09T06:39:12.767011327Z 4355918.969572 00000001 [GNB_APP] I default drx 0
l2sim-oai-gnb  | 2023-11-09T06:39:12.767047344Z 4355918.969586 00000001 [GNB_APP] I [gNB 0] gNB_app_register for instance 0
l2sim-oai-gnb  | 2023-11-09T06:39:12.767051606Z 4355918.969591 00000001 [UTIL] I Creating thread TASK_SCTP with affinity -1 and priority 50
l2sim-oai-gnb  | 2023-11-09T06:39:12.775436501Z 4355918.977871 00000001 [ITTI] I Created Posix thread TASK_SCTP
l2sim-oai-gnb  | 2023-11-09T06:39:12.775560259Z 4355918.978110 00000001 [X2AP] I X2AP is disabled.
l2sim-oai-gnb  | 2023-11-09T06:39:12.775683650Z 4355918.978240 00000001 [NGAP] D Configuration in the file: ens3.
l2sim-oai-gnb  | 2023-11-09T06:39:12.775725494Z 4355918.978297 00000001 [NGAP] D Configuration in the file: 188.120.232.247.
l2sim-oai-gnb  | 2023-11-09T06:39:12.775784022Z 4355918.978345 00000001 [UTIL] I Creating thread TASK_NGAP with affinity -1 and priority 50
l2sim-oai-gnb  | 2023-11-09T06:39:12.786292579Z 4355918.988703 00000016 [NGAP] I Starting NGAP layer
l2sim-oai-gnb  | 2023-11-09T06:39:12.786401141Z 4355918.988957 00000001 [ITTI] I Created Posix thread TASK_NGAP
l2sim-oai-gnb  | 2023-11-09T06:39:12.786464152Z 4355918.989021 00000001 [UTIL] I Creating thread TASK_GNB_APP with affinity -1 and priority 50
l2sim-oai-gnb  | 2023-11-09T06:39:12.787762871Z 4355918.989629 00000016 [NGAP] I Registered new gNB[0] and macro gNB id 3584
l2sim-oai-gnb  | 2023-11-09T06:39:12.787771276Z 4355918.989642 00000016 [NGAP] I [gNB 0] check the amf registration state
l2sim-oai-gnb  | 2023-11-09T06:39:12.789809407Z 4355918.992035 00000016 [NGAP] I 3584 -> 0000e000
l2sim-oai-gnb  | 2023-11-09T06:39:12.792499653Z 4355918.995019 00000016 [NGAP] I servedGUAMIs.list.count 1
l2sim-oai-gnb  | 2023-11-09T06:39:12.792521343Z 4355918.995038 00000016 [NGAP] I PLMNSupportList.list.count 1
l2sim-oai-gnb  | 2023-11-09T06:39:12.792525847Z 4355918.995041 00000016 [NGAP] I PLMNSupportList.list.count 1
l2sim-oai-gnb  | 2023-11-09T06:39:12.798248220Z 4355918.999736 00000001 [ITTI] I Created Posix thread TASK_GNB_APP
l2sim-oai-gnb  | 2023-11-09T06:39:12.798277941Z 4355918.999795 00000001 [NR_RRC] I Creating NR RRC gNB Task, that will also create TASKS
l2sim-oai-gnb  | 2023-11-09T06:39:12.798282055Z 4355918.999810 00000001 [UTIL] I Creating thread TASK_RRC_GNB with affinity -1 and priority 50
l2sim-oai-gnb  | 2023-11-09T06:39:12.800766216Z 4355919.000773 00000019 [GNB_APP] I [gNB 0] Received NGAP_REGISTER_GNB_CNF: associated AMF 1
l2sim-oai-gnb  | 2023-11-09T06:39:12.807547503Z 4355919.009281 00000001 [ITTI] I Created Posix thread TASK_RRC_GNB
l2sim-oai-gnb  | 2023-11-09T06:39:12.807815026Z 4355919.009454 00000001 [GTPU] I Configuring GTPu
l2sim-oai-gnb  | 2023-11-09T06:39:12.807821623Z 4355919.009525 00000001 [GTPU] I SA mode
l2sim-oai-gnb  | 2023-11-09T06:39:12.807842350Z 4355919.010165 00000001 [GTPU] I Configuring GTPu address : 188.120.232.247, port : 2152
l2sim-oai-gnb  | 2023-11-09T06:39:12.807846539Z 4355919.010203 00000001 [GTPU] I Initializing UDP for local address 188.120.232.247 with port 2152
l2sim-oai-gnb  | 2023-11-09T06:39:12.807850128Z 4355919.010243 0000001c [NR_RRC] I Entering main loop of NR_RRC message task
l2sim-oai-gnb  | 2023-11-09T06:39:12.807853418Z 4355919.010264 0000001c [NR_RRC] I Received F1 Setup Request from gNB_DU 3584 (gnb-l2sim-vnf) on assoc_id 0
l2sim-oai-gnb  | 2023-11-09T06:39:12.807856854Z 4355919.010284 00000001 [GTPU] I Created gtpu instance id: 101

@PapaySail
Copy link
Collaborator

PapaySail commented Nov 11, 2023

Well, when our eupf container started, th interface is l2sim-public:

Details

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ip r get 192.168.71.134
192.168.71.134 dev l2sim-public src 192.168.71.129 uid 1002
    cache
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ip r |grep  192.168.71
192.168.71.128/26 dev l2sim-public proto kernel scope link src 192.168.71.129

So, I'll put it in the gNb config file:

nano ../../conf_files/gnb.sa.band78.106prb.l2sim.conf
    NETWORK_INTERFACES :
    {
        GNB_INTERFACE_NAME_FOR_NG_AMF            = "ens3";
        GNB_IPV4_ADDRESS_FOR_NG_AMF              = "188.120.232.247";
        GNB_INTERFACE_NAME_FOR_NGU               = "l2sim-public";
        GNB_IPV4_ADDRESS_FOR_NGU                 = "192.168.71.129";
        GNB_PORT_FOR_NGU                         = 2152; # Spec 2152
    };

sudo docker-compose up -d oai-gnb

Resulting log gNb is listening at port 2152 of specified interface. No further connection to UPF:

Details

sudo docker-compose logs -tf  oai-gnb
...
l2sim-oai-gnb  | 2023-11-11T09:03:50.722368492Z 4537396.923772 00000001 [GTPU] I Configuring GTPu address : 192.168.71.129, port : 2152
l2sim-oai-gnb  | 2023-11-11T09:03:50.722387700Z 4537396.923779 00000001 [GTPU] I Initializing UDP for local address 192.168.71.129 with port 2152
l2sim-oai-gnb  | 2023-11-11T09:03:50.722391377Z 4537396.923834 00000001 [GTPU] I Created gtpu instance id: 101
l2sim-oai-gnb  | 2023-11-11T09:03:50.722394623Z 4537396.923841 00000001 [UTIL] I Creating thread TASK_GTPV1_U with affinity -1 and priority 50
l2sim-oai-gnb  | 2023-11-11T09:03:50.730501635Z 4537396.932866 00000001 [ITTI] I Created Posix thread TASK_GTPV1_U


sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo ss -tunlp |grep 215
udp   UNCONN 0      0       192.168.71.129:2152       0.0.0.0:*    users:(("nr-softmodem",pid=1462159,fd=101))

@pirog-spb
Copy link
Collaborator Author

pirog-spb commented Nov 21, 2023

First, let's make smf connect upf.

In order to do it - disable UPF discovery:

    oai-smf:
        container_name: "l2sim-oai-smf"
        image: oaisoftwarealliance/oai-smf:v1.5.0
        environment:
            - ...
            - DISCOVER_UPF=no
            - ...

After that SMF try to connect to UPF. eUPF doesn't send Recovery Timestamp in response...

@pirog-spb pirog-spb linked a pull request Nov 21, 2023 that will close this issue
@pirog-spb
Copy link
Collaborator Author

I've added Recovery Timestamp in response in the linked branch. Now it's ok. @PapaySail you can go further

@PapaySail
Copy link
Collaborator

PapaySail commented Nov 22, 2023

   - DISCOVER_UPF=no

OK. SMF-UPF sessioin established

Logs

sudo docker-compose logs -n 20 edgecom-upf

eupf  | 2023/11/22 07:43:23 INF Got Association Setup Request from: 192.168.71.133.
eupf  |
eupf  |
eupf  | 2023/11/22 07:43:23 INF
eupf  | Association Setup Request:
eupf  |   Node ID: 192.168.71.133
eupf  |   Recovery Time: 2023-11-22 07:43:23 +0000 UTC
eupf  |
eupf  |
eupf  | 2023/11/22 07:43:23 WRN Association Setup Request with NodeID: 192.168.71.133 from: 192.168.71.133 already exists
eupf  | 2023/11/22 07:43:23 WRN Session retention is not yet implemented
eupf  | 2023/11/22 07:43:23 INF Saving new association: &{ID:192.168.71.133 Addr:192.168.71.133 NextSessionID:1 NextSequenceID:1 Sessions:map[] HeartbeatRetries:0 cancelRetries:<nil>}

sudo docker-compose logs oai-smf |less

l2sim-oai-smf  | [2023-11-22T07:43:23.774539] [smf] [smf_app] [debug] Start a PFCP Association procedure with an UPF
l2sim-oai-smf  | [2023-11-22T07:43:23.774556] [smf] [sbi_srv] [info ] HTTP2 server started
l2sim-oai-smf  | [2023-11-22T07:43:23.774565] [smf] [smf_app] [debug] Resolving an FQDN/IP Addr for an UPF node
l2sim-oai-smf  | [2023-11-22T07:43:23.774583] [smf] [smf_app] [debug] Resolving an IP address (name 192.168.71.134)
l2sim-oai-smf  | [2023-11-22T07:43:23.774589] [smf] [smf_app] [debug] Reverse Resolving Try #0
l2sim-oai-smf  | [2023-11-22T07:43:23.776579] [smf] [smf_app] [debug] Resolve IP Addr 192.168.71.134, FQDN eupf.l2sim-oai-public-net
l2sim-oai-smf  | [2023-11-22T07:43:23.777056] [smf] [smf_n4 ] [info ] handle_receive(16 bytes)
l2sim-oai-smf  | [2023-11-22T07:43:23.777101] [smf] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 1 length 12
l2sim-oai-smf  | [2023-11-22T07:43:23.780294] [smf] [smf_n4 ] [info ] handle_receive(36 bytes)
l2sim-oai-smf  | [2023-11-22T07:43:23.780356] [smf] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 6 length 32
l2sim-oai-smf  | [2023-11-22T07:43:23.780368] [smf] [smf_n4 ] [info ] Received N4 ASSOCIATION SETUP RESPONSE from an UPF
l2sim-oai-smf  | [2023-11-22T07:43:23.780381] [smf] [smf_n4 ] [info ] Received N4 ASSOCIATION SETUP RESPONSE
l2sim-oai-smf  | [2023-11-22T07:43:23.780388] [smf] [smf_app] [debug] Resolving an FQDN/IP Addr for an UPF node
l2sim-oai-smf  | [2023-11-22T07:43:23.780404] [smf] [smf_app] [debug] Resolving an IP address (name 192.168.71.134)
l2sim-oai-smf  | [2023-11-22T07:43:23.780424] [smf] [smf_app] [debug] Reverse Resolving Try #0
l2sim-oai-smf  | [2023-11-22T07:43:23.780859] [smf] [smf_app] [debug] Resolve IP Addr 192.168.71.134, FQDN eupf.l2sim-oai-public-net
l2sim-oai-smf  | [2023-11-22T07:43:23.780873] [smf] [smf_app] [info ] Cannot connect UPF to other nodes in the graph as it has no profile, just add the node
l2sim-oai-smf  | [2023-11-22T07:43:23.780875] [smf] [smf_app] [info ] Assume that the UPF has a N3 and a N6 interface.
l2sim-oai-smf  | [2023-11-22T07:43:23.780884] [smf] [smf_app] [debug] Successfully added UPF node: , (2252843200)
l2sim-oai-smf  | [2023-11-22T07:43:23.780892] [smf] [smf_app] [debug] Successfully added UPF graph edge for : N3()
l2sim-oai-smf  | [2023-11-22T07:43:23.780905] [smf] [smf_app] [debug] Successfully added UPF graph edge for : N6()
l2sim-oai-smf  | [2023-11-22T07:43:23.780912] [smf] [smf_app] [debug] UPF graph
l2sim-oai-smf  | [2023-11-22T07:43:23.780915] [smf] [smf_app] [debug] * 2252843200 --> N3(), N6(),
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-11-22T07:43:23.780918] [smf] [smf_app] [debug] NF instance info
l2sim-oai-smf  | [2023-11-22T07:43:23.780920] [smf] [smf_app] [debug]   Instance ID:
l2sim-oai-smf  | [2023-11-22T07:43:23.780922] [smf] [smf_app] [debug]   Instance name:
l2sim-oai-smf  | [2023-11-22T07:43:23.780924] [smf] [smf_app] [debug]   Instance type: UPF
l2sim-oai-smf  | [2023-11-22T07:43:23.780926] [smf] [smf_app] [debug]   Status:
l2sim-oai-smf  | [2023-11-22T07:43:23.780928] [smf] [smf_app] [debug]   HeartBeat timer: 0
l2sim-oai-smf  | [2023-11-22T07:43:23.780930] [smf] [smf_app] [debug]   Priority: 0
l2sim-oai-smf  | [2023-11-22T07:43:23.780932] [smf] [smf_app] [debug]   Capacity: 0

sudo docker-compose up -d oai-gnb
sudo docker-compose up -d proxy oai-nr-ue0
OK at eupf:
sudo docker-compose logs -n 20 edgecom-upf

eupf  | ESC[90m2023/11/22 08:05:54ESC[0m ESC[32mINFESC[0m Got Session Establishment Request from: 192.168.71.133.
eupf  | ESC[90m2023/11/22 08:05:54ESC[0m ESC[32mINFESC[0m
eupf  | Session Establishment Request:
eupf  |   CreatePDR ID: 1
eupf  |     Outer Header Removal: 0
eupf  |     FAR ID: 1
eupf  |     Source Interface: 0
eupf  |     TEID: 0
eupf  |     Ipv4: <nil>
eupf  |     Ipv6: <nil>
eupf  |     UE IPv4 Address: 12.1.1.3
eupf  |   CreateFAR ID: 1
eupf  |     Apply Action: [2]
eupf  |     Forwarding Parameters:
eupf  |
eupf  |
eupf  | ESC[90m2023/11/22 08:05:54ESC[0m ESC[32mINFESC[0m WARN: No OuterHeaderCreation
eupf  | ESC[90m2023/11/22 08:05:54ESC[0m ESC[32mINFESC[0m Saving FAR info to session: 1, {Action:2 OuterHeaderCreation:0 Teid:0 RemoteIP:0 LocalIP:2252843200 TransportLevelMarking:0}
eupf  | ESC[90m2023/11/22 08:05:54ESC[0m ESC[32mINFESC[0m Session Establishment Request from 192.168.71.133 accepted.

but interface oaitun_ue1 is down 🤷‍♂️

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ip a |grep oai
8050: br-oainfapi-n6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    inet 10.100.250.1/24 brd 10.100.250.255 scope global br-oainfapi-n6
8058: veth1236506@if8057: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-oainfapi-n6 state UP group default
8089: vethfd37653@if8088: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-oainfapi-n6 state UP group default
8099: oaitun_ue1: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 500
logs UE

sudo docker-compose logs -t oai-nr-ue0 |less

l2sim-oai-nr-ue0  | 2023-11-22T08:05:52.748013695Z 5484318.950452 0000002e [NAS] I [UE 0] Received NAS_CONN_ESTABLI_CNF: errCode 1, length 50
l2sim-oai-nr-ue0  | 2023-11-22T08:05:52.748016962Z 5484318.950466 0000002e [NAS] I [UE] Received REGISTRATION ACCEPT message
l2sim-oai-nr-ue0  | 2023-11-22T08:05:53.748888070Z 5484319.951279 0000002e [NAS] I Send NAS_UPLINK_DATA_REQ message(RegistrationComplete)
l2sim-oai-nr-ue0  | 2023-11-22T08:05:53.748933329Z 5484319.951297 0000002b [NR_RRC] I [UE 0] Received NAS_UPLINK_DATA_REQ: UEid 0
l2sim-oai-nr-ue0  | 2023-11-22T08:05:53.764653236Z 5484319.967080 0000002e [NAS] I Send NAS_UPLINK_DATA_REQ message(PduSessionEstablishRequest)
l2sim-oai-nr-ue0  | 2023-11-22T08:05:53.764687073Z 5484319.967098 0000002b [NR_RRC] I [UE 0] Received NAS_UPLINK_DATA_REQ: UEid 0

SMF
sudo docker-compose logs -t oai-smf |less

l2sim-oai-smf  | 2023-11-22T08:05:54.071774593Z [2023-11-22T08:05:54.071676] [smf] [sbi_srv] [debug]
l2sim-oai-smf  | 2023-11-22T08:05:54.071795166Z [2023-11-22T08:05:54.071703] [smf] [sbi_srv] [info ] Received a SM context create request from AMF.
l2sim-oai-smf  | 2023-11-22T08:05:54.071798960Z [2023-11-22T08:05:54.071729] [smf] [smf_app] [debug] Parsing the message with Simple Parser
l2sim-oai-smf  | 2023-11-22T08:05:54.071802848Z [2023-11-22T08:05:54.071736] [smf] [smf_app] [debug] Boundary: ----Boundary
l2sim-oai-smf  | 2023-11-22T08:05:54.071806690Z [2023-11-22T08:05:54.071742] [smf] [smf_app] [debug] Content Type: application/json
l2sim-oai-smf  | 2023-11-22T08:05:54.071813610Z [2023-11-22T08:05:54.071761] [smf] [smf_app] [debug] Body: {"anType":"3GPP_ACCESS","dnn":"oai","gpsi":"msisdn-200000000001","n1MessageContainer":{"n1MessageClass":"SM","n1MessageContent":{"contentId":"n1SmMsg"}},"pduSessionId":10,"pei":"imei-200000000000001","requestType":"INITIAL_REQUEST","sNssai":{"sd":"16777215","sst":1},"servingNetwork":{"mcc":"208","mnc":"99"},"servingNfId":"servingNfId","smContextStatusUri":"http://192.168.71.132:80/nsmf-pdusession/callback/imsi-208990100001100/10","supi":"imsi-208990100001100"}
l2sim-oai-smf  | 2023-11-22T08:05:54.071821154Z [2023-11-22T08:05:54.071768] [smf] [smf_app] [debug] Content Type: application/vnd.3gpp.5gnas
l2sim-oai-smf  | 2023-11-22T08:05:54.071831491Z [2023-11-22T08:05:54.071771] [smf] [smf_app] [debug] Body: .
l2sim-oai-smf  | 2023-11-22T08:05:54.071835687Z ^A____
l2sim-oai-smf  | 2023-11-22T08:05:54.071840040Z [2023-11-22T08:05:54.071776] [smf] [sbi_srv] [debug] Number of MIME parts 2
l2sim-oai-smf  | 2023-11-22T08:05:54.071931703Z [2023-11-22T08:05:54.071853] [smf] [sbi_srv] [info ] PDU Session Create SM Context Request.
l2sim-oai-smf  | 2023-11-22T08:05:54.071951906Z [2023-11-22T08:05:54.071858] [smf] [sbi_srv] [debug] Create a pdu_session_create_sm_context_request message and store the necessary information
l2sim-oai-smf  | 2023-11-22T08:05:54.071970030Z [2023-11-22T08:05:54.071863] [smf] [smf_app] [debug] Convert SmContextMessage (OpenAPI) to PDUSession_CreateSMContext
l2sim-oai-smf  | 2023-11-22T08:05:54.071974597Z [2023-11-22T08:05:54.071885] [smf] [smf_app] [debug] N1 SM message: .
l2sim-oai-smf  | 2023-11-22T08:05:54.071978428Z ^A____
l2sim-oai-smf  | 2023-11-22T08:05:54.071982077Z [2023-11-22T08:05:54.071890] [smf] [smf_app] [debug] SUPI imsi-208990100001100, SUPI Prefix imsi, IMSI 208990100001100
l2sim-oai-smf  | 2023-11-22T08:05:54.071996669Z [2023-11-22T08:05:54.071892] [smf] [smf_app] [debug] DNN oai
l2sim-oai-smf  | 2023-11-22T08:05:54.072000153Z [2023-11-22T08:05:54.071895] [smf] [smf_app] [debug] S-NSSAI SST 1, SD 16777215
l2sim-oai-smf  | 2023-11-22T08:05:54.072003527Z [2023-11-22T08:05:54.071904] [smf] [smf_app] [debug] PDU Session ID 10
l2sim-oai-smf  | 2023-11-22T08:05:54.072006581Z [2023-11-22T08:05:54.071908] [smf] [smf_app] [debug] ServingNfId servingNfId
l2sim-oai-smf  | 2023-11-22T08:05:54.072009776Z [2023-11-22T08:05:54.071911] [smf] [smf_app] [debug] RequestType INITIAL_REQUEST
l2sim-oai-smf  | 2023-11-22T08:05:54.072013564Z [2023-11-22T08:05:54.071913] [smf] [smf_app] [debug] SMContextStatusUri http://192.168.71.132:80/nsmf-pdusession/callback/imsi-208990100001100/10
l2sim-oai-smf  | 2023-11-22T08:05:54.072027309Z [2023-11-22T08:05:54.071917] [smf] [smf_app] [warn ] No SelMode available
l2sim-oai-smf  | 2023-11-22T08:05:54.072030994Z [2023-11-22T08:05:54.071919] [smf] [smf_app] [debug] Serving Network (MCC 208, MNC 99)
l2sim-oai-smf  | 2023-11-22T08:05:54.072034175Z [2023-11-22T08:05:54.071922] [smf] [smf_app] [debug] AN Type 3GPP_ACCESS
l2sim-oai-smf  | 2023-11-22T08:05:54.072037271Z [2023-11-22T08:05:54.071935] [smf] [sbi_srv] [debug] Promise ID generated 546
l2sim-oai-smf  | 2023-11-22T08:05:54.072040464Z [2023-11-22T08:05:54.071951] [smf] [smf_app] [info ] Handle a PDU Session Create SM Context Request from an AMF (HTTP version 1)
l2sim-oai-smf  | 2023-11-22T08:05:54.072043983Z [2023-11-22T08:05:54.071957] [smf] [smf_n1 ] [info ] Decode NAS message from N1 SM Container.
l2sim-oai-smf  | 2023-11-22T08:05:54.072047222Z Content:  2e  0a  01  c1  ff  ff  91
l2sim-oai-smf  | 2023-11-22T08:05:54.072059376Z [2023-11-22T08:05:54.071974] [smf] [smf_n1 ] [debug] NAS message, Extended Protocol Discriminator 0x2e, PDU Session Identity 0xa, Procedure Transaction Identity 0x1, Message Type 0xc1
l2sim-oai-smf  | 2023-11-22T08:05:54.072063296Z [2023-11-22T08:05:54.071980] [smf] [smf_app] [debug] PDU Session Type 1
l2sim-oai-smf  | 2023-11-22T08:05:54.072078987Z [2023-11-22T08:05:54.071989] [smf] [smf_app] [info ] Handle a PDU Session Create SM Context Request message from AMF, SUPI 208990100001100, SNSSAI SST 1, SD 16777215 (0xffffff)
l2sim-oai-smf  | 2023-11-22T08:05:54.072099022Z [2023-11-22T08:05:54.071996] [smf] [smf_app] [debug] Requested DNN: oai
l2sim-oai-smf  | 2023-11-22T08:05:54.072108919Z [2023-11-22T08:05:54.071999] [smf] [smf_app] [debug] DNN label: ^Coai, dnn: oai
l2sim-oai-smf  | 2023-11-22T08:05:54.072113171Z [2023-11-22T08:05:54.072001] [smf] [smf_app] [debug] DNN matched!
l2sim-oai-smf  | 2023-11-22T08:05:54.072116797Z [2023-11-22T08:05:54.072003] [smf] [smf_app] [debug] PDU Session Type 1, PDN Type 1
.....
l2sim-oai-smf  | 2023-11-22T08:05:54.072242398Z [2023-11-22T08:05:54.072108] [smf] [smf_app] [debug] UE Address Allocation
l2sim-oai-smf  | 2023-11-22T08:05:54.072246880Z [2023-11-22T08:05:54.072110] [smf] [smf_app] [info ] Find a DNN Subscription with key: 4294967041 (SST 1, SD 16777215 (0xffffff)), map size 1
l2sim-oai-smf  | 2023-11-22T08:05:54.072251272Z [2023-11-22T08:05:54.072113] [smf] [smf_app] [info ] Find DNN configuration with DNN oai
l2sim-oai-smf  | 2023-11-22T08:05:54.072255444Z [2023-11-22T08:05:54.072115] [smf] [smf_app] [debug] PDU Session Type IPv4
l2sim-oai-smf  | 2023-11-22T08:05:54.072259192Z [2023-11-22T08:05:54.072122] [smf] [smf_app] [info ] PAA, Ipv4 Address: 12.1.1.3
l2sim-oai-smf  | 2023-11-22T08:05:54.072262926Z [2023-11-22T08:05:54.072137] [smf] [sbi_srv] [debug] AMF IP Addr 192.168.71.132:80
l2sim-oai-smf  | 2023-11-22T08:05:54.072266849Z [2023-11-22T08:05:54.072139] [smf] [smf_app] [debug] Send ITTI msg to SMF APP to trigger the response of Server
l2sim-oai-smf  | 2023-11-22T08:05:54.072270992Z [2023-11-22T08:05:54.072146] [smf] [smf_app] [debug] Trigger PDU Session Create SM Context Response: Set promise with ID 546 to ready
l2sim-oai-smf  | 2023-11-22T08:05:54.072274784Z [2023-11-22T08:05:54.072160] [smf] [smf_app] [debug] Trigger the response from SMF: Set promise with ID 546 to ready
l2sim-oai-smf  | 2023-11-22T08:05:54.072278205Z [2023-11-22T08:05:54.072173] [smf] [smf_app] [info ] Create a procedure to process this message.
l2sim-oai-smf  | 2023-11-22T08:05:54.072297493Z [2023-11-22T08:05:54.072177] [smf] [smf_app] [info ] Perform a procedure - Create SM Context Request
l2sim-oai-smf  | 2023-11-22T08:05:54.072301444Z [2023-11-22T08:05:54.072179] [smf] [smf_app] [info ] Find PDU Session with ID 10
l2sim-oai-smf  | 2023-11-22T08:05:54.072304532Z [2023-11-22T08:05:54.072182] [smf] [smf_app] [info ] Select UPF Node
l2sim-oai-smf  | 2023-11-22T08:05:54.072308329Z [2023-11-22T08:05:54.072188] [smf] [smf_app] [debug] Current UPF info
l2sim-oai-smf  | 2023-11-22T08:05:54.072311720Z [2023-11-22T08:05:54.072194] [smf] [smf_app] [debug]    UPF Node Id: 192.168.71.134
l2sim-oai-smf  | 2023-11-22T08:05:54.072315642Z [2023-11-22T08:05:54.072204] [smf] [smf_app] [debug] Successfully added UPF node: , (2252843200)
l2sim-oai-smf  | 2023-11-22T08:05:54.072319100Z [2023-11-22T08:05:54.072211] [smf] [smf_app] [debug] Successfully added UPF graph edge for : N3()
l2sim-oai-smf  | 2023-11-22T08:05:54.072322635Z [2023-11-22T08:05:54.072215] [smf] [smf_app] [debug] Successfully added UPF graph edge for : N6()
l2sim-oai-smf  | 2023-11-22T08:05:54.072328188Z [2023-11-22T08:05:54.072221] [smf] [smf_app] [info ] Get default QoS for a PDU Session, key 1
l2sim-oai-smf  | 2023-11-22T08:05:54.072338668Z [2023-11-22T08:05:54.072224] [smf] [smf_app] [info ] Find a DNN Subscription with key: 4294967041 (SST 1, SD 16777215 (0xffffff)), map size 1
l2sim-oai-smf  | 2023-11-22T08:05:54.072342086Z [2023-11-22T08:05:54.072226] [smf] [smf_app] [info ] Find DNN configuration with DNN oai
l2sim-oai-smf  | 2023-11-22T08:05:54.072345654Z [2023-11-22T08:05:54.072229] [smf] [smf_app] [info ] Get default QoS rule for a PDU Session (PDU session type 1)
l2sim-oai-smf  | 2023-11-22T08:05:54.072348951Z [2023-11-22T08:05:54.072233] [smf] [smf_app] [debug] Default QoSRules: 1 1 1 1 2 1 1 1 0
l2sim-oai-smf  | 2023-11-22T08:05:54.072352455Z [2023-11-22T08:05:54.072237] [smf] [smf_app] [info ] Add QoS Rule with Rule Id 1
l2sim-oai-smf  | 2023-11-22T08:05:54.072355642Z [2023-11-22T08:05:54.072245] [smf] [smf_app] [debug] DFS Asynch: Handle UPF 2252843200
l2sim-oai-smf  | 2023-11-22T08:05:54.072500238Z [2023-11-22T08:05:54.072271] [smf] [smf_app] [info ] Sending ITTI message 37itti_n4_session_establishment_request to task TASK_SMF_N4
l2sim-oai-smf  | 2023-11-22T08:05:54.072519976Z [2023-11-22T08:05:54.072290] [smf] [sbi_srv] [debug] Got result for promise ID 546
l2sim-oai-smf  | 2023-11-22T08:05:54.073201580Z [2023-11-22T08:05:54.073153] [smf] [smf_n4 ] [info ] handle_receive(47 bytes)
l2sim-oai-smf  | 2023-11-22T08:05:54.073209976Z [2023-11-22T08:05:54.073180] [smf] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 51 length 43
l2sim-oai-smf  | 2023-11-22T08:05:54.073281890Z [2023-11-22T08:05:54.073232] [smf] [smf_app] [debug] Received N4 Session Establishment Response sender teid 0x2  pfcp_tx_id 223
l2sim-oai-smf  | 2023-11-22T08:05:54.073289994Z [2023-11-22T08:05:54.073245] [smf] [smf_app] [info ] Handle N4 Session Establishment Response (PDU Session Id 10)
l2sim-oai-smf  | 2023-11-22T08:05:54.073293952Z [2023-11-22T08:05:54.073257] [smf] [smf_app] [debug] UPF graph in SMF finished
....
l2sim-oai-smf  | 2023-11-22T08:05:54.075437145Z [2023-11-22T08:05:54.074558] [smf] [smf_app] [debug] Got successful response from AMF (response code 200), set session status to PDU_SESSION_ESTABLISHMENT_PENDING
l2sim-oai-smf  | 2023-11-22T08:05:55.861014572Z [2023-11-22T08:05:55.860798] [smf] [smf_app] [info ] TIME-OUT event timer id 945
l2sim-oai-smf  | 2023-11-22T08:05:55.861085064Z [2023-11-22T08:05:55.860828] [smf] [smf_app] [debug] Send ITTI msg to N11 task to trigger NRF Heartbeat
l2sim-oai-smf  | 2023-11-22T08:05:55.861089904Z [2023-11-22T08:05:55.860845] [smf] [smf_app] [debug] Set a timer to the next Heart-beat (10)
l2sim-oai-smf  | 2023-11-22T08:05:55.861093427Z [2023-11-22T08:05:55.860866] [smf] [smf_sbi] [debug] Send NF Update to NRF (HTTP version 1)
l2sim-oai-smf  | 2023-11-22T08:05:55.861097019Z [2023-11-22T08:05:55.860905] [smf] [smf_sbi] [debug] Send NF Update to NRF, Msg body [{"op":"replace","path":"/nfStatus","value":"REGISTERED"}]
l2sim-oai-smf  | 2023-11-22T08:05:55.861101567Z [2023-11-22T08:05:55.860920] [smf] [smf_sbi] [debug] Send NF Update to NRF, NRF URL 192.168.71.130:80/nnrf-nfm/v1/nf-instances/c2f0b96a-5fcb-40c3-ad7d-459abfdba4d8
l2sim-oai-smf  | 2023-11-22T08:05:55.861127753Z [2023-11-22T08:05:55.860928] [smf] [smf_sbi] [debug] Promise ID generated 549
l2sim-oai-smf  | 2023-11-22T08:05:55.861861229Z [2023-11-22T08:05:55.861776] [smf] [smf_app] [debug] Got response with HTTP code  204!

@PapaySail
Copy link
Collaborator

PapaySail commented Nov 27, 2023

with eUPF packet capture
sudo tcpdump -ni l2sim-public -w /tmp/l2sim-public2105.pcap

sudo docker-compose up -d oai-gnb
sudo docker-compose up -d proxy
sudo docker-compose up -d proxy oai-nr-ue0

with image ghcr.io/edgecomllc/eupf:234f109b1000f0ed523d7d3da0a43d77a3b22465
l2sim-public2105.zip

with image ghcr.io/edgecomllc/eupf:main
l2sim-public-eupfmain.zip
There is no activity after NGAP 114 NGSetupResponse.

There is no S-NSSAI SD field

      9 0.000000       188.120.232.247       192.168.71.132        NGAP     126    NGSetupRequest

Frame 9: 126 bytes on wire (1008 bits), 126 bytes captured (1008 bits)
Ethernet II, Src: 02:42:f5:63:4e:73 (02:42:f5:63:4e:73), Dst: 02:42:c0:a8:47:84 (02:42:c0:a8:47:84)
Internet Protocol Version 4, Src: 188.120.232.247, Dst: 192.168.71.132
Stream Control Transmission Protocol, Src Port: 33904 (33904), Dst Port: 38412 (38412)
NG Application Protocol (NGSetupRequest)
    0... .... Extension Bit: False
    Choice Index: 0
    NGAP-PDU: initiatingMessage (0)
        initiatingMessage
            procedureCode: id-NGSetup (21)
            Enumerated Index: 0
            criticality: reject (0)
            Open Type Length: 57
            value
                NGSetupRequest
                    0... .... Extension Bit: False
                    Sequence-Of Length: 4
                    protocolIEs: 4 items
                        Item 0: id-GlobalRANNodeID
                            ProtocolIE-Field
                                id: id-GlobalRANNodeID (27)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 9
                                value
                                    Choice Index: 0
                                    GlobalRANNodeID: globalGNB-ID (0)
                                        globalGNB-ID
                                            ..0. .... Extension Bit: False
                                            ...0 .... Optional Field Bit: False (iE-Extensions is NOT present)
                                            pLMNIdentity: 02f899
                                                Mobile Country Code (MCC): France (208)
                                                Mobile Network Code (MNC): Unknown (99)
                                            Choice Index: 0
                                            gNB-ID: gNB-ID (0)
                        Item 1: id-RANNodeName
                            ProtocolIE-Field
                                id: id-RANNodeName (82)
                                Enumerated Index: 1
                                criticality: ignore (1)
                                Open Type Length: 15
                                value
                                    0... .... Extension Present Bit: False
                                    Octet String Length: 13
                                    RANNodeName: gnb-l2sim-vnf
                        Item 2: id-SupportedTAList
                            ProtocolIE-Field
                                id: id-SupportedTAList (102)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 13
                                value
                                    Sequence-Of Length: 1
                                    SupportedTAList: 1 item
                                        Item 0
                                            SupportedTAItem
                                                0... .... Extension Bit: False
                                                .0.. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                tAC: 1 (0x000001)
                                                Sequence-Of Length: 1
                                                broadcastPLMNList: 1 item
                                                    Item 0
                                                        BroadcastPLMNItem
                                                            .... 0... Extension Bit: False
                                                            .... .0.. Optional Field Bit: False (iE-Extensions is NOT present)
                                                            pLMNIdentity: 02f899
                                                                Mobile Country Code (MCC): France (208)
                                                                Mobile Network Code (MNC): Unknown (99)
                                                            Sequence-Of Length: 1
                                                            tAISliceSupportList: 1 item
                                                                Item 0
                                                                    SliceSupportItem
                                                                        0... .... Extension Bit: False
                                                                        .0.. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                                        s-NSSAI
                                                                            ..0. .... Extension Bit: False
                                                                            ...0 .... Optional Field Bit: False (sD is NOT present)
                                                                            .... 0... Optional Field Bit: False (iE-Extensions is NOT present)
                                                                            sST: 01
                        Item 3: id-DefaultPagingDRX
                            ProtocolIE-Field
                                id: id-DefaultPagingDRX (21)
                                Enumerated Index: 1
                                criticality: ignore (1)
                                Open Type Length: 1
                                value
                                    0... .... Extension Present Bit: False
                                    Enumerated Index: 0
                                    PagingDRX: v32 (0)

     11 0.001326       192.168.71.132        188.120.232.247       NGAP     114    NGSetupResponse

Frame 11: 114 bytes on wire (912 bits), 114 bytes captured (912 bits)
Ethernet II, Src: 02:42:c0:a8:47:84 (02:42:c0:a8:47:84), Dst: 02:42:f5:63:4e:73 (02:42:f5:63:4e:73)
Internet Protocol Version 4, Src: 192.168.71.132, Dst: 188.120.232.247
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 33904 (33904)
NG Application Protocol (NGSetupResponse)
    0... .... Extension Bit: False
    Choice Index: 1
    NGAP-PDU: successfulOutcome (1)
        successfulOutcome
            procedureCode: id-NGSetup (21)
            Enumerated Index: 0
            criticality: reject (0)
            Open Type Length: 45
            value
                NGSetupResponse
                    0... .... Extension Bit: False
                    Sequence-Of Length: 4
                    protocolIEs: 4 items
                        Item 0: id-AMFName
                            ProtocolIE-Field
                                id: id-AMFName (1)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 9
                                value
                                    0... .... Extension Present Bit: False
                                    Octet String Length: 7
                                    AMFName: OAI-AMF
                        Item 1: id-ServedGUAMIList
                            ProtocolIE-Field
                                id: id-ServedGUAMIList (96)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 8
                                value
                                    Sequence-Of Length: 1
                                    ServedGUAMIList: 1 item
                                        Item 0
                                            ServedGUAMIItem
                                                0... .... Extension Bit: False
                                                .0.. .... Optional Field Bit: False (backupAMFName is NOT present)
                                                ..0. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                gUAMI
                                                    ...0 .... Extension Bit: False
                                                    .... 0... Optional Field Bit: False (iE-Extensions is NOT present)
                                                    pLMNIdentity: 02f899
                                                        Mobile Country Code (MCC): France (208)
                                                        Mobile Network Code (MNC): Unknown (99)
                                                    aMFRegionID: 80 [bit length 8, 1000 0000 decimal value 128]
                                                    aMFSetID: 0040 [bit length 10, 6 LSB pad bits, 0000 0000  01.. .... decimal value 1]
                                                    aMFPointer: 00 [bit length 6, 2 LSB pad bits, 0000 00.. decimal value 0]
                        Item 2: id-RelativeAMFCapacity
                            ProtocolIE-Field
                                id: id-RelativeAMFCapacity (86)
                                Enumerated Index: 1
                                criticality: ignore (1)
                                Open Type Length: 1
                                value
                                    RelativeAMFCapacity: 30
                        Item 3: id-PLMNSupportList
                            ProtocolIE-Field
                                id: id-PLMNSupportList (80)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 8
                                value
                                    Sequence-Of Length: 1
                                    PLMNSupportList: 1 item
                                        Item 0
                                            PLMNSupportItem
                                                .... 0... Extension Bit: False
                                                .... .0.. Optional Field Bit: False (iE-Extensions is NOT present)
                                                pLMNIdentity: 02f899
                                                    Mobile Country Code (MCC): France (208)
                                                    Mobile Network Code (MNC): Unknown (99)
                                                Sequence-Of Length: 1
                                                sliceSupportList: 1 item
                                                    Item 0
                                                        SliceSupportItem
                                                            0... .... Extension Bit: False
                                                            .0.. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                            s-NSSAI
                                                                ..0. .... Extension Bit: False
                                                                ...0 .... Optional Field Bit: False (sD is NOT present)
                                                                .... 0... Optional Field Bit: False (iE-Extensions is NOT present)
                                                                sST: 01

📝 GNB & UE v2.0.0 was used

Details

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose ps
[sudo] password for sergo:
NAME                IMAGE                                  COMMAND                  SERVICE             CREATED             STATUS                  PORTS
eupf                ghcr.io/edgecomllc/eupf:main           "sh /app/bin/entrypo_"   edgecom-upf         14 hours ago        Up 14 hours             0.0.0.0:9090->9090/tcp, :::9090->909
0/tcp, 0.0.0.0:8880->8080/tcp, :::8880->8080/tcp
l2sim-mysql         mysql:8.0                              "docker-entrypoint.s_"   mysql               14 hours ago        Up 14 hours (healthy)   3306/tcp, 33060/tcp
l2sim-oai-amf       oaisoftwarealliance/oai-amf:v1.5.1     "python3 /openair-am_"   oai-amf             14 hours ago        Up 14 hours (healthy)   80/tcp, 9090/tcp, 38412/sctp
l2sim-oai-gnb       oaisoftwarealliance/oai-gnb:v2.0.0     "/opt/oai-gnb/bin/en_"   oai-gnb             14 hours ago        Up 14 hours (healthy)
l2sim-oai-nr-ue0    oaisoftwarealliance/oai-nr-ue:v2.0.0   "/opt/oai-nr-ue/bin/_"   oai-nr-ue0          14 hours ago        Up 14 hours (healthy)
l2sim-oai-nrf       oaisoftwarealliance/oai-nrf:v1.5.1     "python3 /openair-nr_"   oai-nrf             14 hours ago        Up 14 hours (healthy)   80/tcp, 9090/tcp
l2sim-oai-smf       oaisoftwarealliance/oai-smf:v1.5.1     "python3 /openair-sm_"   oai-smf             14 hours ago        Up 14 hours (healthy)   80/tcp, 8080/tcp, 8805/udp
l2sim-proxy         oai-lte-multi-ue-proxy:latest          "/oai-lte-multi-ue-p_"   proxy               14 hours ago        Up 14 hours (healthy)
nat                 5g_l2sim_tdd-edgecom-nat               "sh /app/bin/busy-po_"   edgecom-nat         14 hours ago        Up 14 hours

@PapaySail
Copy link
Collaborator

PapaySail commented Nov 27, 2023

standart OAI with spgwu (without eUPF) successfull connection. Packet capture:
sudo tcpdump -ni l2sim-public -w /tmp/l2sim-public-spgwu.pcap
l2sim-public-spgwu.zip

ℹ image: oaisoftwarealliance/oai-gnb:develop

with field sD: ffffff

    135 0.000000       188.120.232.247       192.168.71.132        NGAP     126    NGSetupRequest

Frame 135: 126 bytes on wire (1008 bits), 126 bytes captured (1008 bits)
Ethernet II, Src: 02:42:ac:52:6d:d7 (02:42:ac:52:6d:d7), Dst: 02:42:c0:a8:47:84 (02:42:c0:a8:47:84)
Internet Protocol Version 4, Src: 188.120.232.247, Dst: 192.168.71.132
Stream Control Transmission Protocol, Src Port: 36904 (36904), Dst Port: 38412 (38412)
NG Application Protocol (NGSetupRequest)
    0... .... Extension Bit: False
    Choice Index: 0
    NGAP-PDU: initiatingMessage (0)
        initiatingMessage
            procedureCode: id-NGSetup (21)
            Enumerated Index: 0
            criticality: reject (0)
            Open Type Length: 57
            value
                NGSetupRequest
                    0... .... Extension Bit: False
                    Sequence-Of Length: 4
                    protocolIEs: 4 items
                        Item 0: id-GlobalRANNodeID
                            ProtocolIE-Field
                                id: id-GlobalRANNodeID (27)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 9
                                value
                                    Choice Index: 0
                                    GlobalRANNodeID: globalGNB-ID (0)
                        Item 1: id-RANNodeName
                            ProtocolIE-Field
                                id: id-RANNodeName (82)
                                Enumerated Index: 1
                                criticality: ignore (1)
                                Open Type Length: 15
                                value
                                    0... .... Extension Present Bit: False
                                    Octet String Length: 13
                                    RANNodeName: gnb-l2sim-vnf
                        Item 2: id-SupportedTAList
                            ProtocolIE-Field
                                id: id-SupportedTAList (102)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 13
                                value
                                    Sequence-Of Length: 1
                                    SupportedTAList: 1 item
                                        Item 0
                                            SupportedTAItem
                                                0... .... Extension Bit: False
                                                .0.. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                tAC: 1 (0x000001)
                                                Sequence-Of Length: 1
                                                broadcastPLMNList: 1 item
                                                    Item 0
                                                        BroadcastPLMNItem
                                                            .... 0... Extension Bit: False
                                                            .... .0.. Optional Field Bit: False (iE-Extensions is NOT present)
                                                            pLMNIdentity: 02f899
                                                            Sequence-Of Length: 1
                                                            tAISliceSupportList: 1 item
                                                                Item 0
                                                                    SliceSupportItem
                                                                        0... .... Extension Bit: False
                                                                        .0.. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                                        s-NSSAI
                                                                            ..0. .... Extension Bit: False
                                                                            ...0 .... Optional Field Bit: False (sD is NOT present)
                                                                            .... 0... Optional Field Bit: False (iE-Extensions is NOT present)
                                                                            sST: 01
                        Item 3: id-DefaultPagingDRX
                            ProtocolIE-Field
                                id: id-DefaultPagingDRX (21)
                                Enumerated Index: 1
                                criticality: ignore (1)
                                Open Type Length: 1
                                value
                                    0... .... Extension Present Bit: False
                                    Enumerated Index: 0
                                    PagingDRX: v32 (0)

    137 0.001672       192.168.71.132        188.120.232.247       NGAP     478    NGSetupResponse

Frame 137: 478 bytes on wire (3824 bits), 478 bytes captured (3824 bits)
Ethernet II, Src: 02:42:c0:a8:47:84 (02:42:c0:a8:47:84), Dst: 02:42:ac:52:6d:d7 (02:42:ac:52:6d:d7)
Internet Protocol Version 4, Src: 192.168.71.132, Dst: 188.120.232.247
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 36904 (36904)
NG Application Protocol (NGSetupResponse)
    0... .... Extension Bit: False
    Choice Index: 1
    NGAP-PDU: successfulOutcome (1)
        successfulOutcome
            procedureCode: id-NGSetup (21)
            Enumerated Index: 0
            criticality: reject (0)
            Open Type Length: 48
            value
                NGSetupResponse
                    0... .... Extension Bit: False
                    Sequence-Of Length: 4
                    protocolIEs: 4 items
                        Item 0: id-AMFName
                            ProtocolIE-Field
                                id: id-AMFName (1)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 9
                                value
                                    0... .... Extension Present Bit: False
                                    Octet String Length: 7
                                    AMFName: OAI-AMF
                        Item 1: id-ServedGUAMIList
                            ProtocolIE-Field
                                id: id-ServedGUAMIList (96)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 8
                                value
                                    Sequence-Of Length: 1
                                    ServedGUAMIList: 1 item
                                        Item 0
                                            ServedGUAMIItem
                                                0... .... Extension Bit: False
                                                .0.. .... Optional Field Bit: False (backupAMFName is NOT present)
                                                ..0. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                gUAMI
                                                    ...0 .... Extension Bit: False
                                                    .... 0... Optional Field Bit: False (iE-Extensions is NOT present)
                                                    pLMNIdentity: 02f899
                                                    aMFRegionID: 80 [bit length 8, 1000 0000 decimal value 128]
                                                    aMFSetID: 0040 [bit length 10, 6 LSB pad bits, 0000 0000  01.. .... decimal value 1]
                                                    aMFPointer: 00 [bit length 6, 2 LSB pad bits, 0000 00.. decimal value 0]
                        Item 2: id-RelativeAMFCapacity
                            ProtocolIE-Field
                                id: id-RelativeAMFCapacity (86)
                                Enumerated Index: 1
                                criticality: ignore (1)
                                Open Type Length: 1
                                value
                                    RelativeAMFCapacity: 30
                        Item 3: id-PLMNSupportList
                            ProtocolIE-Field
                                id: id-PLMNSupportList (80)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 11
                                value
                                    Sequence-Of Length: 1
                                    PLMNSupportList: 1 item
                                        Item 0
                                            PLMNSupportItem
                                                .... 0... Extension Bit: False
                                                .... .0.. Optional Field Bit: False (iE-Extensions is NOT present)
                                                pLMNIdentity: 02f899
                                                Sequence-Of Length: 1
                                                sliceSupportList: 1 item
                                                    Item 0
                                                        SliceSupportItem
                                                            0... .... Extension Bit: False
                                                            .0.. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                            s-NSSAI
                                                                ..0. .... Extension Bit: False
                                                                ...1 .... Optional Field Bit: True (sD is present)
                                                                .... 0... Optional Field Bit: False (iE-Extensions is NOT present)
                                                                sST: 01
                                                                sD: ffffff


ℹ in AMF # Only one slice is defined (1, 0xFFFFFF).
https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-amf/-/blob/master/etc/amf.conf?ref_type=heads#L54

`SD = "{{ env["SD_0"] if "SD_0" in env.keys() else '0xFFFFFF'`

@PapaySail
Copy link
Collaborator

PapaySail commented Nov 29, 2023

Image versions develop of gnb & ue

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose ps -a
NAME                IMAGE                                   COMMAND                  SERVICE             CREATED             STATUS                        PORTS
eupf                ghcr.io/edgecomllc/eupf:main            "sh /app/bin/entrypo_"   edgecom-upf         16 hours ago        Up 16 hours                   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp, 0.0.0.0:8880->8080/tcp, :::8880->8080/tcp
l2sim-mysql         mysql:8.0                               "docker-entrypoint.s_"   mysql               16 hours ago        Up 16 hours (healthy)         3306/tcp, 33060/tcp
l2sim-oai-amf       oaisoftwarealliance/oai-amf:v1.5.1      "python3 /openair-am_"   oai-amf             16 hours ago        Up 16 hours (healthy)         80/tcp, 9090/tcp, 38412/sctp
l2sim-oai-gnb       oaisoftwarealliance/oai-gnb:develop     "/opt/oai-gnb/bin/en_"   oai-gnb             42 minutes ago      Up 42 minutes (healthy)
l2sim-oai-nr-ue0    oaisoftwarealliance/oai-nr-ue:develop   "/opt/oai-nr-ue/bin/_"   oai-nr-ue0          42 minutes ago      Exited (139) 30 minutes ago
l2sim-oai-nrf       oaisoftwarealliance/oai-nrf:v1.5.1      "python3 /openair-nr_"   oai-nrf             16 hours ago        Up 16 hours (healthy)         80/tcp, 9090/tcp
l2sim-oai-smf       oaisoftwarealliance/oai-smf:v1.5.1      "python3 /openair-sm_"   oai-smf             16 hours ago        Up 16 hours (healthy)         80/tcp, 8080/tcp, 8805/udp
l2sim-proxy         oai-lte-multi-ue-proxy:latest           "/oai-lte-multi-ue-p_"   proxy               42 minutes ago      Up 42 minutes (healthy)
nat                 5g_l2sim_tdd-edgecom-nat                "sh /app/bin/busy-po_"   edgecom-nat         16 hours ago        Up 16 hours
sudo tcpdump -ni l2sim-public -w /tmp/l2sim-public-eupfmain-gnbdev.pcap  "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not arp and not port 53 and not port 2152 and not port 2153)"

172 0.030824 AMF ens3NodeIf NGAP/NAS-5GS 126 SACK (Ack=7, Arwnd=106496) , DownlinkNASTransport, DL NAS transport, PDU session establishment reject (Requested service option not subscribed)

pcap decode

    141 0.204991       ens3NodeIf            AMF                   NGAP/NAS-5GS 138    UplinkNASTransport, UL NAS transport, PDU session establishment request

Frame 141: 138 bytes on wire (1104 bits), 138 bytes captured (1104 bits)
Ethernet II, Src: 02:42:f5:63:4e:73 (02:42:f5:63:4e:73), Dst: 02:42:c0:a8:47:84 (02:42:c0:a8:47:84)
Internet Protocol Version 4, Src: ens3NodeIf (188.120.232.247), Dst: AMF (192.168.71.132)
Stream Control Transmission Protocol, Src Port: 50342 (50342), Dst Port: 38412 (38412)
NG Application Protocol (UplinkNASTransport)
    0... .... Extension Bit: False
    Choice Index: 0
    NGAP-PDU: initiatingMessage (0)
        initiatingMessage
            procedureCode: id-UplinkNASTransport (46)
            Enumerated Index: 1
            criticality: ignore (1)
            Open Type Length: 71
            value
                UplinkNASTransport
                    0... .... Extension Bit: False
                    Sequence-Of Length: 4
                    protocolIEs: 4 items
                        Item 0: id-AMF-UE-NGAP-ID
                            ProtocolIE-Field
                                id: id-AMF-UE-NGAP-ID (10)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 2
                                value
                                    AMF-UE-NGAP-ID: 1
                        Item 1: id-RAN-UE-NGAP-ID
                            ProtocolIE-Field
                                id: id-RAN-UE-NGAP-ID (85)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 2
                                value
                                    RAN-UE-NGAP-ID: 1
                        Item 2: id-NAS-PDU
                            ProtocolIE-Field
                                id: id-NAS-PDU (38)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 33
                                value
                                    Octet String Length: 32
                                    NAS-PDU: 7e0479ac5576007e00670100072e0a01c1ffff91120a812201012504036f6169
                                        Non-Access-Stratum 5GS (NAS)PDU
                                            Security protected NAS 5GS message
                                            Plain NAS 5GS Message
                                                Extended protocol discriminator: 5G mobility management messages (126)
                                                0000 .... = Spare Half Octet: 0
                                                .... 0000 = Security header type: Plain NAS message, not security protected (0)
                                                Message type: UL NAS transport (0x67)
                                                0000 .... = Spare Half Octet: 0
                                                Payload container type
                                                    .... 0001 = Payload container type: N1 SM information (1)
                                                Payload container
                                                    Length: 7
                                                    Plain NAS 5GS Message
                                                        Extended protocol discriminator: 5G session management messages (46)
                                                        PDU session identity: PDU session identity value 10 (10)
                                                        Procedure transaction identity: 1
                                                        Message type: PDU session establishment request (0xc1)
                                                        Integrity protection maximum data rate
                                                        PDU session type
                                                            1001 .... = Element ID: 0x9-
                                                            .... .001 = PDU session type: IPv4 (1)
                                                PDU session identity 2 - PDU session ID
                                                Request type
                                                S-NSSAI
                                                    Element ID: 0x22
                                                    Length: 1
                                                    Slice/service type (SST): eMBB (1)
                                                DNN
                                                    Element ID: 0x25
                                                    Length: 4
                                                    DNN: oai
                        Item 3: id-UserLocationInformation
                            ProtocolIE-Field
                                id: id-UserLocationInformation (121)
                                Enumerated Index: 1
                                criticality: ignore (1)
                                Open Type Length: 15
                                value
                                    Choice Index: 1
                                    UserLocationInformation: userLocationInformationNR (1)
                                        userLocationInformationNR
                                            ..0. .... Extension Bit: False
                                            ...0 .... Optional Field Bit: False (timeStamp is NOT present)
                                            .... 0... Optional Field Bit: False (iE-Extensions is NOT present)
                                            nR-CGI
                                                .... .0.. Extension Bit: False
                                                .... ..0. Optional Field Bit: False (iE-Extensions is NOT present)
                                                pLMNIdentity: 02f899
                                                    Mobile Country Code (MCC): France (208)
                                                    Mobile Network Code (MNC): Unknown (99)
                                                nRCellIdentity: 0x00000e0000
                                            tAI
                                                .... 0... Extension Bit: False
                                                .... .0.. Optional Field Bit: False (iE-Extensions is NOT present)
                                                pLMNIdentity: 02f899
                                                    Mobile Country Code (MCC): France (208)
                                                    Mobile Network Code (MNC): Unknown (99)
                                                tAC: 1 (0x000001)

    172 0.030824       AMF                   ens3NodeIf            NGAP/NAS-5GS 126    SACK (Ack=7, Arwnd=106496) , DownlinkNASTransport, DL NAS transport, PDU session establishment reject (Requested service option not subscribed)

Frame 172: 126 bytes on wire (1008 bits), 126 bytes captured (1008 bits)
Ethernet II, Src: 02:42:c0:a8:47:84 (02:42:c0:a8:47:84), Dst: 02:42:f5:63:4e:73 (02:42:f5:63:4e:73)
Internet Protocol Version 4, Src: AMF (192.168.71.132), Dst: ens3NodeIf (188.120.232.247)
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 50342 (50342)
NG Application Protocol (DownlinkNASTransport)
    0... .... Extension Bit: False
    Choice Index: 0
    NGAP-PDU: initiatingMessage (0)
        initiatingMessage
            procedureCode: id-DownlinkNASTransport (4)
            Enumerated Index: 1
            criticality: ignore (1)
            Open Type Length: 41
            value
                DownlinkNASTransport
                    0... .... Extension Bit: False
                    Sequence-Of Length: 3
                    protocolIEs: 3 items
                        Item 0: id-AMF-UE-NGAP-ID
                            ProtocolIE-Field
                                id: id-AMF-UE-NGAP-ID (10)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 2
                                value
                                    AMF-UE-NGAP-ID: 1
                        Item 1: id-RAN-UE-NGAP-ID
                            ProtocolIE-Field
                                id: id-RAN-UE-NGAP-ID (85)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 2
                                value
                                    RAN-UE-NGAP-ID: 1
                        Item 2: id-NAS-PDU
                            ProtocolIE-Field
                                id: id-NAS-PDU (38)
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 22
                                value
                                    Octet String Length: 21
                                    NAS-PDU: 7e020d1b0c38027e00680100062e0a01c321f1120a
                                        Non-Access-Stratum 5GS (NAS)PDU
                                            Security protected NAS 5GS message
                                            Plain NAS 5GS Message
                                                Extended protocol discriminator: 5G mobility management messages (126)
                                                0000 .... = Spare Half Octet: 0
                                                .... 0000 = Security header type: Plain NAS message, not security protected (0)
                                                Message type: DL NAS transport (0x68)
                                                0000 .... = Spare Half Octet: 0
                                                Payload container type
                                                    .... 0001 = Payload container type: N1 SM information (1)
                                                Payload container
                                                    Length: 6
                                                    Plain NAS 5GS Message
                                                        Extended protocol discriminator: 5G session management messages (46)
                                                        PDU session identity: PDU session identity value 10 (10)
                                                        Procedure transaction identity: 1
                                                        Message type: PDU session establishment reject (0xc3)
                                                        5GSM cause - ESM cause
                                                            5GSM cause: Requested service option not subscribed (33)
                                                        Allowed SSC mode
                                                            1111 .... = Element ID: 0xf-
                                                            .... 0... = Spare: 0
                                                            .... .0.. = SSC mode 3: Not Allowed
                                                            .... ..0. = SSC mode 2: Not Allowed
                                                            .... ...1 = SSC mode 1: Allowed
                                                PDU session identity 2 - PDU session ID

l2sim-public-eupfmain-gnbdev.zip

Packet analyzys:
NGAP/NAS-5GS 138 UplinkNASTransport, UL NAS transport, PDU session establishment request: is fully identical.
JSON PDU session establishment request: is abso;utely identical.

from SMF:: PDU session establishment reject (Requested service option not subscribed)

155	0.000088	AMF	SMF	HTTP/JSON/NAS-5GS	857	POST /nsmf-pdusession/v1/sm-contexts HTTP/1.1 , JavaScript Object Notation (application/json), PDU session establishment request
160	0.000316	SMF	AMF	HTTP/JSON/NAS-5GS	553	POST /namf-comm/v1/ue-contexts/imsi-208990100001100/n1-n2-messages HTTP/1.1 , JavaScript Object Notation (application/json), PDU session establishment reject (Requested service option not subscribed)
🐛 But we can see there is no any options requested from UE

Frame 81: 851 bytes on wire (6808 bits), 851 bytes captured (6808 bits)
Ethernet II, Src: 02:42:c0:a8:47:84 (02:42:c0:a8:47:84), Dst: 02:42:c0:a8:47:85 (02:42:c0:a8:47:85)
Internet Protocol Version 4, Src: 192.168.71.132 (192.168.71.132), Dst: 192.168.71.133 (192.168.71.133)
Transmission Control Protocol, Src Port: 45658, Dst Port: 80, Seq: 1, Ack: 1, Len: 785
Hypertext Transfer Protocol
MIME Multipart Media Encapsulation, Type: multipart/related, Boundary: "----Boundary"
    [Type: multipart/related]
    First boundary: ------Boundary\r\n
    Encapsulated multipart part:  (application/json)
        Content-Type: application/json\r\n\r\n
        JavaScript Object Notation: application/json
            Object
    Boundary: \r\n------Boundary\r\n
    Encapsulated multipart part:  (application/vnd.3gpp.5gnas)
        Content-Type: application/vnd.3gpp.5gnas\r\n
        Content-Id: n1SmMsg\r\n\r\n
        Non-Access-Stratum 5GS (NAS)PDU
            Plain NAS 5GS Message
                Extended protocol discriminator: 5G session management messages (46)
                PDU session identity: PDU session identity value 10 (10)
                Procedure transaction identity: 1
                Message type: PDU session establishment request (0xc1)
                Integrity protection maximum data rate
                PDU session type
                    1001 .... = Element ID: 0x9-
                    .... .001 = PDU session type: IPv4 (1)
    Last boundary: \r\n------Boundary--\r\n

So I suggest there is a bug in SMF with option `DISCOVER_UPF=no`

@PapaySail
Copy link
Collaborator

Investigation: 5G PDU Session and Its Types https://www.techplayon.com/ssc-modes-session-and-service-continuity-in-5g/

PDU Sessions with PDU Session types IPv4, IPv6 and IPv4v6 can have any of the SSC modes 1, 2 or 3.
SSC Mode (Service and Session Continuity mode): SSC mode refer to the longevity of the User Plane anchor point of the PDU Session, whether it can be re-allocated or not

  • UE can request a specific mode using the ‘SSC Mode‘ field within the NAS: PDU Session Establishment Request
  • The SMF specifics the allocated mode using the ‘Selected SSC Mode‘ field within the NAS: PDU Session Eslablishment Accept

The 3GPP release 15 only supports Mode 3 for IP based PDU Sessions.
SSC Mode 3: ... For example, the IP address allocated to the UE will be updated if the Anchor UPF changes but the change procedure will ensure that connectivity is preserved, i.e. connectivity towards the new Anchor UPF is established before releasing the connection to the old Anchor UPF. The 3GPP release 15 only supports Mode 3 for IP based PDU Sessions.

@PapaySail
Copy link
Collaborator

PapaySail commented Dec 2, 2023

DEFAULT_SSC_MODE = 1, in smf config file
There is no problem with spgwu then SMF with option DISCOVER_UPF=no

Details

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ip a |grep oai
8541: oaitun_ue1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
    inet 12.1.1.2/24 brd 12.1.1.255 scope global oaitun_ue1

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose exec -ti oai-smf bash
root@2aa774f870cd:/openair-smf#
root@2aa774f870cd:/openair-smf# more /openair-smf/etc/smf.conf
....
    LOCAL_CONFIGURATION :
    {
      SESSION_MANAGEMENT_SUBSCRIPTION_LIST = (
         {
           NSSAI_SST = 1,
           NSSAI_SD = "0xFFFFFF",
           DNN = "oai",
           DEFAULT_SESSION_TYPE = "IPv4",
           DEFAULT_SSC_MODE = 1,


root@2aa774f870cd:/openair-smf# echo  $DISCOVER_UPF
no
root@2aa774f870cd:/openair-smf# grep _UPF /openair-smf/etc/smf.conf
      DISCOVER_UPF = "no";

@PapaySail
Copy link
Collaborator

PapaySail commented Dec 2, 2023

Found the sorce of problem:: [smf] [smf_app] [warn ] No UPF available
then image eupf:main is used

SMF log

sudo docker-compose logs oai-smf |less

l2sim-oai-smf  | [2023-12-02T16:17:51.815050] [smf] [smf_app] [debug] UE Address Allocation
l2sim-oai-smf  | [2023-12-02T16:17:51.815053] [smf] [smf_app] [info ] Find a DNN Subscription with key: 4294967041 (SST 1, SD 16777215 (0xffffff)), map size 1
l2sim-oai-smf  | [2023-12-02T16:17:51.815055] [smf] [smf_app] [info ] Find DNN configuration with DNN oai
l2sim-oai-smf  | [2023-12-02T16:17:51.815058] [smf] [smf_app] [debug] PDU Session Type IPv4
l2sim-oai-smf  | [2023-12-02T16:17:51.815063] [smf] [smf_app] [info ] PAA, Ipv4 Address: 12.1.1.2
l2sim-oai-smf  | [2023-12-02T16:17:51.815078] [smf] [sbi_srv] [debug] AMF IP Addr 192.168.71.132:80
l2sim-oai-smf  | [2023-12-02T16:17:51.815080] [smf] [smf_app] [debug] Send ITTI msg to SMF APP to trigger the response of Server
l2sim-oai-smf  | [2023-12-02T16:17:51.815087] [smf] [smf_app] [debug] Trigger PDU Session Create SM Context Response: Set promise with ID 47 to ready
l2sim-oai-smf  | [2023-12-02T16:17:51.815108] [smf] [smf_app] [debug] Trigger the response from SMF: Set promise with ID 47 to ready
l2sim-oai-smf  | [2023-12-02T16:17:51.815124] [smf] [smf_app] [info ] Create a procedure to process this message.
l2sim-oai-smf  | [2023-12-02T16:17:51.815130] [smf] [smf_app] [info ] Perform a procedure - Create SM Context Request
l2sim-oai-smf  | [2023-12-02T16:17:51.815132] [smf] [smf_app] [info ] Find PDU Session with ID 10
l2sim-oai-smf  | [2023-12-02T16:17:51.815135] [smf] [smf_app] [info ] Select UPF Node
l2sim-oai-smf  | [2023-12-02T16:17:51.815138] [smf] [smf_app] [warn ] No UPF available
l2sim-oai-smf  | [2023-12-02T16:17:51.815142] [smf] [smf_app] [warn ] UPF could not be selected for the PDU session
l2sim-oai-smf  | [2023-12-02T16:17:51.815144] [smf] [smf_app] [info ] PDU Session Establishment Request: Create SM Context Request procedure failed
l2sim-oai-smf  | [2023-12-02T16:17:51.815149] [smf] [smf_app] [debug] Create PDU Session Establishment Reject
l2sim-oai-smf  | [2023-12-02T16:17:51.815151] [smf] [smf_n1 ] [info ] Create N1 SM Container, PDU Session Establishment Reject
l2sim-oai-smf  | [2023-12-02T16:17:51.815152] [smf] [smf_n1 ] [info ] PDU_SESSION_ESTABLISHMENT_REJECT, encode starting...

The solution is to use eupf:234f109b1000f0ed523d7d3da0a43d77a3b22465

But we meet next problem: all zero and N1N2MsgTxfrFailureNotification
[smf] [smf_n2 ] [debug] UL F-TEID, TEID 0x0, IP Address 0.0.0.0
[smf] [smf_n2 ] [info ] QoS parameters: QFI 0, Priority level 0

Details

sudo docker-compose logs oai-smf |less

l2sim-oai-smf  | [2023-12-02T16:55:15.758154] [smf] [smf_app] [info ] Perform a procedure - Create SM Context Request
l2sim-oai-smf  | [2023-12-02T16:55:15.758157] [smf] [smf_app] [info ] Find PDU Session with ID 10
l2sim-oai-smf  | [2023-12-02T16:55:15.758160] [smf] [smf_app] [info ] Select UPF Node
l2sim-oai-smf  | [2023-12-02T16:55:15.758167] [smf] [smf_app] [debug] Current UPF info
l2sim-oai-smf  | [2023-12-02T16:55:15.758172] [smf] [smf_app] [debug]   UPF Node Id: 192.168.71.134
l2sim-oai-smf  | [2023-12-02T16:55:15.758181] [smf] [smf_app] [debug] Successfully added UPF node: , (2252843200)
l2sim-oai-smf  | [2023-12-02T16:55:15.758187] [smf] [smf_app] [debug] Successfully added UPF graph edge for : N3()
l2sim-oai-smf  | [2023-12-02T16:55:15.758193] [smf] [smf_app] [debug] Successfully added UPF graph edge for : N6()
l2sim-oai-smf  | [2023-12-02T16:55:15.758201] [smf] [smf_app] [info ] Get default QoS for a PDU Session, key 1
l2sim-oai-smf  | [2023-12-02T16:55:15.758204] [smf] [smf_app] [info ] Find a DNN Subscription with key: 4294967041 (SST 1, SD 16777215 (0xffffff)), map size 1
l2sim-oai-smf  | [2023-12-02T16:55:15.758206] [smf] [smf_app] [info ] Find DNN configuration with DNN oai
l2sim-oai-smf  | [2023-12-02T16:55:15.758209] [smf] [smf_app] [info ] Get default QoS rule for a PDU Session (PDU session type 1)
l2sim-oai-smf  | [2023-12-02T16:55:15.758215] [smf] [smf_app] [debug] Default QoSRules: 1 1 1 1 2 1 1 1 0
l2sim-oai-smf  | [2023-12-02T16:55:15.758218] [smf] [smf_app] [info ] Add QoS Rule with Rule Id 1
l2sim-oai-smf  | [2023-12-02T16:55:15.758230] [smf] [smf_app] [debug] DFS Asynch: Handle UPF 2252843200
l2sim-oai-smf  | [2023-12-02T16:55:15.758269] [smf] [smf_app] [info ] Sending ITTI message 37itti_n4_session_establishment_request to task TASK_SMF_N4
l2sim-oai-smf  | [2023-12-02T16:55:15.758296] [smf] [sbi_srv] [debug] Got result for promise ID 132
l2sim-oai-smf  | [2023-12-02T16:55:15.759627] [smf] [smf_n4 ] [info ] handle_receive(47 bytes)
l2sim-oai-smf  | [2023-12-02T16:55:15.759700] [smf] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 51 length 43
l2sim-oai-smf  | [2023-12-02T16:55:15.759783] [smf] [smf_app] [debug] Received N4 Session Establishment Response sender teid 0x1  pfcp_tx_id 85
l2sim-oai-smf  | [2023-12-02T16:55:15.759792] [smf] [smf_app] [info ] Handle N4 Session Establishment Response (PDU Session Id 10)
l2sim-oai-smf  | [2023-12-02T16:55:15.759806] [smf] [smf_app] [debug] UPF graph in SMF finished
l2sim-oai-smf  | [2023-12-02T16:55:15.759811] [smf] [smf_app] [debug] Prepare a PDU Session Establishment Accept message and send to UE
l2sim-oai-smf  | [2023-12-02T16:55:15.759819] [smf] [smf_n1 ] [info ] Create N1 SM Container, PDU Session Establishment Accept
l2sim-oai-smf  | [2023-12-02T16:55:15.759823] [smf] [smf_n1 ] [error] Incorrect QFI 0
l2sim-oai-smf  | [2023-12-02T16:55:15.759826] [smf] [smf_app] [debug] Convert string to Hex
l2sim-oai-smf  | [2023-12-02T16:55:15.759828] [smf] [smf_app] [debug] Input:
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02T16:55:15.759831] [smf] [smf_app] [debug] Output:
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02T16:55:15.759836] [smf] [smf_n2 ] [info ] Create N2 SM Information, PDU Session Resource Setup Request Transfer
l2sim-oai-smf  | [2023-12-02T16:55:15.759842] [smf] [smf_n2 ] [debug] UL F-TEID, TEID 0x0, IP Address 0.0.0.0
l2sim-oai-smf  | [2023-12-02T16:55:15.759844] [smf] [smf_n2 ] [info ] QoS parameters: QFI 0, Priority level 0, ARP priority level 0
l2sim-oai-smf  | [2023-12-02T16:55:15.759845] [smf] [smf_n2 ] [error] Incorrect QFI 0
l2sim-oai-smf  | [2023-12-02T16:55:15.759847] [smf] [smf_app] [debug] Convert string to Hex
l2sim-oai-smf  | [2023-12-02T16:55:15.759849] [smf] [smf_app] [debug] Input:
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02T16:55:15.759851] [smf] [smf_app] [debug] Output:
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02T16:55:15.759861] [smf] [smf_app] [debug] N1N2MessageTransfer will be sent to AMF with URL: http://192.168.71.132:80/namf-comm/v1/ue-contexts/imsi-208990100001100/n1-n2-messages
l2sim-oai-smf  | [2023-12-02T16:55:15.759942] [smf] [smf_app] [info ] Sending ITTI message N11_SESSION_CREATE_SM_CONTEXT_RESPONSE to task TASK_SMF_APP
l2sim-oai-smf  | [2023-12-02T16:55:15.759998] [smf] [smf_sbi] [debug] Send Communication_N1N2MessageTransfer to AMF (HTTP version 1)
l2sim-oai-smf  | [2023-12-02T16:55:15.760043] [smf] [smf_app] [debug] Input string (0 bytes):
l2sim-oai-smf  | [2023-12-02T16:55:15.760049] [smf] [smf_app] [debug] Data (formatted):
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02T16:55:15.760051] [smf] [smf_app] [debug] Input string (0 bytes):
l2sim-oai-smf  | [2023-12-02T16:55:15.760053] [smf] [smf_app] [debug] Data (formatted):
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02T16:55:15.760064] [smf] [smf_sbi] [debug] Send Communication_N1N2MessageTransfer to AMF, body ------Boundary
l2sim-oai-smf  | Content-Type: application/json
l2sim-oai-smf  |
l2sim-oai-smf  | {"n1MessageContainer":{"n1MessageClass":"SM","n1MessageContent":{"contentId":"n1SmMsg"}},"n1n2FailureTxfNotifURI":"192.168.71.132:80/nsmf-pdusession/v1/callback/N1N2MsgTxfrFailureNotification/imsi-208990100001100","n2InfoContainer":{"n2InformationClass":"SM","ranInfo":"SM","smInfo":{"n2InfoContent":{"ngapData":{"contentId":"n2msg"},"ngapIeType":"PDU_RES_SETUP_REQ"},"pduSessionId":10,"sNssai":{"sd":"16777215","sst":1}}},"pduSessionId":10}
l2sim-oai-smf  | ------Boundary
l2sim-oai-smf  | Content-Type: application/vnd.3gpp.5gnas
l2sim-oai-smf  | Content-Id: n1SmMsg

Taking oai-smf:v1.5.1

[smf_app] [info] UL F-TEID 0x1 allocated for N3 IPv4 Addr : 0.0.0.0

SMF log

l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Select UPF Node
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [debug] Current UPF info
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [debug]    UPF Node Id: 192.168.71.134
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [debug] Successfully added UPF node: , (2252843200)
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [debug] Successfully added UPF graph edge for : N3(access.oai.org)
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [debug] Successfully added UPF graph edge for : N6(core.oai.org)
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Get default QoS for a PDU Session, key 1
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Find a DNN Subscription with key: 4294967041 (SST 1, SD 16777215 (0xffffff)), map size 1
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Find DNN configuration with DNN oai
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Get default QoS rule for a PDU Session (PDU session type 1)
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [debug] Default QoSRules: 1 1 1 1 2 1 1 1 0
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Add QoS Rule with Rule Id 1
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [debug] DFS Asynch: Handle UPF 2252843200
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Generating N3-UL TEID since current UPF does not support TEID Creation
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info]     UL F-TEID 0x1 allocated for N3 IPv4 Addr : 0.0.0.0
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_app] [info] Sending ITTI message 37itti_n4_session_establishment_request to task TASK_SMF_N4
l2sim-oai-smf  | [2023-12-02 17:55:01.733] [smf_api] [debug] Got result for promise ID 16
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n4 ] [info] handle_receive(47 bytes)
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 51 length 43
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [debug] Received N4 Session Establishment Response sender teid 0x1  pfcp_tx_id 11
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [info] Handle N4 Session Establishment Response (PDU Session Id 10)
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [debug] UPF graph in SMF finished
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [debug] Prepare a PDU Session Establishment Accept message and send to UE
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n1 ] [info] Create N1 SM Container, PDU Session Establishment Accept
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n1 ] [error] Incorrect QFI 0
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [debug] Convert string to Hex
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [debug] Input:
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [debug] Output:
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n2 ] [info] Create N2 SM Information, PDU Session Resource Setup Request Transfer
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n2 ] [debug] UL F-TEID, TEID 0x0, IP Address 0.0.0.0
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n2 ] [info] QoS parameters: QFI 0, Priority level 0, ARP priority level 0
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_n2 ] [error] Incorrect QFI 0
l2sim-oai-smf  | [2023-12-02 17:55:01.734] [smf_app] [debug] Convert string to Hex

SMF log head

l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info] - Supported Features:
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     Register to NRF.....................: Yes
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     Discover UPF........................: No
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     Discover PCF........................: No
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     Use Local Subscription Configuration: Yes
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     Use Local PCC Rules: ...............: Yes
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     Push PCO (DNS+MTU)..................: No
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     Use FQDN ...........................: No
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     ENABLE USAGE REPORTING..............: No
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     ENABLE DL PDR IN PFCP SESSION ESTAB.: No
l2sim-oai-smf  | [2023-12-02 17:54:24.983] [smf_app] [info]     UPF N3 LOCAL ADDRESS ...............: 0.0.0.0

There is N3_LOCAL_IPV4_ADDRESS variable set in conf template https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-smf/-/blob/master/etc/smf.conf?ref_type=heads#L132

      # Set N3_LOCAL_IPV4_ADDRESS for SD-Fabric UPF
      N3_LOCAL_IPV4_ADDRESS = "{{ env["N3_LOCAL_IPV4_ADDRESS"] if "N3_LOCAL_IPV4_ADDRESS" in env.keys() else '0.0.0.0' }}";

So, I added to docker-compose.override.yml:
- N3_LOCAL_IPV4_ADDRESS=192.168.71.134
I see changes, But it did not held to success

SMF log

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose logs oai-smf |less

l2sim-oai-smf  | [2023-12-02 18:21:48.964] [smf_app] [info] Add QoS Rule with Rule Id 1
l2sim-oai-smf  | [2023-12-02 18:21:48.964] [smf_app] [debug] DFS Asynch: Handle UPF 2252843200
l2sim-oai-smf  | [2023-12-02 18:21:48.964] [smf_app] [info] Generating N3-UL TEID since current UPF does not support TEID Creation
l2sim-oai-smf  | [2023-12-02 18:21:48.964] [smf_app] [info]     UL F-TEID 0x1 allocated for N3 IPv4 Addr : 192.168.71.134
l2sim-oai-smf  | [2023-12-02 18:21:48.964] [smf_app] [info] Sending ITTI message 37itti_n4_session_establishment_request to task TASK_SMF_N4
l2sim-oai-smf  | [2023-12-02 18:21:48.964] [smf_api] [debug] Got result for promise ID 44
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n4 ] [info] handle_receive(47 bytes)
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 51 length 43
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Received N4 Session Establishment Response sender teid 0x1  pfcp_tx_id 2D
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [info] Handle N4 Session Establishment Response (PDU Session Id 10)
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] UPF graph in SMF finished
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Prepare a PDU Session Establishment Accept message and send to UE
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n1 ] [info] Create N1 SM Container, PDU Session Establishment Accept
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n1 ] [error] Incorrect QFI 0
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Convert string to Hex
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Input:
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Output:
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n2 ] [info] Create N2 SM Information, PDU Session Resource Setup Request Transfer
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n2 ] [debug] UL F-TEID, TEID 0x0, IP Address 0.0.0.0
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n2 ] [info] QoS parameters: QFI 0, Priority level 0, ARP priority level 0
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_n2 ] [error] Incorrect QFI 0
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Convert string to Hex
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Input:
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Output:
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] N1N2MessageTransfer will be sent to AMF with URL: http://192.168.71.132:80/namf-comm/v1/ue-contexts/imsi-208990100001100/n1
-n2-messages
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [info] Sending ITTI message N11_SESSION_CREATE_SM_CONTEXT_RESPONSE to task TASK_SMF_APP
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_sbi] [debug] Send Communication_N1N2MessageTransfer to AMF (HTTP version 1)
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Input string (0 bytes):
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Data (formatted):
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Input string (0 bytes):
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_app] [debug] Data (formatted):
l2sim-oai-smf  |
l2sim-oai-smf  |
l2sim-oai-smf  | [2023-12-02 18:21:48.965] [smf_sbi] [debug] Send Communication_N1N2MessageTransfer to AMF, body ------Boundary
l2sim-oai-smf  | Content-Type: application/json
l2sim-oai-smf  |
l2sim-oai-smf  | {"n1MessageContainer":{"n1MessageClass":"SM","n1MessageContent":{"contentId":"n1SmMsg"}},"n1n2FailureTxfNotifURI":"192.168.71.132:80/nsmf-pdusession/v1/callback/N1N2MsgTxfrFailureNotification/imsi-208990100001100","n2InfoContainer":{"n2InformationClass":"SM","smInfo":{"n2InfoContent":{"ngapData":{"contentId":"n2msg"},"ngapIeType":"PDU_RES_SETUP_REQ"},"pduSessionId":10,"sNssai":{"sd":"16777215","sst":1}}},"pduSessionId":10}
l2sim-oai-smf  | ------Boundary
l2sim-oai-smf  | Content-Type: application/vnd.3gpp.5gnas
l2sim-oai-smf  | Content-Id: n1SmMsg

@PapaySail
Copy link
Collaborator

PapaySail commented Dec 7, 2023

Fresh working image is:
ghcr.io/edgecomllc/eupf:7086b71cb1dbc254db84c30e14fa4a68d3beb132
with --feature_ftup true --teid_pool 65535

But there is no responce in GTP

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose down oai-nr-ue0 proxy oai-gnb
[+] Running 7/7
 _ Container l2sim-oai-nr-ue0       Removed                                                                                                                       0.1s
 _ Container l2sim-proxy            Removed                                                                                                                      10.2s
 _ Container l2sim-oai-gnb          Removed                                                                                                                       0.2s
 ! Network 5g_l2sim_tdd_privnet_n6  Resource is still in use                                                                                                      0.0s
 _ Network 5g_l2sim_tdd_default     Removed                                                                                                                       0.3s
 ! Network l2sim-oai-public-net     Resource is still in use                                                                                                      0.0s
 ! Network l2sim-oai-traffic-net    Resource is still in use                                                                                                      0.0s
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose up -d  oai-gnb
[+] Running 2/2
 _ Network 5g_l2sim_tdd_default  Created                                                                                                                          0.1s
 _ Container l2sim-oai-gnb       Started                                                                                                                          0.2s
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose up -d proxy oai-nr-ue0
[+] Running 3/3
 _ Container l2sim-oai-gnb     Running                                                                                                                            0.0s
 _ Container l2sim-proxy       Started                                                                                                                            0.2s
 _ Container l2sim-oai-nr-ue0  Started                                                                                                                            0.3s
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ping -I oaitun_ue1 -c 3 1.1.1.1
PING 1.1.1.1 (1.1.1.1) from 12.1.1.2 oaitun_ue1: 56(84) bytes of data.

--- 1.1.1.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2042ms


ip a |grep oai
8790: oaitun_ue1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
    inet 12.1.1.2/24 brd 12.1.1.255 scope global oaitun_ue1

OK req-repl over edgecom-nat:

sudo tcpdump -ni br-oainfapi-n6
17:29:06.706598 ARP, Request who-has 10.100.250.3 tell 10.100.250.2, length 28
17:29:06.706647 ARP, Reply 10.100.250.3 is-at 02:42:0a:64:fa:03, length 28
17:29:06.706655 IP 12.1.1.2 > 1.1.1.1: ICMP echo request, id 54, seq 1, length 64
17:29:06.706738 ARP, Request who-has 10.100.250.1 tell 10.100.250.3, length 28
17:29:06.706750 ARP, Reply 10.100.250.1 is-at 02:42:0d:18:d5:fa, length 28
17:29:06.706756 IP 10.100.250.3 > 1.1.1.1: ICMP echo request, id 54, seq 1, length 64
17:29:06.712085 IP 1.1.1.1 > 10.100.250.3: ICMP echo reply, id 54, seq 1, length 64
17:29:06.712185 IP 1.1.1.1 > 12.1.1.2: ICMP echo reply, id 54, seq 1, length 64
17:29:07.599033 IP 12.1.1.2 > 1.1.1.1: ICMP echo request, id 54, seq 2, length 64
17:29:07.599117 IP 10.100.250.3 > 1.1.1.1: ICMP echo request, id 54, seq 2, length 64
17:29:07.604487 IP 1.1.1.1 > 10.100.250.3: ICMP echo reply, id 54, seq 2, length 64
17:29:07.604588 IP 1.1.1.1 > 12.1.1.2: ICMP echo reply, id 54, seq 2, length 64
17:29:08.669458 IP 12.1.1.2 > 1.1.1.1: ICMP echo request, id 54, seq 3, length 64
17:29:08.669526 IP 10.100.250.3 > 1.1.1.1: ICMP echo request, id 54, seq 3, length 64
17:29:08.674812 IP 1.1.1.1 > 10.100.250.3: ICMP echo reply, id 54, seq 3, length 64
17:29:08.674829 IP 1.1.1.1 > 12.1.1.2: ICMP echo reply, id 54, seq 3, length 64
17:29:11.735379 ARP, Request who-has 10.100.250.3 tell 10.100.250.1, length 28
17:29:11.735490 ARP, Reply 10.100.250.3 is-at 02:42:0a:64:fa:03, length 28

But there is no responce in GTP, see attached file

sergo@edgecom:~/edgecom/free5gc-compose$ sudo tcpdump -ni l2sim-public -w /tmp/l2sim-public-uplinkonly.pcap
tcpdump: listening on l2sim-public, link-type EN10MB (Ethernet), snapshot length 262144 bytes
^C223 packets captured
223 packets received by filter
0 packets dropped by kernel

filtered GTP packets:

No.     Time               Source                Destination           Protocol Length Info
    162 17:28:54.612506    fe80::3f39:5b53:8897:5b65 ff02::2               GTP <ICMPv6> 106    Router Solicitation
    171 17:28:58.686140    fe80::3f39:5b53:8897:5b65 ff02::2               GTP <ICMPv6> 106    Router Solicitation
    190 17:29:06.706518    12.1.1.2              one.one.one.one       GTP <ICMP> 142    Echo (ping) request  id=0x0036, seq=1/256, ttl=64 (no response found!)
    193 17:29:07.578507    fe80::3f39:5b53:8897:5b65 ff02::2               GTP <ICMPv6> 106    Router Solicitation
    194 17:29:07.598997    12.1.1.2              one.one.one.one       GTP <ICMP> 142    Echo (ping) request  id=0x0036, seq=2/512, ttl=64 (no response found!)
    195 17:29:08.669423    12.1.1.2              one.one.one.one       GTP <ICMP> 142    Echo (ping) request  id=0x0036, seq=3/768, ttl=64 (no response found!)

eUPF log:

eupf  | 2023/12/07 14:28:53 DBG Received 164 bytes from 192.168.71.133:8805
eupf  | 2023/12/07 14:28:53 DBG Handling PFCP message from 192.168.71.133:8805
eupf  | 2023/12/07 14:28:53 INF Got Session Establishment Request from: 192.168.71.133.
eupf  | 2023/12/07 14:28:53 INF
eupf  | Session Establishment Request:
eupf  |   CreatePDR ID: 1
eupf  |     Outer Header Removal: 0
eupf  |     FAR ID: 1
eupf  |     Source Interface: 0
eupf  |     TEID: 0
eupf  |     Ipv4: <nil>
eupf  |     Ipv6: <nil>
eupf  |     UE IPv4 Address: 12.1.1.2
eupf  |   CreateFAR ID: 1
eupf  |     Apply Action: [2]
eupf  |     Forwarding Parameters:
eupf  |       Network Instance: coreoaiorg
eupf  |
eupf  |
eupf  | 2023/12/07 14:28:53 INF WARN: No OuterHeaderCreation
eupf  | 2023/12/07 14:28:53 INF Saving FAR info to session: 1, {Action:2 OuterHeaderCreation:0 Teid:0 RemoteIP:0 LocalIP:2252843200 TransportLevelMarking:0}
eupf  | 2023/12/07 14:28:53 DBG EBPF: Put FAR: internalId=1, qerInfo={Action:2 OuterHeaderCreation:0 Teid:0 RemoteIP:0 LocalIP:2252843200 TransportLevelMarking:0}
eupf  | 2023/12/07 14:28:53 DBG EBPF: Put PDR Uplink: teid=2, pdrInfo={OuterHeaderRemoval:0 FarId:1 QerId:0 SdfFilter:<nil>}
eupf  | 2023/12/07 14:28:53 INF Session Establishment Request from 192.168.71.133 accepted.
eupf  | 2023/12/07 14:28:54 DBG Received 136 bytes from 192.168.71.133:8805
eupf  | 2023/12/07 14:28:54 DBG Handling PFCP message from 192.168.71.133:8805
eupf  | 2023/12/07 14:28:54 INF Got Session Modification Request from: 192.168.71.133.
eupf  |
eupf  |
eupf  | 2023/12/07 14:28:54 INF Finding association for 192.168.71.133
eupf  | 2023/12/07 14:28:54 INF Finding session 3
eupf  | 2023/12/07 14:28:54 INF
eupf  | Session Modification Request:
eupf  |   CreatePDR ID: 2
eupf  |     FAR ID: 2
eupf  |     Source Interface: 1
eupf  |     UE IPv4 Address: 12.1.1.2
eupf  |   CreateFAR ID: 2
eupf  |     Apply Action: [2]
eupf  |     Forwarding Parameters:
eupf  |       Network Instance: accessoaiorg
eupf  |       Outer Header Creation: &{OuterHeaderCreationDescription:256 TEID:2178314469 IPv4Address:192.168.71.129 IPv6Address:<nil> PortNumber:0 CTag:0 STag:0}
eupf  |
eupf  |
eupf  | 2023/12/07 14:28:54 INF Saving FAR info to session: 2, {Action:2 OuterHeaderCreation:1 Teid:2178314469 RemoteIP:2168957120 LocalIP:2252843200 TransportLevelMarking:0}
eupf  | 2023/12/07 14:28:54 DBG EBPF: Put FAR: internalId=2, qerInfo={Action:2 OuterHeaderCreation:1 Teid:2178314469 RemoteIP:2168957120 LocalIP:2252843200 TransportLevelMarking:0}
eupf  | 2023/12/07 14:28:54 DBG EBPF: Put PDR Downlink: ipv4=12.1.1.2, pdrInfo={OuterHeaderRemoval:0 FarId:2 QerId:0 SdfFilter:<nil>}
eupf  | 2023/12/07 14:28:54 DBG Sent Heartbeat Request to: 192.168.71.133
eupf  | 2023/12/07 14:28:54 DBG Received 16 bytes from 192.168.71.133:8805
eupf  | 2023/12/07 14:28:54 DBG Handling PFCP message from 192.168.71.133:8805
eupf  | 2023/12/07 14:28:54 DBG Got Heartbeat Response with TS: 2023-12-07 14:15:42 +0000 UTC, from: 192.168.71.133

@pirog-spb check what is wrong, please.

l2sim-public-uplinkonly.zip

@PapaySail
Copy link
Collaborator

✔ Ok. fixed ip route at nat container.

Verify 0-scenario

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose restart oai-gnb
[+] Restarting 1/1
 _ Container l2sim-oai-gnb  Started                                                                                                                                                0.3s
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose up -d proxy oai-nr-ue0
[+] Running 4/4
 _ Network 5g_l2sim_tdd_default  Created                                                                                                                                           0.1s
 _ Container l2sim-oai-gnb       Running                                                                                                                                           0.0s
 _ Container l2sim-proxy         Started                                                                                                                                           0.2s
 _ Container l2sim-oai-nr-ue0    Started                                                                                                                                           0.3s
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ip a |grep oaitun
8808: oaitun_ue1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
    inet 12.1.1.5/24 brd 12.1.1.255 scope global oaitun_ue1
sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ping -I oaitun_ue1 -c 3 1.1.1.1
PING 1.1.1.1 (1.1.1.1) from 12.1.1.5 oaitun_ue1: 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=54 time=213 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=54 time=92.5 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=54 time=178 ms

--- 1.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 92.489/161.273/213.485/50.767 ms

sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ sudo docker-compose ps -a
NAME                IMAGE                                                              COMMAND                  SERVICE             CREATED             STATUS                    PORTS
eupf                ghcr.io/edgecomllc/eupf:7086b71cb1dbc254db84c30e14fa4a68d3beb132   "sh /app/bin/entrypo_"   edgecom-upf         18 hours ago        Up 18 hours               0.0.0.0:9090->9090/tcp, :::9090->9090/tcp, 0.0.0.0:8880->8080/tcp, :::8880->8080/tcp
l2sim-mysql         mysql:8.0                                                          "docker-entrypoint.s_"   mysql               40 hours ago        Up 40 hours (healthy)     3306/tcp, 33060/tcp
l2sim-oai-amf       oaisoftwarealliance/oai-amf:v1.5.0                                 "python3 /openair-am_"   oai-amf             40 hours ago        Up 40 hours (healthy)     80/tcp, 9090/tcp, 38412/sctp
l2sim-oai-ext-dn    oaisoftwarealliance/trf-gen-cn5g:focal                             "/bin/bash -c ' ipta_"   oai-ext-dn          40 hours ago        Up 40 hours (unhealthy)
l2sim-oai-gnb       oaisoftwarealliance/oai-gnb:develop                                "/opt/oai-gnb/bin/en_"   oai-gnb             59 minutes ago      Up 2 minutes (healthy)
l2sim-oai-nr-ue0    oaisoftwarealliance/oai-nr-ue:develop                              "/opt/oai-nr-ue/bin/_"   oai-nr-ue0          2 minutes ago       Up 2 minutes (healthy)
l2sim-oai-nrf       oaisoftwarealliance/oai-nrf:v1.5.0                                 "python3 /openair-nr_"   oai-nrf             40 hours ago        Up 40 hours (healthy)     80/tcp, 9090/tcp
l2sim-oai-smf       oaisoftwarealliance/oai-smf:v1.5.1                                 "python3 /openair-sm_"   oai-smf             40 hours ago        Up 18 hours (healthy)     80/tcp, 8080/tcp, 8805/udp
l2sim-oai-spgwu     oaisoftwarealliance/oai-spgwu-tiny:v1.5.0                          "python3 /openair-sp_"   oai-spgwu           40 hours ago        Exited (0) 40 hours ago
l2sim-proxy         oai-lte-multi-ue-proxy:latest                                      "/oai-lte-multi-ue-p_"   proxy               2 minutes ago       Up 2 minutes (healthy)
nat                 5g_l2sim_tdd-edgecom-nat                                           "sh /app/bin/busy-po_"   edgecom-nat         39 hours ago        Up 39 hours

See #490

📝 A few minutes after starting oai-nr-ue0 we feel the terminal response slow down and the system sluggish and the longer the more.

How to deploy:

  1. Deploy the whole project OAI Full Stack 5G-NR L2 simulation with containers and a proxy. As described in OpenAirInterface project research #340 (comment)
    (following instructions https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/ci-scripts/yaml_files/5g_l2sim_tdd/README.md)
    Don't start it.
  2. Copy content of folder edgecomllc/eupf/docs/deployments/oai-nfapi-sim-compose from https://github.com/edgecomllc/eupf repository to your openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd
  3. Start containers in the following order:
    sudo docker-compose up -d mysql oai-nrf oai-amf oai-smf edgecom-nat edgecom-upf
    sudo docker-compose up -d  oai-gnb
    sudo docker-compose up -d proxy oai-nr-ue0
  4. Check interface oaitun_ue1 created and ip address set: ip a |grep oaitun
    ip a |grep oaitun
    8808: oaitun_ue1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
        inet 12.1.1.5/24 brd 12.1.1.255 scope global oaitun_ue1
  5. Check the Internet is accessible over created GTP tunnel
    ping -I oaitun_ue1 -c 3 1.1.1.1
    PING 1.1.1.1 (1.1.1.1) from 12.1.1.5 oaitun_ue1: 56(84) bytes of data.
    64 bytes from 1.1.1.1: icmp_seq=1 ttl=54 time=192 ms
    64 bytes from 1.1.1.1: icmp_seq=2 ttl=54 time=68.0 ms
    64 bytes from 1.1.1.1: icmp_seq=3 ttl=54 time=150 ms
    
    --- 1.1.1.1 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2000ms
    rtt min/avg/max/mdev = 67.998/136.369/191.533/51.290 ms
  6. sudo docker-compose down oai-nr-ue0 proxy to free up resources before the system sluggish.

@tariromukute
Copy link

Hi @pirog-spb and @PapaySail. FYI - I tried integrating OAI with eUPF. I faced an issue where PDR and FAR rules where being installed but the PDU session was not completing. I used, UERANSIM, OAI and eUPF. Turned out the issue was with OAI SMF function, I resolved the issue, you can check the Merge Request for more details. The integration now works with the OAI develop branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants