netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).