UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
480 Views
Registered: ‎11-07-2018

10G ethernet subsystem. Received Extra bytes. Bug?

Jump to solution

Hello, guys!

I use 10G ethernet subsystem (version 3.1) in my project. I send ARP request from FPGA to network and wait answer in Chipscope. I compared chipscope data with data in Wireshark (Software Sniffer on PC) and, it's strange, but in chipscope i found some extra bytes (zeros and some 32-bit value). What is this?

I use 10G in standalone-mode (without AXI-Lite) with such configurations:

mac_tx_configuration_vector    ({ 72'd0,1'b0, 4'd2,1'b0,2'b10})

mac_rx_configuration_vector    ({ 72'd0,1'b0, 4'd2,1'b0,2'b10})

pcs_pma_configuration_vector   ({425'd0,1'b0,110'd0           })

Thanks!

arp_answer_extra_bytes.PNG
arp_answer_in_sniffer.PNG
0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
466 Views
Registered: ‎04-01-2018

Re: 10G ethernet subsystem. Received Extra bytes. Bug?

Jump to solution

Hi @mikhail.basov

This is a know behavior as per the IEEE 802.3 Frame Structure.

As per that 

  • Length : The length field tells how many bytes are present in the data field, from a minimum of 0 to a maximum of 1500. The Data and padding together can be from 46 bytes to 1500 bytes as the valid frames must be at least 64 bytes long, thus if data is less than 46 bytes the amount of padding can be found out by length field.

 As, ARP packet size is 28 which is less than 46 bytes so 18 bytes are padded to make exactly 46 bytes so that resultant frame length is 64 bytes. As per end 4 bytes corresponds to CRC.

 

 

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
5 Replies
Xilinx Employee
Xilinx Employee
467 Views
Registered: ‎04-01-2018

Re: 10G ethernet subsystem. Received Extra bytes. Bug?

Jump to solution

Hi @mikhail.basov

This is a know behavior as per the IEEE 802.3 Frame Structure.

As per that 

  • Length : The length field tells how many bytes are present in the data field, from a minimum of 0 to a maximum of 1500. The Data and padding together can be from 46 bytes to 1500 bytes as the valid frames must be at least 64 bytes long, thus if data is less than 46 bytes the amount of padding can be found out by length field.

 As, ARP packet size is 28 which is less than 46 bytes so 18 bytes are padded to make exactly 46 bytes so that resultant frame length is 64 bytes. As per end 4 bytes corresponds to CRC.

 

 

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
443 Views
Registered: ‎11-07-2018

Re: 10G ethernet subsystem. Received Extra bytes. Bug?

Jump to solution

@kgadde Thanks, it's very plausible, but I see some inconsistencies:

1) In my rx_configuration_vector bit 3 is disabled, which control "Receiver In-Band FCS Enable" feature

2) Pay attention on ETH_RX_KEEP[7:0] bus.  In last word in packet it is 0xf. In this way, only 14 bytes are padded (not 18) and plus 4 additional bytes (maybe, you are right, it's CRC32).

What do you think about this?

Thanks!

0 Kudos
Xilinx Employee
Xilinx Employee
417 Views
Registered: ‎04-01-2018

Re: 10G ethernet subsystem. Received Extra bytes. Bug?

Jump to solution

Hi @mikhail.basov

I don't have answer right away for question 1 but for for the 2 rx_tkeep is F looks to be correct as it points to last 32 bits data with out CRC and padding of 18 bytes is correct.. I may update on your query 1 in my next post.

Let me know your thoughts, do you agree with rx_tkeep valid with 18 bytes padding

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
380 Views
Registered: ‎04-01-2018

Re: 10G ethernet subsystem. Received Extra bytes. Bug?

Jump to solution

@mikhail.basov

For the Query 1:

As the frame got the ether type for ARP which is 0x806, following below para from PG157 (page: 124)explains the behavior which is observed in the ILA.

 

10g_Reception.PNG

 

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
241 Views
Registered: ‎11-07-2018

Re: 10G ethernet subsystem. Received Extra bytes. Bug?

Jump to solution
@kgadde
Thank you. I think you are right.
0 Kudos