s5uishida / open5gs_5gc_ueransim_snssai_upf_sample_config

Open5GS 5GC & UERANSIM UE / RAN Sample Configuration - Select UPF based on S-NSSAI
10 stars 9 forks source link

Two UEs with different slices #2

Closed Borjis131 closed 1 year ago

Borjis131 commented 1 year ago

Hello @s5uishida! I am trying to replicate your network slicing deployment with slight modifications but I am not able to make it work.

I have a couple of questions regarding your deployment: 1) You are using just 1 gNB and 1 registered UE, right? I can only see one IMSI (001010000000000) 2) How did you register the UE on Open5GS, it was using the command-line (open5gs-dbctl) or the web interface? Could you please share the UE information registered on the database (using ./open5gs/misc/db/open5gs-dbctl showpretty)? 3) You first register the UE in the first slice, you stop it and then register the same UE in the other slice?

In my deployment I tried to register 2 UEs with different IMSIs, each one using one different slice: UE 1: 001011234567891, SST: 1, SD: 0x000001, DNN: internet, SMF 1 - UPF 1 UE 2: 001011234567892, SST: 1, SD: 0x000002, DNN: internet, SMF 2 - UPF 2 I registered both of them using ./open5gs/misc/db/open5gs-dbctl add_ue_with_slice

In the logs I can see that SMF 1 starts an association with UPF 1 and SMF 2 starts an association with UPF 2. When I start the UE 1 it gets a PDU Session in the 10.45.0.0/16 subnet configured for DNN: internet with SMF 1 - UPF 1 pair. But when I start UE 2, somehow it gets a PDU Session with the 10.45.0.0/16 subnet, instead of the configured 10.46.0.0/16. The traffic from UE 1 and UE 2 gets routed by the UPF 1.

I have checked all the files for this. I have the ogstun TUN devices configured properly, all the YAML files, etc...

Could you please try this deployment and tell me if this happens to you too? If not, I can share you my config files.

The only thing left to check is that I used the same IMEI and IMEISV in the UERANSIM config files because it seems to only be used if no SUPI is specified. But I specified two different SUPIs.

Thanks in advance.

s5uishida commented 1 year ago

Hi @Borjis131

I wrote an issue on Open5GS that seems to be related to this.

https://github.com/open5gs/open5gs/issues/1916

Borjis131 commented 1 year ago

Thanks a lot, lets see if we can trace this issue. I didn't mention that I was using Model B too, so it seems it is the same scenario.

s5uishida commented 1 year ago

Hi @Borjis131

Could you please try the following?

https://github.com/open5gs/open5gs/pull/1929

Borjis131 commented 1 year ago

Hello @s5uishida and sorry for the late reply.

I have now tested the configuration that I posted here using the latest version of Open5GS https://github.com/open5gs/open5gs/commit/bd080f5095ed16838d979d0610bffacf436ed31a (because now the AMF fix is merged) and now the two UEs get the PDU Session from the subnet 10.46.0.0/16, which is bad because UE1 should get the PDU Session from the subnet 10.45.0.0/16.

You tried just with 1 UE right?

s5uishida commented 1 year ago

Hi @Borjis131

For the following scenario, I prepared a VM for each of the two UEs and confirmed the operation. I am using the latest Open5GS.

https://github.com/s5uishida/open5gs_5gc_ueransim_snssai_upf_sample_config

VM# IMSI SST SD assigned IP address selected SMF selected UPF
VM5 001010000000000 1 0x000001 10.45.0.2 SMF1 UPF1
VM6 001010000000001 1 0x000002 10.46.0.2 SMF2 UPF2
Borjis131 commented 1 year ago

In my case, the setup looks like this:

The slices configured are the same as yours and, as in your configuration:

On monday I will take a look at everything and check it again. But if it has worked for you in that setup, it should work for me too. There is no difference in having UERANSIM splitted in VMs or having it all in the same VM, it should work the same.

Thanks for all the help, I will get back to you soon.

Borjis131 commented 1 year ago

Hi @s5uishida, I have been checking all the files used in my setup and I can't get it to work properly. I do not see any difference with the configuration that you used in your sample.

I collected all the configuration files that I have used and I did a little diagram showing the infrastructure of VMs used and a guide explaining how everything is configured and the behaviour that I am getting. Find it attached as a zip file.

network_slicing_setup.zip

Please, if you can use my configuration or compare it with yours just to check if there is a mistake.

Thanks, Borja.

s5uishida commented 1 year ago

Hi @Borjis131

Referencing your configuration, I built the gNodeB and two UEs in the same VM and confirmed that it works fine. I am using the latest Open5GS.

Also, Open5GS defaults to SCP Model D configuration. In this case, I am starting C-Plane as follows.

./install/bin/open5gs-nrfd &
sleep 5
./install/bin/open5gs-scpd &
sleep 5
./install/bin/open5gs-smfd -c install/etc/open5gs/smf1.yaml &
./install/bin/open5gs-smfd -c install/etc/open5gs/smf2.yaml &
./install/bin/open5gs-amfd &
./install/bin/open5gs-ausfd &
./install/bin/open5gs-udmd &
./install/bin/open5gs-udrd &
./install/bin/open5gs-pcfd &
./install/bin/open5gs-nssfd &
./install/bin/open5gs-bsfd &
s5uishida commented 1 year ago

In this case, please don't worry about Model B or Model D.

Borjis131 commented 1 year ago

Hi @s5uishida, could you please try your setup with my configuration or share your configuration with me so I can try and use it?

I run through all the configuration checking it at least 3 times, one of them starting from scratch. I don't think there is an issue with the way that I deploy Open5GS, if there is a difference it should be in the configuration files.

s5uishida commented 1 year ago

Hi @Borjis131

I attached my configs.

config_samples.zip

Borjis131 commented 1 year ago

After testing it in a Docker deployment the setup works as expected. Thanks for the help, closing the issue.