edgecomllc / eupf

5G User Plane Function (UPF) based on eBPF
Apache License 2.0
105 stars 20 forks source link

Deploy eUPF with OAI core #473

Closed pirog-spb closed 11 months ago

pirog-spb commented 1 year ago
PapaySail commented 1 year ago

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:

```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 commented 1 year ago

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:

```ruby 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 commented 1 year ago

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

Details

```ruby 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

```ruby 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 commented 11 months ago

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 commented 11 months ago

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

PapaySail commented 11 months ago
   - DISCOVER_UPF=no

OK. SMF-UPF sessioin established

Logs

sudo docker-compose logs -n 20 edgecom-upf ```ruby 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:} ``` sudo docker-compose logs oai-smf |less ```ruby 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 ```ruby 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 ```ruby 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 commented 11 months ago

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

```ruby 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

```ruby 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 commented 11 months ago

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

```ruby 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 commented 11 months ago

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

```ruby 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

```ruby 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 commented 11 months ago

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 commented 11 months ago

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

Details

```ruby sergo@edgecom:~/gitlab/openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd$ ip a |grep oai 8541: oaitun_ue1: 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 commented 11 months ago

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 ```ruby 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 ```ruby 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 ```ruby 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 ```ruby 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 ```ruby 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 commented 11 months ago

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

But there is no responce in GTP

```ruby 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: 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: ```ruby 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 ```ruby 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: ```ruby No. Time Source Destination Protocol Length Info 162 17:28:54.612506 fe80::3f39:5b53:8897:5b65 ff02::2 GTP 106 Router Solicitation 171 17:28:58.686140 fe80::3f39:5b53:8897:5b65 ff02::2 GTP 106 Router Solicitation 190 17:29:06.706518 12.1.1.2 one.one.one.one GTP 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 106 Router Solicitation 194 17:29:07.598997 12.1.1.2 one.one.one.one GTP 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 142 Echo (ping) request id=0x0036, seq=3/768, ttl=64 (no response found!) ``` eUPF log: ```ruby 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: eupf | Ipv6: 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:} 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: 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:} 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 commented 11 months ago

✔ 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 https://github.com/edgecomllc/eupf/issues/340#issuecomment-1786589650 (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 commented 5 months ago

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.