Can I use multiple SMFs for Network Slicing?

I want to have multiple SMFs for the Network Slicing feature.
How can I do this?

By default, smfcfg.conf is set to multiple sNssai, does that mean there are multiple SMFs already in place?

Or do I need to run /free5gc/bin/smf multiple times?
In that case, I’d probably need to change the smf port number (port: 29502) in smfcfg.conf for each one, but do I just need to change smfcfg.conf?
Do I need to change anything else in the source code?

Does the following mean that there are already two smf’s available?

  • sNssai:
    sst: 1
    sd: 010203
    • dnn: internet
  • sNssai:
    sst: 1
    sd: 112233
    • dnn: internet

Yes you can have different network slice for SMF.

For each NF, they can be in multiple slice, and for each slice, there is also able to have multiple NF for the same feature.

If you need multiple smf, you need to run ./bin/smf or go run src/smf/smf.go multiple times, each process only contain one NF. You will need to modify the config for different NF even with the same feature or they may try to bind to the same address and it may failed. You may not need to modify the source code unless there are bugs.

No, it just means this smf will exist in two slice.

For your question, we’ll recommended you to go deeper to the 5G architecture from TS 23.501 and TS 23.502.

Hi, @free5GC
Thank you for your reply!

If I run multiple SMFs, which items in smfcfg.conf need to be changed?
In addition to smfcfg.conf, do I need to change any other items in the other NFs’ configuration files?

The first SMF is started with the default setting in config/smfcfg.conf.