Summary
Exinda generates RX errorsOverview
-
rx_errors are a way for a NIC to show that it is running into some errors of varying kinds coming into a port
- by contrast, tx_errors are errors upon transmitting information from a port
- rx_errors can indicate numerous things and, in some cases, can indicate that the Exinda is dropping traffic.
- However, in some cases, rx_errors alert are just an alert to notify an administrator that there might be something to pay attention to on ths NICs.
Cause
- This error means that because of a physical issue the packets received at any given interface do not comply with the ethernet standard and they must be discarded from a networking perspective.
- It is important to understand that the Exinda is behaving properly and as per the design, however it is simply letting the user know of a network anomaly.
Determine cause
The causes of these errors can be seen by generating a diagnostic file (Configuration-->System-->Diagnostics-->Diagnostics).- After downloading the sysdump and decompressing it, there is a text file called "sysinfo.txt".
- Open the file with wordpad or notepad++ and look for the section with the Outputs of '/usr/sbin/ethtool -S ethX' ; being X the specific number of the interface of interest.
- Look up for the interface throwing the errors and there is a field called "rx_errors" which will point to the number of packets that have been counted as errors.
- Surrounding this field look for another field that is also pointing at the exact same number, this field will be pointing to the actual reason.
Output of '/usr/sbin/ethtool -S eth10':
NIC statistics:
rx_packets: 91150067
tx_packets: 155778604
rx_bytes: 11861893880
tx_bytes: 201292472493
rx_broadcast: 215213
tx_broadcast: 246
rx_multicast: 42839
tx_multicast: 312
multicast: 42839
collisions: 0
rx_crc_errors: 0
rx_no_buffer_count: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_window_errors: 0
tx_abort_late_coll: 0
tx_deferred_ok: 0
tx_single_coll_ok: 0
tx_multi_coll_ok: 0
tx_timeout_count: 0
rx_long_length_errors: 20868
rx_short_length_errors: 0
rx_align_errors: 0
tx_tcp_seg_good: 0
tx_tcp_seg_failed: 0
rx_flow_control_xon: 0
rx_flow_control_xoff: 0
tx_flow_control_xon: 0
tx_flow_control_xoff: 0
rx_long_byte_count: 11861893880
tx_dma_out_of_sync: 0
lro_aggregated: 0
lro_flushed: 0
tx_smbus: 0
rx_smbus: 0
dropped_smbus: 0
os2bmc_rx_by_bmc: 0
os2bmc_tx_by_bmc: 0
os2bmc_tx_by_host: 0
os2bmc_rx_by_host: 0
rx_errors: 20868
tx_errors: 0
NIC statistics:
rx_packets: 91150067
tx_packets: 155778604
rx_bytes: 11861893880
tx_bytes: 201292472493
rx_broadcast: 215213
tx_broadcast: 246
rx_multicast: 42839
tx_multicast: 312
multicast: 42839
collisions: 0
rx_crc_errors: 0
rx_no_buffer_count: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_window_errors: 0
tx_abort_late_coll: 0
tx_deferred_ok: 0
tx_single_coll_ok: 0
tx_multi_coll_ok: 0
tx_timeout_count: 0
rx_long_length_errors: 20868
rx_short_length_errors: 0
rx_align_errors: 0
tx_tcp_seg_good: 0
tx_tcp_seg_failed: 0
rx_flow_control_xon: 0
rx_flow_control_xoff: 0
tx_flow_control_xon: 0
tx_flow_control_xoff: 0
rx_long_byte_count: 11861893880
tx_dma_out_of_sync: 0
lro_aggregated: 0
lro_flushed: 0
tx_smbus: 0
rx_smbus: 0
dropped_smbus: 0
os2bmc_rx_by_bmc: 0
os2bmc_tx_by_bmc: 0
os2bmc_tx_by_host: 0
os2bmc_rx_by_host: 0
rx_errors: 20868
tx_errors: 0
- By running a quick search through the internet, there are several suggestions with regards to what these errors mean and what can be done to help.
- From a support perspective the most common causes are:
-
rx_long_length_errors: Some packets received are bigger than the MTU set in the interface under System-->Network-->NICs, which means the interface cannot possible deal with these packets.
- This usually happens when there are Jumbo Frames in the network (9000 MTU) and the user forgot to apply the appropriate change in the bridge interfaces of the Exinda.
- Also, if the user is using VLAN tags and the exinda is in the middle of a trunk link, the VLAN tag adds 4 additional bytes to the packet.
- rx_crc_errors: This one is a little more complicated to diagnose.
- CRC stands for (Cyclic Redundancy Checking) and is a field with the packet that throws a hash value based on the structure of the packet in such a way that if the packet is corrupted along the cable, the hash value calculated with the new structure will be different.
- This points to a packet corruption and the network adapter must discard it.
- rx_missed_errors: Errors that indicate that the queue on the port was full and so new incoming ports were dropped, because there were no room for them.
- These are analogous to 'buffer overrun' errors.
Resolution
For the two examples above, the solutions can be found if:- For rx_long_length errors, modify the MTU of the Exinda interface so it can host bigger IP packets while the user verifies why the switch or router connected to it is sending these frames.
- The right solution is to make sure the MTUs are the same between the Exinda's interface and the peer device.
- Also, if the link is a trunk, it is recommended to increase the MTU of the Exinda interface by 4 bytes (From 1500 to 1504 for instance).
- If the user is tagging double-vlans make sure to add 4 more bytes (1508 for instance).
- The MTU being set up incorrectly could also lead to rx_crc_errors, due to the Exinda not being able to properly process the packet.
- In these cases, the packets are not discarded, simply passed on.
- For rx_crc_errors: try changing the patch cord, verify that the MTU/duplex/speed settings on the interface plugged into the Exinda are similar, look for potential electromagnetic waves that might corrupt the structure of the packet or look at the length of the cable (make sure its length is within standard specs).
- For rx_missed_errors: Try checking the speed and duplex settings that are being negotiated between the Exinda and the device on the other side of that port.
- If it's sending information too fast for the Exinda to handle (whether due to auto negotiation or whether the Exinda is processing packets due slowly for another reason), packets will be dropped.
Priyanka Bhotika
Comments