# UPF Configuration ## startup.conf 只需要将 PCI ID 配置好,VPP 就会自动纳管 Network Interface 了。 ```bash heapsize 2G unix { # nodaemon cli-listen /run/vpp/cli.sock log /var/log/vpp/vpp.log full-coredump gid vpp exec /etc/vpp/upf.conf } api-trace { on } logging { default-syslog-log-level info unthrottle-time 1 } api-segment { gid vpp } upf { white-list-conf /etc/vpp/white_list_conf.xml grey-list-conf /etc/vpp/grey_list_conf.xml http-header-enrichment-conf /etc/vpp/http_header_enrichment_conf.xml https-header-enrichment-conf /etc/vpp/https_header_enrichment_conf.xml # predef-conf /etc/vpp/predef_conf.xml } buffers { buffers-per-numa 32768 } statseg { size 256m } socksvr { default } cpu { main-core 0 #corelist-pfcp-threads 1 #corelist-workers 2 workers 2 pfcp-threads 1 } dpdk { dev 0000:00:07.0 { num-rx-queues 1 } dev 0000:00:08.0 { num-rx-queues 1 } dev 0000:00:06.0 { num-rx-queues 1 } dev 0000:00:0a.0 { num-rx-queues 1 } } plugins { plugin gtpu_plugin.so { disable } plugin ndpi_plugin.so { enable } } dns { max-ttl 120 } ``` ## PSA v4 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level info upf feature FTUP support comment{================== Ethernet Ports ===================} comment{N4} set int state VirtualFunctionEthernet0/7/0 up comment{N3} set int state VirtualFunctionEthernet0/6/0 up comment{N6} set int state VirtualFunctionEthernet0/8/0 up set int mtu 1500 VirtualFunctionEthernet0/7/0 set int mtu 1500 VirtualFunctionEthernet0/6/0 set int mtu 1500 VirtualFunctionEthernet0/8/0 set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/6/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/7/0 192.168.40.89/24 set int ip address VirtualFunctionEthernet0/6/0 192.168.30.99/24 set int ip address VirtualFunctionEthernet0/8/0 192.168.1.24/24 ip route add 0.0.0.0/0 table 0 via 192.168.1.1 VirtualFunctionEthernet0/8/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.89 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf gtpu endpoint ip 192.168.40.89 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.99 intf access nwi epc TEID-Range-Indication 4 ``` ## PSA v6 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level info comment{upf feature FTUP support} comment{================== Ethernet Ports ===================} comment{N4} set int state VirtualFunctionEthernet0/7/0 up comment{N3} set int state VirtualFunctionEthernet0/6/0 up comment{N6} set int state VirtualFunctionEthernet0/8/0 up set int mtu ip4 1500 VirtualFunctionEthernet0/7/0 set int mtu ip4 1500 VirtualFunctionEthernet0/6/0 set int mtu ip4 1500 VirtualFunctionEthernet0/8/0 set int mtu ip6 9000 VirtualFunctionEthernet0/7/0 set int mtu ip6 9000 VirtualFunctionEthernet0/6/0 set int mtu ip6 9000 VirtualFunctionEthernet0/8/0 set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/6/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/7/0 192.168.40.89/24 set int ip address VirtualFunctionEthernet0/6/0 192.168.30.99/24 comment{================== Ethernet Port IPv6 Address and Route ===================} set ip6 address VirtualFunctionEthernet0/8/0 fc00::2/7 ip route add ::/0 table 0 via fc00::1 VirtualFunctionEthernet0/8/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.89 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf gtpu endpoint ip 192.168.40.89 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.99 intf access nwi epc TEID-Range-Indication 4 ``` ## PSA v4v6 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level info comment{upf feature FTUP support} comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/7/0 up set int state VirtualFunctionEthernet0/6/0 up set int state VirtualFunctionEthernet0/8/0 up set int mtu ip4 1500 VirtualFunctionEthernet0/7/0 set int mtu ip4 1500 VirtualFunctionEthernet0/6/0 set int mtu ip4 1500 VirtualFunctionEthernet0/8/0 set int mtu ip6 9000 VirtualFunctionEthernet0/7/0 set int mtu ip6 9000 VirtualFunctionEthernet0/6/0 set int mtu ip6 9000 VirtualFunctionEthernet0/8/0 set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/6/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/7/0 192.168.40.89/24 set int ip address VirtualFunctionEthernet0/6/0 192.168.30.99/24 set int ip address VirtualFunctionEthernet0/8/0 192.168.1.24/24 ip route add 0.0.0.0/0 table 0 via 192.168.1.1 VirtualFunctionEthernet0/8/0 comment{================== Ethernet Port IPv6 Address and Route ===================} set ip6 address VirtualFunctionEthernet0/8/0 fc00::2/7 ip route add ::/0 table 0 via fc00::1 VirtualFunctionEthernet0/8/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.89 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf gtpu endpoint ip 192.168.40.89 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.99 intf access nwi epc TEID-Range-Indication 4 ``` ## I-UPF v4 I-UPF 场景中,只有 PSA 会建立 PDU Session。 - I-UPF ``` uranus> show upf session ---------------------------------------------------- CP F-SEID: 0x00000000000000c1 (193) @ 192.168.40.53 UP F-SEID: 0x00000000000000ff (255) @ 192.168.40.89 ---------------------------------------------------- CP F-SEID: 0x0000000000000002 (2) @ 192.168.40.53 UP F-SEID: 0x0000000000000100 (256) @ 192.168.40.89 Total session num = 2 ``` - PSA ``` uranus> show upf session ---------------------------------------------------- CP F-SEID: 0x00000000000000c1 (193) @ 192.168.40.53 UP F-SEID: 0x00000000000000f8 (248) @ 192.168.40.90 table_id 0 ue_ip 172.20.231.1 ---------------------------------------------------- CP F-SEID: 0x0000000000000001 (1) @ 192.168.40.53 UP F-SEID: 0x00000000000000fb (251) @ 192.168.40.90 Total session num = 2 uranus> show upf session table_id 0 ue_ip 172.20.231.1 ---------------------------------------------------- CP F-SEID: 0x00000000000000c1 (193) @ 192.168.40.53 UP F-SEID: 0x00000000000000f8 (248) @ 192.168.40.90 Sx Association: 0 (prev:4294967295,next:250) Sx data active: 1 , detective priod: 40 s IMSI:466920100001101, DNN: default.mnc092.mcc466.gprs PDR: 3 Precedence: 255 PDI: Fields: 0x00000104 Source Interface: Core Source Interface type: 17 UE IP address: IPv4 address: 172.20.231.1 Outer Header Removal: no FAR Id: 546308097 URR Ids: [] QER Ids: [4,2] PDR: 2 Precedence: 255 PDI: Fields: 0x00000127 Source Interface: Access Source Interface type: 15 Network Instance: epc Local F-TEID: 805306497 (0x30000081) IPv4: 192.168.90.200 UE IP address: IPv4 address: 172.20.231.1 QFI: 1 Outer Header Removal: GTPU/UDP/IP FAR Id: 546308098 URR Ids: [] QER Ids: [4,2] FAR: 546308097 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Access Network Instance: epc Outer Header Creation: [GTP-U/UDP/IPv4],TEID:10000081,IP:192.168.90.100 Transport Level Marking: 0x38 FAR: 546308098 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Core DEST interface Type: 17 Transport Level Marking: 0x38 QER: 2 QFI: 0 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 1000000kbps DL MBR: 1000000kbps UL policer MBR: 1000000kbps DL policer MBR: 1000000kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms QER: 4 QFI: 1 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 0kbps DL MBR: 0kbps UL policer MBR: 0kbps DL policer MBR: 0kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms BAR: 1 Downlink Data Notification Delay: 0 ms Downlink Buffering Duration: 0 seconds Downlink Buffering Suggested Packet Count: 65535 Suggested Buffering Packets Count: 255 ``` ### I-UPF ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level debug comment{upf feature FTUP support} comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/7/0 up set int state VirtualFunctionEthernet0/6/0 up set int state VirtualFunctionEthernet0/a/0 up upf gtpu-tunnel-mtu 1400 set int mtu ip4 1500 VirtualFunctionEthernet0/6/0 set int mtu ip4 9000 VirtualFunctionEthernet0/a/0 set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/6/0 on set interface reassembly VirtualFunctionEthernet0/a/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/7/0 192.168.40.89/24 set int ip address VirtualFunctionEthernet0/6/0 192.168.30.99/24 ip table add 90 set interface ip table VirtualFunctionEthernet0/a/0 90 set interface ip address VirtualFunctionEthernet0/a/0 192.168.90.100/24 ip route add 0.0.0.0/0 table 90 via 192.168.90.200 VirtualFunctionEthernet0/a/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.89 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf nwi name upf1_n9_dl vrf 90 upf gtpu endpoint ip 192.168.40.89 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.99 intf access nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.90.100 intf core nwi upf1_n9_dl TEID-Range-Indication 4 ``` ### PSA ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level info comment{upf feature FTUP support} comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/9/0 up set int state VirtualFunctionEthernet0/7/0 up set int state VirtualFunctionEthernet0/8/0 up upf gtpu-tunnel-mtu 1400 set int mtu ip4 9000 VirtualFunctionEthernet0/7/0 set int mtu ip4 9000 VirtualFunctionEthernet0/8/0 set interface reassembly VirtualFunctionEthernet0/9/0 on set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/9/0 192.168.40.90/24 set int ip address VirtualFunctionEthernet0/7/0 192.168.90.200/24 set int ip address VirtualFunctionEthernet0/8/0 192.168.201.3/24 ip route add 0.0.0.0/0 table 0 via 192.168.201.1 VirtualFunctionEthernet0/8/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.90 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf gtpu endpoint ip 192.168.40.90 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.90.200 intf access nwi epc TEID-Range-Indication 4 ``` ## UL CL 本地分流方案 v4 UL CL 场景中,I-UPF(PSA1 合设)、PSA2 都会建立 PDU Session。 - I-UPF/PSA1 ``` uranus> show upf session ---------------------------------------------------- CP F-SEID: 0x0000000000000041 (65) @ 192.168.40.53 UP F-SEID: 0x00000000000000ff (255) @ 192.168.40.89 table_id 0 ue_ip 172.20.231.1 ---------------------------------------------------- CP F-SEID: 0x0000000000000001 (1) @ 192.168.40.53 UP F-SEID: 0x0000000000000100 (256) @ 192.168.40.89 Total session num = 2 uranus> show upf session table_id 0 ue_ip 172.20.231.1 ---------------------------------------------------- CP F-SEID: 0x0000000000000041 (65) @ 192.168.40.53 UP F-SEID: 0x00000000000000ff (255) @ 192.168.40.89 Sx Association: 0 (prev:4294967295,next:255) Sx data active: 1 , detective priod: 0 s IMSI:466920100001101, DNN: default.mnc092.mcc466.gprs PDR: 3 Precedence: 1 PDI: Fields: 0x0000012f Source Interface: Core Source Interface type: 15 Network Instance: upf1_n9_dl Local F-TEID: 1073741827 (0x40000003) IPv4: 192.168.90.100 UE IP address: IPv4 address: 172.20.231.1 SDF Filter: V4V6: permit out ip from any to any QFI: 1 Outer Header Removal: GTPU/UDP/IP FAR Id: 546308129 URR Ids: [] QER Ids: [4,2] PDR: 32771 Precedence: 1 PDI: Fields: 0x0000010c Source Interface: Core Source Interface type: 17 UE IP address: IPv4 address: 172.20.231.1 SDF Filter: V4V6: permit out ip from any to any Outer Header Removal: no FAR Id: 546308129 URR Ids: [] QER Ids: [4,2] PDR: 2 Precedence: 1 PDI: Fields: 0x0000012f Source Interface: Access Source Interface type: 11 Network Instance: epc Local F-TEID: 1073741827 (0x40000003) IPv4: 192.168.30.99 UE IP address: IPv4 address: 172.20.231.1 SDF Filter: V4V6: permit out ip from any to any QFI: 1 Outer Header Removal: GTPU/UDP/IP FAR Id: 546308128 URR Ids: [] QER Ids: [4,2] PDR: 5 Precedence: 255 PDI: Fields: 0x00000127 Source Interface: Core Source Interface type: 15 Network Instance: upf1_n9_dl Local F-TEID: 1073741827 (0x40000003) IPv4: 192.168.90.100 UE IP address: IPv4 address: 172.20.231.1 QFI: 1 Outer Header Removal: GTPU/UDP/IP FAR Id: 546308097 URR Ids: [] QER Ids: [6,2] PDR: 4 Precedence: 255 PDI: Fields: 0x00000127 Source Interface: Access Source Interface type: 11 Network Instance: epc Local F-TEID: 1073741827 (0x40000003) IPv4: 192.168.30.99 UE IP address: IPv4 address: 172.20.231.1 QFI: 1 Outer Header Removal: GTPU/UDP/IP FAR Id: 546308099 URR Ids: [] QER Ids: [6,2] FAR: 546308097 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Access Network Instance: epc Outer Header Creation: [GTP-U/UDP/IPv4],TEID:000000d9,IP:192.168.30.100 Transport Level Marking: 0x38 FAR: 546308098 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Core DEST interface Type: 17 Transport Level Marking: 0x38 FAR: 546308099 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Core Network Instance: upf1_n9_dl DEST interface Type: 15 Outer Header Creation: [GTP-U/UDP/IPv4],TEID:70000001,IP:192.168.90.200 Transport Level Marking: 0x38 FAR: 546308128 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Core DEST interface Type: 17 Transport Level Marking: 0x38 FAR: 546308129 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Access Network Instance: epc Outer Header Creation: [GTP-U/UDP/IPv4],TEID:000000d9,IP:192.168.30.100 Transport Level Marking: 0x38 QER: 2 QFI: 0 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 1000000kbps DL MBR: 1000000kbps UL policer MBR: 1000000kbps DL policer MBR: 1000000kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms QER: 4 QFI: 1 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 0kbps DL MBR: 0kbps UL policer MBR: 0kbps DL policer MBR: 0kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms QER: 5 QFI: 1 RQI: 0 UL Gate: 1 == [CLOSED] DL Gate: 1 == [CLOSED] UL MBR: 0kbps DL MBR: 0kbps UL policer MBR: 0kbps DL policer MBR: 0kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms QER: 6 QFI: 1 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 0kbps DL MBR: 0kbps UL policer MBR: 0kbps DL policer MBR: 0kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms ``` - PSA2 ``` uranus> show upf session ---------------------------------------------------- CP F-SEID: 0x0000000000000002 (2) @ 192.168.40.53 UP F-SEID: 0x00000000000000ed (237) @ 192.168.40.90 ---------------------------------------------------- CP F-SEID: 0x0000000000000041 (65) @ 192.168.40.53 UP F-SEID: 0x00000000000000e3 (227) @ 192.168.40.90 table_id 0 ue_ip 172.20.231.1 Total session num = 2 uranus> show upf session table_id 0 ue_ip 172.20.231.1 ---------------------------------------------------- CP F-SEID: 0x0000000000000041 (65) @ 192.168.40.53 UP F-SEID: 0x00000000000000e3 (227) @ 192.168.40.90 Sx Association: 0 (prev:4294967295,next:236) Sx data active: 0 , detective priod: 40 s IMSI:466920100001101, DNN: default.mnc092.mcc466.gprs PDR: 3 Precedence: 1 PDI: Fields: 0x0000010c Source Interface: Core Source Interface type: 17 UE IP address: IPv4 address: 172.20.231.1 SDF Filter: V4V6: permit out ip from any to any Outer Header Removal: no FAR Id: 546308129 URR Ids: [] QER Ids: [4,2] PDR: 2 Precedence: 1 PDI: Fields: 0x0000012f Source Interface: Access Source Interface type: 15 Network Instance: epc Local F-TEID: 1879048193 (0x70000001) IPv4: 192.168.90.200 UE IP address: IPv4 address: 172.20.231.1 SDF Filter: V4V6: permit out ip from any to any QFI: 1 Outer Header Removal: GTPU/UDP/IP FAR Id: 546308128 URR Ids: [] QER Ids: [4,2] PDR: 5 Precedence: 255 PDI: Fields: 0x00000104 Source Interface: Core Source Interface type: 17 UE IP address: IPv4 address: 172.20.231.1 Outer Header Removal: no FAR Id: 546308097 URR Ids: [] QER Ids: [6,2] PDR: 4 Precedence: 255 PDI: Fields: 0x00000127 Source Interface: Access Source Interface type: 15 Network Instance: epc Local F-TEID: 1879048193 (0x70000001) IPv4: 192.168.90.200 UE IP address: IPv4 address: 172.20.231.1 QFI: 1 Outer Header Removal: GTPU/UDP/IP FAR Id: 546308098 URR Ids: [] QER Ids: [6,2] FAR: 546308097 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Access Network Instance: epc Outer Header Creation: [GTP-U/UDP/IPv4],TEID:40000003,IP:192.168.90.100 Transport Level Marking: 0x38 FAR: 546308098 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Core DEST interface Type: 17 Transport Level Marking: 0x38 FAR: 546308128 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Core DEST interface Type: 17 Transport Level Marking: 0x38 FAR: 546308129 Apply Action: 00000002 == [FORWARD] Forward: Destination Interface: Access Network Instance: epc Outer Header Creation: [GTP-U/UDP/IPv4],TEID:40000003,IP:192.168.90.100 Transport Level Marking: 0x38 QER: 2 QFI: 0 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 1000000kbps DL MBR: 1000000kbps UL policer MBR: 1000000kbps DL policer MBR: 1000000kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms QER: 4 QFI: 1 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 0kbps DL MBR: 0kbps UL policer MBR: 0kbps DL policer MBR: 0kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms QER: 5 QFI: 1 RQI: 0 UL Gate: 1 == [CLOSED] DL Gate: 1 == [CLOSED] UL MBR: 0kbps DL MBR: 0kbps UL policer MBR: 0kbps DL policer MBR: 0kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms QER: 6 QFI: 1 RQI: 0 UL Gate: 0 == [OPEN] DL Gate: 0 == [OPEN] UL MBR: 0kbps DL MBR: 0kbps UL policer MBR: 0kbps DL policer MBR: 0kbps UL GBR: 0kbps DL GBR: 0kbps Averaging Window: 1000 ms BAR: 1 Downlink Data Notification Delay: 0 ms Downlink Buffering Duration: 0 seconds Downlink Buffering Suggested Packet Count: 65535 Suggested Buffering Packets Count: 255 ``` ### PCF predefined-sm-policy-rules.xml 配置基于 PCC Rule 的 Traffic Routing(分流)规则。 ```xml # 配置 tcList 与 FlowList 的关系。 # 配置 Traffic Routing 的目标 DNAI。 ``` ### SMF upf.xml 为 DNN 配置响应的 DNAI。 ```xml ``` ### I-UPF/PSA1 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level debug comment{upf feature FTUP support} comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/7/0 up set int state VirtualFunctionEthernet0/6/0 up set int state VirtualFunctionEthernet0/8/0 up set int state VirtualFunctionEthernet0/a/0 up upf gtpu-tunnel-mtu 1400 set int mtu ip4 1500 VirtualFunctionEthernet0/6/0 set int mtu ip4 1500 VirtualFunctionEthernet0/8/0 set int mtu ip4 9000 VirtualFunctionEthernet0/a/0 set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/6/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on set interface reassembly VirtualFunctionEthernet0/a/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/7/0 192.168.40.89/24 set int ip address VirtualFunctionEthernet0/6/0 192.168.30.99/24 comment{N6} set int ip address VirtualFunctionEthernet0/8/0 192.168.1.24/24 ip route add 0.0.0.0/0 table 0 via 192.168.1.1 VirtualFunctionEthernet0/8/0 comment{N9} ip table add 90 set interface ip table VirtualFunctionEthernet0/a/0 90 set interface ip address VirtualFunctionEthernet0/a/0 192.168.90.100/24 ip route add 0.0.0.0/0 table 90 via 192.168.90.200 VirtualFunctionEthernet0/a/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.89 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf nwi name upf1_n9_dl vrf 90 upf gtpu endpoint ip 192.168.40.89 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.99 intf access nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.90.100 intf core nwi upf1_n9_dl TEID-Range-Indication 4 ``` ### PSA2 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level info comment{upf feature FTUP support} comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/9/0 up set int state VirtualFunctionEthernet0/7/0 up set int state VirtualFunctionEthernet0/8/0 up upf gtpu-tunnel-mtu 1400 set int mtu ip4 9000 VirtualFunctionEthernet0/7/0 set int mtu ip4 9000 VirtualFunctionEthernet0/8/0 set interface reassembly VirtualFunctionEthernet0/9/0 on set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/9/0 192.168.40.90/24 set int ip address VirtualFunctionEthernet0/7/0 192.168.90.200/24 set int ip address VirtualFunctionEthernet0/8/0 192.168.201.3/24 ip route add 0.0.0.0/0 table 0 via 192.168.201.1 VirtualFunctionEthernet0/8/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.90 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf gtpu endpoint ip 192.168.40.90 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.90.200 intf access nwi epc TEID-Range-Indication 4 ``` ## 单 UPF 多 DN 精确路由方案 一个 UPF 对应两个 DNN,需要在 UPF 上配置两个 N6,这两个 N6 处于不同的 NWI。以两个物理 N6 为例,也可以换成虚拟的。 NOTE:N6 GTP-U 不需要显示配置。 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level debug upf feature FTUP support comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/7/0 up set int state VirtualFunctionEthernet0/6/0 up set int state VirtualFunctionEthernet0/8/0 up set int state VirtualFunctionEthernet0/b/0 up upf gtpu-tunnel-mtu 1400 set int mtu ip4 1500 VirtualFunctionEthernet0/6/0 set int mtu ip4 9000 VirtualFunctionEthernet0/8/0 set int mtu ip4 9000 VirtualFunctionEthernet0/b/0 set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/6/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on set interface reassembly VirtualFunctionEthernet0/b/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/7/0 192.168.40.89/24 set int ip address VirtualFunctionEthernet0/6/0 192.168.30.99/24 comment{N6-1} ip table add 61 set interface ip table VirtualFunctionEthernet0/8/0 61 set interface ip address VirtualFunctionEthernet0/8/0 192.168.1.24/24 ip route add 0.0.0.0/0 table 61 via 192.168.1.1 VirtualFunctionEthernet0/8/0 comment{N6-2} ip table add 62 set interface ip table VirtualFunctionEthernet0/b/0 62 set interface ip address VirtualFunctionEthernet0/b/0 192.168.201.4/24 ip route add 0.0.0.0/0 table 62 via 192.168.201.1 VirtualFunctionEthernet0/b/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.89 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf nwi name default_n6 vrf 61 upf nwi name private_n6 vrf 62 upf gtpu endpoint ip 192.168.40.89 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.99 intf access nwi epc TEID-Range-Indication 4 ``` ## DNN 本地分流方案 ### UPF1 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level debug comment{upf feature FTUP support} comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/7/0 up set int state VirtualFunctionEthernet0/6/0 up set int state VirtualFunctionEthernet0/8/0 up upf gtpu-tunnel-mtu 1400 set int mtu ip4 1500 VirtualFunctionEthernet0/6/0 set int mtu ip4 9000 VirtualFunctionEthernet0/8/0 set interface reassembly VirtualFunctionEthernet0/7/0 on set interface reassembly VirtualFunctionEthernet0/6/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/7/0 192.168.40.89/24 set int ip address VirtualFunctionEthernet0/6/0 192.168.30.99/24 set int ip address VirtualFunctionEthernet0/8/0 192.168.1.24/24 ip route add 0.0.0.0/0 table 0 via 192.168.1.1 VirtualFunctionEthernet0/8/0 comment{================== Ethernet Port IPv6 Address and Route ===================} set ip6 address VirtualFunctionEthernet0/8/0 fc00::2/7 ip route add ::/0 table 0 via fc00::1 VirtualFunctionEthernet0/8/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.89 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf gtpu endpoint ip 192.168.40.89 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.99 intf access nwi epc TEID-Range-Indication 4 comment{================== DNS plugin ===================} binary-api dns_name_server_add_del 114.114.114.114 binary-api dns_enable_disable ``` ### UPF2 ```bash comment{===================== VPP Features =======================} upf enable-disable upf log level info upf feature FTUP support comment{================== Ethernet Ports ===================} set int state VirtualFunctionEthernet0/a/0 up set int state VirtualFunctionEthernet0/9/0 up set int state VirtualFunctionEthernet0/8/0 up upf gtpu-tunnel-mtu 1400 set int mtu ip4 9000 VirtualFunctionEthernet0/a/0 set int mtu ip4 9000 VirtualFunctionEthernet0/9/0 set interface reassembly VirtualFunctionEthernet0/a/0 on set interface reassembly VirtualFunctionEthernet0/9/0 on set interface reassembly VirtualFunctionEthernet0/8/0 on comment{================== Ethernet Port IPv4 Address and Route ===================} set int ip address VirtualFunctionEthernet0/a/0 192.168.30.102/24 set int ip address VirtualFunctionEthernet0/9/0 192.168.40.90/24 set int ip address VirtualFunctionEthernet0/8/0 192.168.201.3/24 ip route add 0.0.0.0/0 table 0 via 192.168.201.1 VirtualFunctionEthernet0/8/0 comment{================== PFCP Endpoint ===================} upf pfcp endpoint ip 192.168.40.90 vrf 0 comment{================== GTP-U Tunnel ===================} upf nwi name epc vrf 0 upf gtpu endpoint ip 192.168.40.90 intf cp nwi epc TEID-Range-Indication 4 upf gtpu endpoint ip 192.168.30.102 intf access nwi epc TEID-Range-Indication 4 ```