How to insert Inter Packet Idles in XFI transimit

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

How to insert Inter Packet Idles in XFI transimit

1,500 Views
文炳项
Contributor I

Hi all

On our LS1046A board, we use a 5G copper PHY connect with XFI, the PHY is support 5G/2.5G BASE-T over XFI. But it expects to receive packets with sufficient Inter Packet Idles from the MAC (switch/controller) for the 5G or 2.5G rate effectively transfer over the XFI interface in 10GBASE-R mode.

Now we have a issue, when LS1046A  transmit files to PC using FTP, the speed will up to 200MB/s,but the  transition will blocked down after few seconds. And we need turn down and up the net on board to recover the net.

But when we change MTU from 1500 to 800, or use tc tools, the net will not down, but the speed will degrade fast from 200MB/s to 100MB/s, specially transmit 2 or more file at same time.

So we think it may be  MAC transmit packets too fast to make PHY receiver buffer overflow. 

Can XFI insert Inter Packet Idles according to cooper speed? We try to modify Transmit Inter-Packet Gap Length Register, But the problem still there. 

 

Labels (1)
0 Kudos
8 Replies

1,309 Views
bpe
NXP Employee
NXP Employee

XFI is a single data rate mode interface. If your line rate is significantly
different from 10Gbps and your PHY device performs rate adaptation,
there are two ways to match the actually accepted data rate on egress:

1. Check if the PHY can send PAUSE frames towards the local MAC. If
   it can, enable PAUSE frame recognition at the MAC:
   
   https://docs.nxp.com/bundle/GUID-555A0F6D-3FBC-4128-BA29-A220DC5DD74D/page/GUID-F20C6D9D-7A92-4EE8-B...
   
   Refer to your PHY documentation on how to enable it in your PHY.
   
2. Use DPAA Egress Scheduler:

   https://docs.nxp.com/bundle/GUID-555A0F6D-3FBC-4128-BA29-A220DC5DD74D/page/GUID-BC7B6AA1-C724-4905-A...
   
  

Hope this helps,

Platon

0 Kudos

1,309 Views
文炳项
Contributor I

Hi bpe

For Pause frame, I turn on PHY enable. According to the mac_rx_stats, we can see rxpf_l number increased, but the transmitting  congestion still occurs. I have few confusion about the PAUSE FRAME.

pastedImage_1.png

In DPAA RM, 5.3.18,  the pause frame in defined in 802.1Qbb,we search this, it said the pause frame is flow control between two MAC.

Am I right?  

pastedImage_2.png

I try to capture the pause frame on LS1046 with tcpdump, and use wireshark on PC side. But no pause frame find either.

Are the pause frame you mentioned is the same thing in 5.3.18? How can we find the evidence, that LS1046 really received the pause frame from PHY?  

0 Kudos

1,309 Views
文炳项
Contributor I

Hi bpe 

this picture is ethtool show of eth10, I saw the pause parameter of eth10 is both enable on RX and TX.

pastedImage_1.png

0 Kudos

1,309 Views
bpe
NXP Employee
NXP Employee

Can you scan and provide the value of COMMAND_CONFIG register of the
MAC connected to the problematic link after you
set the appropriate pause parameters with ethtool?

Here are my comments to some of your inputs.

tcpdump running on the target cannot see flow control frames because
they are not shown by DPAA to the application. A properly configured
mEMAC discards received plain pause frames after setting up the pause
timer.  

PFC mechanism discussed in Section 5.3.18 of LS1046ARM is a separate
flow control mechanism using different format pause frames. It is
supported by the LSDK kernel, but configured in a different way:

https://docs.nxp.com/bundle/GUID-555A0F6D-3FBC-4128-BA29-A220DC5DD74D/page/GUID-2282F768-EEE8-4A00-B...

I do not think it is required in your case, but you can check with
your PHY documentation what kind of pause frames it sends towards
the local MAC.


Have a great day,
Platon

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

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

1,309 Views
文炳项
Contributor I

Hi bpe,

the command_config is 0x20843, which i read from sys

pastedImage_1.png

We check with PHY vendor, they said their pause frame is XOFF.

But we find a strange phenomena, no matter enable or disable PHY's PAUSE FRAME MODE, LS1046A's MAC can received pause frame when the network block(the number of rxpf increased). So we hope to find out what's the pause frame the MAC received.

0 Kudos

1,309 Views
bpe
NXP Employee
NXP Employee

Your mEMAC is properly set for reacting to non-PFC pause frames, which
means it does handle them as appropriate. There is no errata that afffects
this mechanism. Counter grows indicate that pause frames do arrive at the
MAC level. However, there is no way to establish where they are generated,
at the local PHY or at the far end.

Regards,

Platon

0 Kudos

1,309 Views
文炳项
Contributor I

Hi Bpe

thanks for your reply. From the mEA's configuration, LS1046 is working properly for pause frame.But the network still block,do you have other suggestion to find the reason?

BTW, dose the Transmit Inter-Packet Gap Length Register can be usefully in my problem? If yes, how to use this? 

TKS.

pastedImage_1.png

0 Kudos

1,309 Views
bpe
NXP Employee
NXP Employee

Manipulating IFG is not a valid method to throttle the transmission because:
(a) the resulting reduction rate will obviously depend on the frame size;
(b) the valid range of IFG duration values is insufficient to reduce the transmission
    rate to the next standardized level even on shortest frames.
    
Summarizing, the valid methods of matching the data rate with the
level acceptable by the other of the communication are described in
the post I made on Apr 1. There are no other recommendations.

Regards,

Platon

0 Kudos