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

[Bugs] Traffic Influence is not working in free5gc multiUPF #400

Closed
ghost opened this issue Oct 11, 2022 · 4 comments
Closed

[Bugs] Traffic Influence is not working in free5gc multiUPF #400

ghost opened this issue Oct 11, 2022 · 4 comments

Comments

@ghost
Copy link

ghost commented Oct 11, 2022

Describe the bug

Traffic Influence is not working in 5G with multiUPF

To Reproduce

  1. Create 7 Ubuntu VMs as below.
    VM1 -> Free5gc control plane
    VM2 -> Free5gc User plane (I-UPF or Branching UPF)
    VM3 -> Free5gc User plane (PSA-UPF1)
    VM4 -> Free5gc User plane (PSA-UPF2)
    VM5 -> UERANSIM
    VM6 -> Application Server 1
    VM7 -> Application Server 2

To achieve below scenario
image

  1. Install latest version of free5gc and UERANSIM and NGINX installed on each Application server.
  2. Run UPF on VM2, VM3 and VM4.
  3. Run Free5gc on VM1 with smf-ulcl and uerouting
  4. run gnb and ue on VM5
  5. smf configuration is as below
    image

image

image

  1. UEROUTING configuration is as below.

image

Expected behavior

on UERANSIM server, tunnel created uesimtun0 and able to ping destination IP to default path (I-UPF -> PSA-UPF1). when I execute curl command in PCF (Npcf_PolicyAuthorization_create) for traffic influence and route the UE traffic from PSA-UPF1 to PSA-UPF2 and connect another application server.

Environment (please complete the following information):

  • free5GC Version: latest main version.
  • OS: [e.g. Ubuntu 20.04]
  • go version: [e.g. 1.19.0]

##Issue

  • on UERANSIM server, UE is not able to ping cloud application server and once i route the traffic using curl command in PCF, traffic is not diverted from UPF-1 to UPF-2.

##Questions:

  1. is free5gc support multiupf with traffic influence.
  2. once traffic influence curl command executed, is traffic divert from UPF1 to UPF2 in latest version of free5gc ?
  3. if yes, what isthe issue in my configuration file or any reference link to solve this issue ?
@s5uishida
Copy link
Contributor

s5uishida commented Oct 17, 2022

Hi @free5gc-org @ishanshahnio and everyone,

I would also like to try Npcf_PolicyAuthorization.

With reference to 3GPP TS 29.514 5.6.2, when I tried using the curl command, the following log was output, but the route (UPF) of the packet to the specified destination IP address was not changed.

2022-10-17T14:01:16+09:00 [INFO][PCF][PolicyAuth] Session Binding Success - UeIpv4[10.60.0.1], UeIpv6[], UeMac[]
2022-10-17T14:01:16+09:00 [INFO][PCF][PolicyAuth] App Session Id[imsi-001010000000000-1] Create
2022-10-17T14:01:16+09:00 [INFO][PCF][GIN] | 201 |       127.0.0.1 | POST    | /npcf-policyauthorization/v1/app-sessions |
2022-10-17T14:01:16+09:00 [INFO][PCF][NotifyEvent] Handle SendSMpolicyUpdateNotifyEvent
2022-10-17T14:01:16+09:00 [INFO][PCF][NotifyEvent] Send SM Policy Update Notification to SMF
2022-10-17T14:01:16+09:00 [INFO][SMF][PduSess] In HandleSMPolicyUpdateNotify
2022-10-17T14:01:16+09:00 [INFO][SMF][GIN] | 204 |       127.0.0.1 | POST    | /nsmf-callback/sm-policies/urn:uuid:e3cc6142-b1b4-41bb-bcd1-50679e4b9889/update |

In addition, looking at the following config.go, I think that dnaiList can be used in smfcfg.yaml.

  • free5gc/NFs/smf/pkg/factory/config.go
...
type DnnUpfInfoItem struct {
        Dnn             string                  `yaml:"dnn" valid:"required"`
-->     DnaiList        []string                `yaml:"dnaiList" valid:"optional"`
        PduSessionTypes []models.PduSessionType `yaml:"pduSessionTypes" valid:"optional"`
        Pools           []UEIPPool              `yaml:"pools" valid:"optional"`
}
...
  • free5gc/config/smfcfg.yaml
...
      UPF:  # the name of the node
        type: UPF # the type of the node (AN or UPF)
        nodeID: 127.0.0.8 # the IP/FQDN of N4 interface on this UPF (PFCP)
        sNssaiUpfInfos: # S-NSSAI information list for this UPF
          - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
              sst: 1 # Slice/Service Type (uinteger, range: 0~255)
              sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
            dnnUpfInfoList: # DNN information list for this S-NSSAI
              - dnn: internet
(?)-->          dnaiList: [AAA, BBB]
                pools:
                  - cidr: 10.60.0.0/16
...

Therefore, I would be very glad if you could tell me the setting examples (smfcfg.yaml, pcfcfg.yaml, uerouting.yaml, etc) required for Npcf_PolicyAuthorization.

Best regards,

--Shigeru

@ghost
Copy link
Author

ghost commented Oct 17, 2022

Hi @s5uishida, thanks for the update.

DNAI is a critical data in the request and this information is route the traffic to the destination UPF.

Eagerly waiting for reply of @free5gc-org that how it is working to change the datapath of UE runtime through Npcf_policyauthorization

@tim-ywliu
Copy link
Collaborator

@ishanshahnio

Now Traffic Influence is not supported, but will be supported in the near future.

@ghost
Copy link
Author

ghost commented Nov 1, 2022

Hi @tim-ywliu,

thanks for your reply. I would love to work on Traffic Influence once release. Just asking, any tentative dates ?

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

No branches or pull requests

3 participants