UDP performance on pfe slave port is lower(490Mbps) in iperf3 test

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

UDP performance on pfe slave port is lower(490Mbps) in iperf3 test

Jump to solution
4,736 Views
hittzt
Senior Contributor I

Hi,

 

Recently, I used iperf3 to test pfe slave interface performance on UDP, but it seems lower then expected, the results as following:


[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 6] 0.00-60.00 sec 3.45 GBytes 494 Mbits/sec 0.001 ms 104/4221992 (0.0025%)
[ 6] 60.00-120.00 sec 3.45 GBytes 494 Mbits/sec 0.000 ms 2291/3623846 (0.063%)
[ 6] 120.00-180.00 sec 3.45 GBytes 495 Mbits/sec 0.001 ms 163/3622284 (0.0045%)
[ 6] 180.00-240.00 sec 3.46 GBytes 495 Mbits/sec 0.001 ms 55/3624933 (0.0015%)
[ 6] 240.00-300.00 sec 3.46 GBytes 495 Mbits/sec 0.001 ms 539/3623585 (0.015%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 6] 0.00-300.02 sec 17.3 GBytes 495 Mbits/sec 0.000 ms 0/18114116 (0%) sender
[ 6] 0.00-300.00 sec 17.3 GBytes 495 Mbits/sec 0.001 ms 3152/18114107 (0.017%) receiver

iperf Done.

 

And the slave interfaces are all configured following the below steps:

modprobe pfeng
modprobe pfeng-slave disable_netlink=1

#set flexible router for emc2
libfci_cli phyif-update -i emac2 --mode FLEXIBLE_ROUTER --E
libfci_cli logif-add -i emac2msbc --parent=emac2
libfci_cli logif-update -i emac2msbc -E --egres=hif2 --mr=DMAC --dmac=ff:ff:ff:ff:ff:ff

#set slave net namespace
ip netns add slave
ip link set pfe2sl netns slave

#set the pfe2sl to a unused ip address
ip netns exec slave ifconfig pfe2sl <localIP>

Then use following command to test:

ip netns exec slave iperf3 -c <serverIP> -i 1 -t 300 -u -b 1000m

 

And exchanging the server and client get the similar results.

So would you please help to confirm the issue and tell what will affect the iperf3 results and what we can do to promote the UDP performance?

 

Thank,

Zhantao

0 Kudos
Reply
1 Solution
4,538 Views
MayanksPatel
NXP Employee
NXP Employee

Hi @hittzt,

Thank you for your patience.

According to the reference manual, Flexible Router classification would cause performance penalty. Therefore, to get the maximum performance of PFE, I suggest the Vlan Bridge mode. I did the tcp and udp tests and the configurations and results are as follow:

Disabled pfe0, pfe0sl, pfe1, pfess1, aux0, aux0sl in the BSP36,

manually load the .ko files in the kernel

insmod pfeng.ko
insmod pfeng-slave.ko disable_netlink=1
libfci_cli phyif-update -i emac2 --mode FLEXIBLE_ROUTER -P ON
libfci_cli logif-update -i s9.pfe2sl --mr DMAC --dmac 00:04:9f:be:ff:02
ifconfig pfe2sl 10.0.0.111

then set the host as client and S32G as server using the following command to test on the host.

iperf3 -c 10.0.0.111 -i 1 -t 30 -b 1000M -R -P 8

iperf3 -c 10.0.0.111 -i 1 -t 30 -b 1000M -R -P 8 -u

[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-30.00 sec 519 MBytes 145 Mbits/sec 2624 sender
[ 8] 0.00-30.00 sec 483 MBytes 135 Mbits/sec 2722 sender
[ 10] 0.00-30.00 sec 444 MBytes 124 Mbits/sec 2631 sender
[ 12] 0.00-30.00 sec 427 MBytes 119 Mbits/sec 2807 sender
[ 14] 0.00-30.00 sec 408 MBytes 114 Mbits/sec 2700 sender
[ 16] 0.00-30.00 sec 381 MBytes 106 Mbits/sec 2721 sender
[ 18] 0.00-30.00 sec 360 MBytes 101 Mbits/sec 2623 sender
[ 20] 0.00-30.00 sec 345 MBytes 96.4 Mbits/sec 2730 sender
[SUM] 0.00-30.00 sec 3.29 GBytes 941 Mbits/sec 21558 sender

 

[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 6] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 9] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 11] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 13] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 15] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 17] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 19] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253725 (0%) sender
[SUM] 0.00-30.00 sec 2.74 GBytes 784 Mbits/sec 0.000 ms 0/2029814 (0%) sender

exchange the server and client the result will be a little different, and the number of threads also affects the result.

 

Hope this helps.

 

Thanks,

Mayank s Patel

View solution in original post

0 Kudos
Reply
7 Replies
4,635 Views
MayanksPatel
NXP Employee
NXP Employee

Hi @hittzt,

Thank you for reaching out to us.

Please share the detail of the BSP Version and PFE Firmware version used to test the performance.

 

Thanks,

Mayank s Patel

 

 

0 Kudos
Reply
4,696 Views
MayanksPatel
NXP Employee
NXP Employee

Hi @hittzt,

Thank you for reaching out to NXP.

Which BSP Version and PFE Firmware version are you using?

 

 

Thanks,

Mayank s Patel

0 Kudos
Reply
4,671 Views
hittzt
Senior Contributor I

Hi Mayank,

 

I used BSP36 and PFE Firmware v1.6.0 for testing.

 

Thanks,

Zhantao

0 Kudos
Reply
4,570 Views
hittzt
Senior Contributor I

Hi Mayank,

 

Is there any update for this issue?

 

Thanks,

Zhantao

0 Kudos
Reply
4,563 Views
MayanksPatel
NXP Employee
NXP Employee

Hi @hittzt,

Sorry that taking time on this. We are working on this and getting input from the internal team for better idea about this.

Thank you for your patience.

 

Thanks,

Mayank s Patel

0 Kudos
Reply
4,539 Views
MayanksPatel
NXP Employee
NXP Employee

Hi @hittzt,

Thank you for your patience.

According to the reference manual, Flexible Router classification would cause performance penalty. Therefore, to get the maximum performance of PFE, I suggest the Vlan Bridge mode. I did the tcp and udp tests and the configurations and results are as follow:

Disabled pfe0, pfe0sl, pfe1, pfess1, aux0, aux0sl in the BSP36,

manually load the .ko files in the kernel

insmod pfeng.ko
insmod pfeng-slave.ko disable_netlink=1
libfci_cli phyif-update -i emac2 --mode FLEXIBLE_ROUTER -P ON
libfci_cli logif-update -i s9.pfe2sl --mr DMAC --dmac 00:04:9f:be:ff:02
ifconfig pfe2sl 10.0.0.111

then set the host as client and S32G as server using the following command to test on the host.

iperf3 -c 10.0.0.111 -i 1 -t 30 -b 1000M -R -P 8

iperf3 -c 10.0.0.111 -i 1 -t 30 -b 1000M -R -P 8 -u

[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-30.00 sec 519 MBytes 145 Mbits/sec 2624 sender
[ 8] 0.00-30.00 sec 483 MBytes 135 Mbits/sec 2722 sender
[ 10] 0.00-30.00 sec 444 MBytes 124 Mbits/sec 2631 sender
[ 12] 0.00-30.00 sec 427 MBytes 119 Mbits/sec 2807 sender
[ 14] 0.00-30.00 sec 408 MBytes 114 Mbits/sec 2700 sender
[ 16] 0.00-30.00 sec 381 MBytes 106 Mbits/sec 2721 sender
[ 18] 0.00-30.00 sec 360 MBytes 101 Mbits/sec 2623 sender
[ 20] 0.00-30.00 sec 345 MBytes 96.4 Mbits/sec 2730 sender
[SUM] 0.00-30.00 sec 3.29 GBytes 941 Mbits/sec 21558 sender

 

[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 6] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 9] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 11] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 13] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 15] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 17] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253727 (0%) sender
[ 19] 0.00-30.00 sec 350 MBytes 98.0 Mbits/sec 0.000 ms 0/253725 (0%) sender
[SUM] 0.00-30.00 sec 2.74 GBytes 784 Mbits/sec 0.000 ms 0/2029814 (0%) sender

exchange the server and client the result will be a little different, and the number of threads also affects the result.

 

Hope this helps.

 

Thanks,

Mayank s Patel

0 Kudos
Reply
4,445 Views
hittzt
Senior Contributor I

Hi Mayank,

 

Thanks for your kindly reply.

It helps for me.

 

Thanks,

Zhantao

0 Kudos
Reply