udp packets received are out-of-order on B4860

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

udp packets received are out-of-order on B4860

Jump to solution
1,481 Views
xunxiao
Contributor I

I have two B4860 boards, A and B, fm1-mac5 of A is shared mac device,fm1-mac5 of B is private mac device,and the two NICs are connected directly through fiber.

I send udp packets from A to B, and use tcpdump to capture packets on B, Some packages are out-of-order. I can confirm that packets of B are sent in order. I wonder what goes wrong, whether i miss some setting of the NICs


Thanks,
Kession

0 Kudos
1 Solution
1,010 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello xun xiao,

Unlike TCP, UDP is an unreliable high level protocol, we also encountered out-of-order issue in iperf UDP testing on B4860.

You could use core-affined queue to implement order order preservation, please use one of the following default FMC policy files.
/etc/fmc/config/private/b4860qds/*/policy_ipv4.xml
/etc/fmc/config/private/b4860qds/*/policy_ipv6.xml

 

Please execute FMC commands as the following before all networking related operation.
# fmc -c /etc/fmc/config/private/b4860qds/*/config.xml -p /etc/fmc/config/private/b4860qds/*/policy_ipv4.xml -a

 

This is because in DPAA1, each interface used by default one pool channel across all software portals and also the dedicated channel of each CPU. In Linux Kernel, PCD Frame queues in use dedicated channels.You could refer to
the section "5. Dedicated and Pool Channels Usage in Linux Kernel" inUsing QMAN Dedicated and Pool Channels in USDPAA and Linux Kernel .


You need to use multiple flows, after executing FMC policy, one flow will bind to one core, so all 4 cores will be used by multiple flows. In the real scenario, one user application uses one flow.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
1 Reply
1,011 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello xun xiao,

Unlike TCP, UDP is an unreliable high level protocol, we also encountered out-of-order issue in iperf UDP testing on B4860.

You could use core-affined queue to implement order order preservation, please use one of the following default FMC policy files.
/etc/fmc/config/private/b4860qds/*/policy_ipv4.xml
/etc/fmc/config/private/b4860qds/*/policy_ipv6.xml

 

Please execute FMC commands as the following before all networking related operation.
# fmc -c /etc/fmc/config/private/b4860qds/*/config.xml -p /etc/fmc/config/private/b4860qds/*/policy_ipv4.xml -a

 

This is because in DPAA1, each interface used by default one pool channel across all software portals and also the dedicated channel of each CPU. In Linux Kernel, PCD Frame queues in use dedicated channels.You could refer to
the section "5. Dedicated and Pool Channels Usage in Linux Kernel" inUsing QMAN Dedicated and Pool Channels in USDPAA and Linux Kernel .


You need to use multiple flows, after executing FMC policy, one flow will bind to one core, so all 4 cores will be used by multiple flows. In the real scenario, one user application uses one flow.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos