* Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss
@ 2014-12-23 23:18 Bruno Prémont
2014-12-25 21:54 ` Rick Jones
0 siblings, 1 reply; 4+ messages in thread
From: Bruno Prémont @ 2014-12-23 23:18 UTC (permalink / raw)
To: Sebastian Hesselbarth; +Cc: netdev
Hi,
On a SheevaPlug, Marvell Kirkwood based, I get nearly 100% packet loss
when running iperf in UDP (rx) mode while I get ~400Gb/s in tx.
For TCP both rx and tx result in about 650Mb/s.
Running iperf server on the sheevaplug:
# iperf3 -s -p 3740
Running iperf client on a AMD APU:
# iperf3 -p 3740 -t 5 -b 0 -4 -c sheevaplug $extra
iperf output at the end.
Both systems are interconnected with a Gb/s switch [Netgear GS108E]
which successfully handles 950Mb/s between my client and a AMD turion
system (both directions, UDP as well as TCP).
Am I mis-configuring the SheevaPlug or is there some bug causing all
the UDP packets to get lost? (slow rate UDP is working fine however)
Thanks,
Bruno
On the SheevaPlug:
# uname -a
Linux sheevaplug 3.15.0-sheeva+ #1 Mon Jun 9 21:58:19 CEST 2014 armv5tel Marvell Kirkwood (Flattened Device Tree) GNU/Linux
# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 2048 (this defaults to 128 on boot)
RX Mini: 0
RX Jumbo: 0
TX: 256
# ethtool -k eth0
Features for eth0:
rx-checksumming: on
tx-checksumming: on
tx-checksum-ipv4: on
tx-checksum-ip-generic: off [fixed]
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off [fixed]
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp6-segmentation: off [fixed]
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-ipip-segmentation: off [fixed]
tx-sit-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-mpls-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
# ethtool -S eth0
NIC statistics:
rx_packets: 6188650
tx_packets: 5407424
rx_bytes: 2949700388
tx_bytes: 1527361112
rx_errors: 0
tx_errors: 0
rx_dropped: 0
tx_dropped: 0
good_octets_received: 9696302398
bad_octets_received: 0
internal_mac_transmit_err: 0
good_frames_received: 7961482
bad_frames_received: 0
broadcast_frames_received: 45063
multicast_frames_received: 35667
frames_64_octets: 390741
frames_65_to_127_octets: 1213008
frames_128_to_255_octets: 1159241
frames_256_to_511_octets: 10833
frames_512_to_1023_octets: 1123895
frames_1024_to_max_octets: 9471171
good_octets_sent: 5851110022
good_frames_sent: 5407407
excessive_collision: 0
multicast_frames_sent: 35326
broadcast_frames_sent: 109099
unrec_mac_control_received: 0
fc_sent: 0
good_fc_received: 0
bad_fc_received: 0
undersize_received: 0
fragments_received: 0
oversize_received: 0
jabber_received: 0
mac_receive_error: 0
bad_crc_event: 0
collision: 0
late_collision: 0
rx_discard: 1772832
rx_overrun: 0
Why are so many packets being discarded?
========= UDP ($extra = -u) ====================
Connecting to host sheevaplug, port 3740
[ 4] local 192.168.0.139 port 46162 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 114 MBytes 959 Mbits/sec 14640
[ 4] 1.00-2.00 sec 114 MBytes 958 Mbits/sec 14620
[ 4] 2.00-3.00 sec 114 MBytes 958 Mbits/sec 14620
[ 4] 3.00-4.00 sec 114 MBytes 958 Mbits/sec 14620
[ 4] 4.00-5.00 sec 114 MBytes 958 Mbits/sec 14630
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-5.00 sec 571 MBytes 958 Mbits/sec 10.405 ms 72415/72673 (1e+02%)
[ 4] Sent 72673 datagrams
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45461
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 46162
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-1.07 sec 368 KBytes 2.83 Mbits/sec 80.399 ms 5086/5132 (99%)
[ 5] 1.07-2.01 sec 280 KBytes 2.44 Mbits/sec 42.903 ms 16726/16761 (1e+02%)
[ 5] 2.01-3.02 sec 408 KBytes 3.29 Mbits/sec 20.992 ms 15643/15694 (1e+02%)
[ 5] 3.02-4.03 sec 392 KBytes 3.17 Mbits/sec 25.503 ms 15140/15189 (1e+02%)
[ 5] 4.03-5.02 sec 488 KBytes 4.07 Mbits/sec 11.793 ms 17642/17703 (1e+02%)
[ 5] 5.02-5.24 sec 128 KBytes 4.69 Mbits/sec 10.405 ms 2178/2194 (99%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-5.24 sec 571 MBytes 915 Mbits/sec 10.405 ms 72415/72673 (1e+02%)
========= UDP reverse ($extra = -u -R) ============
Connecting to host sheevaplug, port 3740
Reverse mode, remote host sheevaplug is sending
[ 4] local 192.168.0.139 port 48931 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-1.00 sec 55.0 MBytes 462 Mbits/sec 0.083 ms 320/7366 (4.3%)
[ 4] 1.00-2.00 sec 57.5 MBytes 482 Mbits/sec 0.132 ms 0/7362 (0%)
[ 4] 2.00-3.00 sec 57.0 MBytes 478 Mbits/sec 0.079 ms 0/7295 (0%)
[ 4] 3.00-4.00 sec 58.1 MBytes 488 Mbits/sec 0.088 ms 0/7439 (0%)
[ 4] 4.00-5.00 sec 58.2 MBytes 488 Mbits/sec 0.073 ms 0/7446 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-5.00 sec 288 MBytes 484 Mbits/sec 0.079 ms 320/36920 (0.87%)
[ 4] Sent 36920 datagrams
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45462
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 48931
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 5] 0.00-1.00 sec 55.7 MBytes 467 Mbits/sec 7130
[ 5] 1.00-2.00 sec 56.9 MBytes 477 Mbits/sec 7280
[ 5] 2.00-3.00 sec 57.0 MBytes 478 Mbits/sec 7290
[ 5] 3.00-4.00 sec 58.2 MBytes 488 Mbits/sec 7450
[ 5] 4.00-5.00 sec 58.1 MBytes 488 Mbits/sec 7440
[ 5] 5.00-5.05 sec 2.58 MBytes 483 Mbits/sec 330
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-5.05 sec 288 MBytes 479 Mbits/sec 0.079 ms 320/36920 (0.87%)
========= TCP ($extra = ) ====================
Connecting to host sheevaplug, port 3740
[ 4] local 192.168.0.139 port 45464 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 68.6 MBytes 575 Mbits/sec 0 361 KBytes
[ 4] 1.00-2.00 sec 79.6 MBytes 669 Mbits/sec 0 451 KBytes
[ 4] 2.00-3.00 sec 80.1 MBytes 672 Mbits/sec 0 451 KBytes
[ 4] 3.00-4.00 sec 80.8 MBytes 678 Mbits/sec 0 451 KBytes
[ 4] 4.00-5.00 sec 81.0 MBytes 678 Mbits/sec 0 451 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 390 MBytes 654 Mbits/sec 0 sender
[ 4] 0.00-5.00 sec 387 MBytes 649 Mbits/sec receiver
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45463
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 45464
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 67.0 MBytes 561 Mbits/sec
[ 5] 1.00-2.00 sec 77.0 MBytes 646 Mbits/sec
[ 5] 2.00-3.00 sec 80.1 MBytes 671 Mbits/sec
[ 5] 3.00-4.00 sec 80.8 MBytes 678 Mbits/sec
[ 5] 4.00-5.00 sec 80.9 MBytes 679 Mbits/sec
[ 5] 5.00-5.02 sec 1.00 MBytes 595 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 5] 0.00-5.02 sec 390 MBytes 652 Mbits/sec 0 sender
[ 5] 0.00-5.02 sec 387 MBytes 647 Mbits/sec receiver
========= TCP reverse ($extra = -R) ============
Connecting to host sheevaplug, port 3740
Reverse mode, remote host sheevaplug is sending
[ 4] local 192.168.0.139 port 45466 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 72.2 MBytes 605 Mbits/sec
[ 4] 1.00-2.00 sec 72.0 MBytes 604 Mbits/sec
[ 4] 2.00-3.00 sec 72.2 MBytes 606 Mbits/sec
[ 4] 3.00-4.00 sec 73.8 MBytes 619 Mbits/sec
[ 4] 4.00-5.00 sec 73.5 MBytes 616 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 364 MBytes 611 Mbits/sec 0 sender
[ 4] 0.00-5.00 sec 364 MBytes 611 Mbits/sec receiver
iperf Done.
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 45465
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 45466
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 5] 0.00-1.02 sec 73.0 MBytes 599 Mbits/sec 0 257 KBytes
[ 5] 1.02-2.03 sec 72.5 MBytes 604 Mbits/sec 0 257 KBytes
[ 5] 2.03-3.03 sec 72.5 MBytes 606 Mbits/sec 0 257 KBytes
[ 5] 3.03-4.03 sec 73.8 MBytes 619 Mbits/sec 0 257 KBytes
[ 5] 4.03-5.02 sec 72.5 MBytes 616 Mbits/sec 0 257 KBytes
[ 5] 5.02-5.02 sec 0.00 Bytes 0.00 bits/sec 0 257 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 5] 0.00-5.02 sec 364 MBytes 609 Mbits/sec 0 sender
[ 5] 0.00-5.02 sec 364 MBytes 609 Mbits/sec receiver
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss
2014-12-23 23:18 Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss Bruno Prémont
@ 2014-12-25 21:54 ` Rick Jones
2014-12-27 11:17 ` Bruno Prémont
0 siblings, 1 reply; 4+ messages in thread
From: Rick Jones @ 2014-12-25 21:54 UTC (permalink / raw)
To: Bruno Prémont, Sebastian Hesselbarth; +Cc: netdev
> Why are so many packets being discarded?
You should also check the netstat statistics, particularly UDP on the
receiving side. Look before and after the test and see how they change,
if at all.
rick jones
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss
2014-12-25 21:54 ` Rick Jones
@ 2014-12-27 11:17 ` Bruno Prémont
2014-12-29 23:25 ` Rick Jones
0 siblings, 1 reply; 4+ messages in thread
From: Bruno Prémont @ 2014-12-27 11:17 UTC (permalink / raw)
To: Rick Jones; +Cc: Sebastian Hesselbarth, netdev
On Thu, 25 December 2014 Rick Jones <rick.jones2@hp.com> wrote:
> > Why are so many packets being discarded?
>
> You should also check the netstat statistics, particularly UDP on the
> receiving side. Look before and after the test and see how they change,
> if at all.
Here they go.
Summary of numbers:
iperf UDP run, 5 seconds @ 1Gb/s
lost 71216/71776 packets
before after delta
ethtool:
rx_packets: 420001 688424 268423
rx_bytes: 433251917 809803463 376551546
rx_errors: 0 0 0
rx_dropped: 0 0 0
bad_octets_received: 0 0 0
bad_frames_received: 0 0 0
rx_discard: 159691 323123 163432
rx_overrun: 0 0 0
netstat, udp:
packets received 15559 16137 578
packets to unknown port received 18 18 0
packet receive errors 41599 83890 42291
packets sent 34697 34770 73
receive buffer errors 0 0 0
send buffer errors 0 0 0
Details of numbers:
ethtool -S eth0; netstat -ns; iperf3 -s -p 3740; netstat -ns; ethtool -S eth0
NIC statistics:
rx_packets: 420001
tx_packets: 158940
rx_bytes: 433251917
tx_bytes: 51728533
rx_errors: 0
tx_errors: 0
rx_dropped: 0
tx_dropped: 0
good_octets_received: 652309262
bad_octets_received: 0
internal_mac_transmit_err: 0
good_frames_received: 579692
bad_frames_received: 0
broadcast_frames_received: 3916
multicast_frames_received: 4369
frames_64_octets: 14938
frames_65_to_127_octets: 133791
frames_128_to_255_octets: 106501
frames_256_to_511_octets: 2974
frames_512_to_1023_octets: 80262
frames_1024_to_max_octets: 400166
good_octets_sent: 52557543
good_frames_sent: 158940
excessive_collision: 0
multicast_frames_sent: 428
broadcast_frames_sent: 9352
unrec_mac_control_received: 0
fc_sent: 0
good_fc_received: 0
bad_fc_received: 0
undersize_received: 0
fragments_received: 0
oversize_received: 0
jabber_received: 0
mac_receive_error: 0
bad_crc_event: 0
collision: 0
late_collision: 0
rx_discard: 159691
rx_overrun: 0
Ip:
416522 total packets received
8 with invalid addresses
0 forwarded
0 incoming packets discarded
193528 incoming packets delivered
164801 requests sent out
2 outgoing packets dropped
512 fragments dropped after timeout
265053 reassemblies required
42444 packets reassembled ok
3518 packet reassembles failed
2 fragments received ok
4 fragments created
Icmp:
64870 ICMP messages received
1730 input ICMP message failed.
ICMP input histogram:
destination unreachable: 21090
echo requests: 4912
echo replies: 38868
70216 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 21090
time exceeded: 6
echo request: 44208
echo replies: 4912
IcmpMsg:
InType0: 38868
InType3: 21090
InType8: 4912
OutType0: 4912
OutType3: 21090
OutType8: 44208
OutType11: 6
Tcp:
7 active connections openings
4 passive connection openings
0 failed connection attempts
0 connection resets received
5 connections established
20099 segments received
20688 segments send out
0 segments retransmited
0 bad segments received.
0 resets sent
Udp:
15559 packets received
18 packets to unknown port received.
41599 packet receive errors
34697 packets sent
0 receive buffer errors
0 send buffer errors
UdpLite:
TcpExt:
4 TCP sockets finished time wait in fast timer
7 delayed acks sent
5 delayed acks further delayed because of locked socket
3 packets directly queued to recvmsg prequeue.
254 bytes directly received in process context from prequeue
7990 packet headers predicted
3 packets header predicted and directly queued to user
301 acknowledgments not containing data payload received
10132 predicted acknowledgments
TCPRcvCoalesce: 7843
TCPOrigDataSent: 11810
IpExt:
InMcastPkts: 78
InBcastPkts: 303
InOctets: 421982031
OutOctets: 20785506
InMcastOctets: 2184
InBcastOctets: 43372
InNoECTPkts: 416523
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
Accepted connection from 192.168.0.139, port 36178
[ 5] local 192.168.0.70 port 3740 connected to 192.168.0.139 port 55831
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-1.02 sec 736 KBytes 5.93 Mbits/sec 7.017 ms 11481/11573 (99%)
[ 5] 1.02-2.02 sec 368 KBytes 3.01 Mbits/sec 9.887 ms 14867/14913 (1e+02%)
[ 5] 2.02-3.02 sec 560 KBytes 4.59 Mbits/sec 5.791 ms 14528/14598 (1e+02%)
[ 5] 3.02-4.02 sec 984 KBytes 8.06 Mbits/sec 7.613 ms 13972/14095 (99%)
[ 5] 4.02-5.04 sec 1.66 MBytes 13.7 Mbits/sec 4.602 ms 15842/16055 (99%)
[ 5] 5.04-5.25 sec 128 KBytes 4.80 Mbits/sec 3.809 ms 526/542 (97%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-5.25 sec 562 MBytes 897 Mbits/sec 3.809 ms 71216/71776 (99%)
-----------------------------------------------------------
Server listening on 3740
-----------------------------------------------------------
^Ciperf3: interrupt - the server has terminated
Ip:
684863 total packets received
8 with invalid addresses
0 forwarded
0 incoming packets discarded
236661 incoming packets delivered
165154 requests sent out
2 outgoing packets dropped
512 fragments dropped after timeout
533112 reassemblies required
85295 packets reassembled ok
6421 packet reassembles failed
2 fragments received ok
4 fragments created
Icmp:
65021 ICMP messages received
1737 input ICMP message failed.
ICMP input histogram:
destination unreachable: 21144
echo requests: 4923
echo replies: 38954
70380 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 21144
time exceeded: 6
echo request: 44307
echo replies: 4923
IcmpMsg:
InType0: 38954
InType3: 21144
InType8: 4923
OutType0: 4923
OutType3: 21144
OutType8: 44307
OutType11: 6
Tcp:
7 active connections openings
5 passive connection openings
0 failed connection attempts
0 connection resets received
5 connections established
20203 segments received
20803 segments send out
0 segments retransmited
0 bad segments received.
0 resets sent
Udp:
16137 packets received
18 packets to unknown port received.
83890 packet receive errors
34770 packets sent
0 receive buffer errors
0 send buffer errors
UdpLite:
TcpExt:
4 TCP sockets finished time wait in fast timer
9 delayed acks sent
5 delayed acks further delayed because of locked socket
6 packets directly queued to recvmsg prequeue.
510 bytes directly received in process context from prequeue
8008 packet headers predicted
6 packets header predicted and directly queued to user
304 acknowledgments not containing data payload received
10211 predicted acknowledgments
TCPRcvCoalesce: 7859
TCPOrigDataSent: 11904
IpExt:
InMcastPkts: 78
InBcastPkts: 303
InOctets: 793681544
OutOctets: 20825320
InMcastOctets: 2184
InBcastOctets: 43372
InNoECTPkts: 684865
NIC statistics:
rx_packets: 688424
tx_packets: 159342
rx_bytes: 809803463
tx_bytes: 51782065
rx_errors: 0
tx_errors: 0
rx_dropped: 0
tx_dropped: 0
good_octets_received: 1258435196
bad_octets_received: 0
internal_mac_transmit_err: 0
good_frames_received: 1011547
bad_frames_received: 0
broadcast_frames_received: 3926
multicast_frames_received: 4384
frames_64_octets: 14978
frames_65_to_127_octets: 134201
frames_128_to_255_octets: 106794
frames_256_to_511_octets: 3006
frames_512_to_1023_octets: 152189
frames_1024_to_max_octets: 759721
good_octets_sent: 52613183
good_frames_sent: 159342
excessive_collision: 0
multicast_frames_sent: 428
broadcast_frames_sent: 9378
unrec_mac_control_received: 0
fc_sent: 0
good_fc_received: 0
bad_fc_received: 0
undersize_received: 0
fragments_received: 0
oversize_received: 0
jabber_received: 0
mac_receive_error: 0
bad_crc_event: 0
collision: 0
late_collision: 0
rx_discard: 323123
rx_overrun: 0
iperf on client side:
iperf3 -p 3740 -t 5 -b 0 -u -4 -c sheevaplug
Connecting to host sheevaplug, port 3740
[ 4] local 192.168.0.139 port 55831 connected to 192.168.0.70 port 3740
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 114 MBytes 959 Mbits/sec 14630
[ 4] 1.00-2.00 sec 114 MBytes 959 Mbits/sec 14630
[ 4] 2.00-3.00 sec 114 MBytes 954 Mbits/sec 14560
[ 4] 3.00-4.00 sec 110 MBytes 926 Mbits/sec 14130
[ 4] 4.00-5.00 sec 109 MBytes 915 Mbits/sec 13960
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-5.00 sec 562 MBytes 943 Mbits/sec 3.809 ms 71216/71776 (99%)
[ 4] Sent 71776 datagrams
iperf Done.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss
2014-12-27 11:17 ` Bruno Prémont
@ 2014-12-29 23:25 ` Rick Jones
0 siblings, 0 replies; 4+ messages in thread
From: Rick Jones @ 2014-12-29 23:25 UTC (permalink / raw)
To: Bruno Prémont; +Cc: Sebastian Hesselbarth, netdev
On 12/27/2014 03:17 AM, Bruno Prémont wrote:
> On Thu, 25 December 2014 Rick Jones <rick.jones2@hp.com> wrote:
>>> Why are so many packets being discarded?
>>
>> You should also check the netstat statistics, particularly UDP on the
>> receiving side. Look before and after the test and see how they change,
>> if at all.
>
> Here they go.
>
> Summary of numbers:
> iperf UDP run, 5 seconds @ 1Gb/s
> lost 71216/71776 packets
>
> before after delta
> ethtool:
> rx_packets: 420001 688424 268423
> rx_bytes: 433251917 809803463 376551546
> rx_errors: 0 0 0
> rx_dropped: 0 0 0
> bad_octets_received: 0 0 0
> bad_frames_received: 0 0 0
> rx_discard: 159691 323123 163432
> rx_overrun: 0 0 0
> netstat, udp:
> packets received 15559 16137 578
> packets to unknown port received 18 18 0
> packet receive errors 41599 83890 42291
> packets sent 34697 34770 73
> receive buffer errors 0 0 0
> send buffer errors 0 0 0
>
Well, it certainly looks like a decent fraction of your lost traffic are
UDP packet receive errors. Overrunning the SO_RCVBUF on the receiving
side presumably. You can either start walking-down the transmission
rate of the iperf client, or try a larger receive socket buffer size on
the iperf server, though that will only help if those drops are from the
receiving side being only occasionally slower than the sending side.
You might also want to make sure the UDP datagrams being sent are huge
and so getting fragmented. All it takes is to lose one fragment of an
IP datagram to render the entire datagram useless.
As for the rx_discard in the ethtool stats, someone more familiar with
the hardware will have to describe the various reasons for that stat to
be incremented.
rick jones
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-12-29 23:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-23 23:18 Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss Bruno Prémont
2014-12-25 21:54 ` Rick Jones
2014-12-27 11:17 ` Bruno Prémont
2014-12-29 23:25 ` Rick Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).