Giter Site home page Giter Site logo

free5gc_ueransim_vpp_upf_dpdk_sample_config's People

Contributors

s5uishida avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

canerberk

free5gc_ueransim_vpp_upf_dpdk_sample_config's Issues

Iperf3 test showing 0 throughput for both TCP and UDP

Hi s5uishida,

Thanks for the detailed tutorial! I tried it with the following setup and ping works well.

:~/UERANSIM/build$ ping google.com -I uesimtun0 -n
PING google.com (142.250.190.46) from 10.60.0.1 uesimtun0: 56(84) bytes of data.
64 bytes from 142.250.190.46: icmp_seq=1 ttl=110 time=7.04 ms
64 bytes from 142.250.190.46: icmp_seq=2 ttl=110 time=7.18 ms
64 bytes from 142.250.190.46: icmp_seq=3 ttl=110 time=6.97 ms

However, when I tested with iperf3, the outputs are 0 throughput:

~/UERANSIM/build$ sh nr-binder 10.60.0.1 iperf3 -c 192.168.16.152 -i 1 -t 10
Connecting to host 192.168.16.152, port 5201
[  5] local 10.60.0.1 port 43861 connected to 192.168.16.152 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   108 KBytes   883 Kbits/sec    2   1.32 KBytes
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec    1   1.32 KBytes
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec    0   1.32 KBytes
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec    1   1.32 KBytes
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec    0   1.32 KBytes
[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec    0   1.32 KBytes
[  5]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec    1   1.32 KBytes
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec    0   1.32 KBytes
[  5]   8.00-9.00   sec  0.00 Bytes  0.00 bits/sec    0   1.32 KBytes
[  5]   9.00-10.00  sec  0.00 Bytes  0.00 bits/sec    0   1.32 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   108 KBytes  88.4 Kbits/sec    5             sender
[  5]   0.00-10.00  sec  0.00 Bytes  0.00 bits/sec                  receiver

For the iperf3 server, I runiperf3 -s in the DN server.

~$ iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.60.0.1, port 57687
[  5] local 192.168.16.152 port 5201 connected to 10.60.0.1 port 49049
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  0.00 Bytes  0.00 bits/sec
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-3.00   sec  0.00 Bytes  0.00 bits/sec                  receiver

For UDP packets, client side (UE) shows as below:

~/UERANSIM/build$ sh nr-binder 10.60.0.1 iperf3 -c  192.168.16.152 -i 1 -t 100 -u
Connecting to host 192.168.16.152, port 5201
[  5] local 10.60.0.1 port 41467 connected to 192.168.16.152 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec   129 KBytes  1.06 Mbits/sec  98
[  5]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec  97
[  5]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec  97
[  5]   3.00-4.00   sec   128 KBytes  1.05 Mbits/sec  97
[  5]   4.00-5.00   sec   129 KBytes  1.06 Mbits/sec  98
[  5]   5.00-6.00   sec   128 KBytes  1.05 Mbits/sec  97
[  5]   6.00-7.00   sec   128 KBytes  1.05 Mbits/sec  97
[  5]   7.00-8.00   sec   128 KBytes  1.05 Mbits/sec  97
[  5]   8.00-9.00   sec   129 KBytes  1.06 Mbits/sec  98
[  5]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec  97
[  5]  10.00-11.00  sec   128 KBytes  1.05 Mbits/sec  97
[  5]  11.00-12.00  sec   128 KBytes  1.05 Mbits/sec  97

However, server side (DN server) shows 0.00 Bytes 0.00 bits/sec as TCP, and there is no packet going through n3 tx and n6 tx (n3 rx and n6 rx packets are normal).

My setting contains 3 bare-metal servers. I run free5gc control plane and upg-vpp in the same server, and set the n4 interface as a veth pair between them. The other 2 servers are one for UERANSIM and one for DN. 5GC server has two 10Gb NICs connecting with UERAN and DN server.

Could you share any thoughts on how to debug this? Thanks in advance!

BTW, I use free5gc's main branch, rather than v3.3.0's achieve. When I use v3.3.0, I encountered the same issue here: free5gc/free5gc#457 (comment)

My startup.conf:

heapsize 2G
unix {
  nodaemon
  log /tmp/vpp.log
  full-coredump
  gid vpp
  interactive
  cli-listen /run/vpp/cli.sock
  exec /root/openair-upf/init.conf
}

api-trace {
  on
}

cpu {
  main-core 0
  corelist-workers 1-3
}

api-segment {
  gid vpp
}

dpdk {
  dev 0000:06:00.0 {name n3}
  dev 0000:06:00.1 {name n6}
}

plugins {
    path /usr/local/vpp/lib/x86_64-linux-gnu/vpp_plugins/
    plugin oddbuf_plugin.so { enable }
    plugin dpdk_plugin.so { enable }
    plugin upf_plugin.so { enable }

init.conf:

set interface ip table n6 0
set interface mtu 9000 n6
set interface ip address n6 192.168.16.151/24
set interface state n6 up

create host-interface name n4in
set interface ip table host-n4in 0
set interface mtu 9000 host-n4in
set interface ip address host-n4in 192.168.14.151/24
set interface state host-n4in up

set interface ip table n3 0
set interface mtu 9000 n3
set interface ip address n3 192.168.13.151/24
set interface state n3 up

ip route add 0.0.0.0/0 table 0 via 192.168.16.152 n6

upf pfcp endpoint ip 192.168.14.151 vrf 0

upf node-id fqdn 192.168.14.151

upf nwi name internet vrf 0

upf specification release 16

upf gtpu endpoint ip 192.168.13.151 nwi internet teid 0x000004d2/2

My free5gc's control plane configurations are same as yours.

My 5GC server interfaces:

~$ ifconfig
enp1s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 128.105.145.149  netmask 255.255.252.0  broadcast 128.105.147.255
        inet6 fe80::72e4:22ff:fe83:e2bc  prefixlen 64  scopeid 0x20<link>
        ether 70:e4:22:83:e2:bc  txqueuelen 1000  (Ethernet)
        RX packets 9217993  bytes 1904016126 (1.9 GB)
        RX errors 0  dropped 0  overruns 2  frame 0
        TX packets 369089  bytes 59611887 (59.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xc6a00000-c6afffff

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 273791  bytes 32372522 (32.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 273791  bytes 32372522 (32.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

n4in: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::9c54:8dff:fe32:68cf  prefixlen 64  scopeid 0x20<link>
        ether 9e:54:8d:32:68:cf  txqueuelen 1000  (Ethernet)
        RX packets 18206  bytes 1092138 (1.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18141  bytes 4015454 (4.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

n4out: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.14.141  netmask 255.255.255.0  broadcast 192.168.14.255
        inet6 fe80::c0b5:a8ff:fe1f:368f  prefixlen 64  scopeid 0x20<link>
        ether c2:b5:a8:1f:36:8f  txqueuelen 1000  (Ethernet)
        RX packets 18141  bytes 4015454 (4.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18206  bytes 1092138 (1.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
~$ dpdk-devbind.py -s

Network devices using DPDK-compatible driver
============================================
0000:06:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=uio_pci_generic unused=ixgbe,vfio-pci
0000:06:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=uio_pci_generic unused=ixgbe,vfio-pci

Network devices using kernel driver
===================================
0000:01:00.0 'I350 Gigabit Network Connection 1521' if=enp1s0f0 drv=igb unused=vfio-pci,uio_pci_generic *Active*
0000:01:00.1 'I350 Gigabit Network Connection 1521' if=enp1s0f1 drv=igb unused=vfio-pci,uio_pci_generic

UERAN server interfaces:

~$ ifconfig
enp1s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 128.105.145.155  netmask 255.255.252.0  broadcast 128.105.147.255
        inet6 fe80::72e4:22ff:fe83:c21c  prefixlen 64  scopeid 0x20<link>
        ether 70:e4:22:83:c2:1c  txqueuelen 1000  (Ethernet)
        RX packets 1712978  bytes 111083437 (111.0 MB)
        RX errors 0  dropped 0  overruns 1  frame 0
        TX packets 150662  bytes 115352818 (115.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xc6a00000-c6afffff

enp6s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.13.131  netmask 255.255.255.0  broadcast 192.168.13.255
        inet6 fe80::92e2:baff:feb2:9944  prefixlen 64  scopeid 0x20<link>
        ether 90:e2:ba:b2:99:44  txqueuelen 1000  (Ethernet)
        RX packets 351  bytes 38201 (38.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16114  bytes 22487453 (22.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 148815  bytes 36987458 (36.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 148815  bytes 36987458 (36.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

uesimtun0: flags=369<UP,POINTOPOINT,NOTRAILERS,RUNNING,PROMISC>  mtu 1400
        inet 10.60.0.1  netmask 255.255.255.255  destination 10.60.0.1
        inet6 fe80::73f4:a1f7:938c:b152  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 54  bytes 3316 (3.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 127  bytes 79181 (79.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

uesimtun1: flags=369<UP,POINTOPOINT,NOTRAILERS,RUNNING,PROMISC>  mtu 1400
        inet 10.60.0.2  netmask 255.255.255.255  destination 10.60.0.2
        inet6 fe80::7309:4e16:af45:a374  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11  bytes 640 (640.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

uesimtun2: flags=369<UP,POINTOPOINT,NOTRAILERS,RUNNING,PROMISC>  mtu 1400
        inet 10.60.0.3  netmask 255.255.255.255  destination 10.60.0.3
        inet6 fe80::b75c:a89:a67b:b456  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11  bytes 640 (640.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

DN server interfaces:

~$ ifconfig
enp1s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 128.105.145.169  netmask 255.255.252.0  broadcast 128.105.147.255
        inet6 fe80::72e4:22ff:fe83:eb08  prefixlen 64  scopeid 0x20<link>
        ether 70:e4:22:83:eb:08  txqueuelen 1000  (Ethernet)
        RX packets 6478192  bytes 1129562545 (1.1 GB)
        RX errors 0  dropped 30  overruns 3  frame 0
        TX packets 392413  bytes 73191590 (73.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xc6a00000-c6afffff

enp6s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.16.152  netmask 255.255.255.0  broadcast 192.168.16.255
        inet6 fe80::92e2:baff:feac:1621  prefixlen 64  scopeid 0x20<link>
        ether 90:e2:ba:ac:16:21  txqueuelen 1000  (Ethernet)
        RX packets 521978  bytes 51202926 (51.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 511907  bytes 50208432 (50.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 488435  bytes 12800725559 (12.8 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 488435  bytes 12800725559 (12.8 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.