<My environment>
Board : MCIMX6SX-SDB
BSP version : 4.1.15-2.0.0 ga release
Hardware / Software changes : no change
Display : not use
<Issue description>
IMX6SXRM mentioned the received frame discard feature at section 24.6.8.4.
According to this description, when ethernet MAC receive frame which frame length is greater than MAX_FL, Ethernet MAC discard this frame data.
But, current Linux BSP seems accepting this frame.
<Reproduce procedure>
1.BSP boot
2.ENETx_RCR[MAX_FL] register set to 1000 Byte
3.Ping which packet length 959 byte(=frame length 1001 byte) send to IMX4. IMX received ping in violation of spec.
<Question>
How do we able to enable received frame discard featrue in this case?
Best Regards,
Kazuma Sasaki.
已解决! 转到解答。
Conclusion, the received frame discard feature is working well.
Root cause is my test environments.
I am using wireshark to analysis ethernet communication.
But, indicated frame length by wireshark does not correctly.
ex : If I send 954 byte ping, wireshark indicate 996 byte for frame length. but, actual communicating frame length is 1000 byte.
Please close this thread. thanks.
Best Regards,
Kazuma Sasaki.
Conclusion, the received frame discard feature is working well.
Root cause is my test environments.
I am using wireshark to analysis ethernet communication.
But, indicated frame length by wireshark does not correctly.
ex : If I send 954 byte ping, wireshark indicate 996 byte for frame length. but, actual communicating frame length is 1000 byte.
Please close this thread. thanks.
Best Regards,
Kazuma Sasaki.
Hi again,
I am sorry. Let me revise my issue description as below.
<Reproduce procedure and issue description>
1.BSP boot
2.ENETx_RCR[MAX_FL] register set to 1000 Byte
3a.Ping which packet length 954 byte(=frame length 996 byte) send to IMX6SX. IMX receive this frame.
3b.Ping which packet length 955 byte(=frame length 997 byte) send to IMX6SX. IMX discard this frame.
Received frame length is less than ENETx_RCR[MAX_FL] at 3a and 3b case. but, Ethernet controller discard the frame data at 3b case. It seems that Ethernet controller adding VLAN info(2Byte) and VLAN tag(2Byte) for frame length automatically.
If received data does not contain VLAN tag, Ethernet controller should be calculate frame length without VLAN info and VLAN tag.
<Question>
How do I get frame length correctly without VLAN case?
Best Regards,
Kazuma Sasaki.