lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <545B70C9.7090702@fkie.fraunhofer.de>
Date:	Thu, 6 Nov 2014 13:59:53 +0100
From:	Julia Niewiejska <julia.niewiejska@...e.fraunhofer.de>
To:	<netdev@...r.kernel.org>
Subject: 802.3x pause frames

Hello,

I indend to do some experiments with 802.3x pause frames, but I have yet 
to find a setup that works. I used a tool that generates pause frames 
[1] in two setups. First one consists of two virtual machines on a 
VMWare ESXi 5.5 server connected with each other through a virtual 
switch. In second setup two physical machines (Desktop PCs) were 
connected directly by an ethernet cable. The VMs are running Debian 
Wheezy 32bit while Debian Testing (Jessie) 64bit is installed on both 
desktop PCs. Below you will find some information on the ethernet 
adapters and drivers used in the VM [2], the desktop PC with the more up 
to date hardware [3] and the older machine [4]. I used the following 
command to activate flow control:

ethtool -A <eth> autoneg off rx on tx on

First of all I noticed some discrepancies between the output of 
mii-tools or ethtool -a and the attempt to change the flow control 
settings with the command above. Only the Realtek adapter actually 
output that it didn't support the operation, the other adapters accepted 
the settings without any error message.

In both setups pause frames were generated on one machine while a ping 
was sent simultaneously, as suggested in [1]. While the VM connection 
was set to 1 Gbps the whole time, I also tested a 10 Mbps setting on the 
physical connection. Even though the pause frames were always visible in 
tcpdump at the receiver, I didn't notice any influence whatsoever in the 
ping results.

Did I miss some important settings that activate pause frame support, or 
is it possible that none of those different ethernet adapters and 
modules that were tested support at least the reception of pause frames? 
If so, are there any adapters that do support them? I'm also not sure 
how to interpret the output of ethtool. E.g. what does "Advertised pause 
frame use" mean, exactly?


Many thanks.

Julia Niewiejska


[1] http://www.tux.org/pub/sites/www.zip.com.au/%257Eakpm/linux/#flow-ctrl


----------------------------------------------
[2] Virtual machine on VMWare ESXi 5.5: Debian Wheezy 32bit, kernel 3.2

*** lspci -v ***

02:02.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet 
Controller (Copper) (rev 01)
         Subsystem: VMware PRO/1000 MT Single Port Adapter
         Physical Slot: 34
         Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 16
         Memory at fd5a0000 (64-bit, non-prefetchable) [size=128K]
         Memory at fdfe0000 (64-bit, non-prefetchable) [size=64K]
         I/O ports at 2040 [size=64]
         [virtual] Expansion ROM at ebb10000 [disabled] [size=64K]
         Capabilities: [dc] Power Management version 2
         Capabilities: [e4] PCI-X non-bridge device
         Kernel driver in use: e1000


*** mii-tool -v ***

eth1: negotiated 1000baseT-FD flow-control, link ok
   product info: Yukon 88E1011 rev 3
   basic mode:   autonegotiation enabled
   basic status: autonegotiation complete, link ok
   capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 
10baseT-HD
   advertising:  1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 
10baseT-FD 10baseT-HD
   link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 
10baseT-HD



*** ethtool eth1 ***

Settings for eth1:
         Supported ports: [ TP ]
         Supported link modes:   10baseT/Half 10baseT/Full
                                 100baseT/Half 100baseT/Full
                                 1000baseT/Full
         Supported pause frame use: No
         Supports auto-negotiation: Yes
         Advertised link modes:  10baseT/Half 10baseT/Full
                                 100baseT/Half 100baseT/Full
                                 1000baseT/Full
         Advertised pause frame use: No
         Advertised auto-negotiation: Yes
         Speed: 1000Mb/s
         Duplex: Full
         Port: Twisted Pair
         PHYAD: 0
         Transceiver: internal
         Auto-negotiation: on
         MDI-X: Unknown
         Supports Wake-on: d
         Wake-on: d
         Current message level: 0x00000007 (7)
                                drv probe link
         Link detected: yes

*** ethtool -a eth1 ***

Pause parameters for eth1:
Autonegotiate:  on
RX:             off
TX:             off

----------------------------------------------
[3] Desktop PC 1: Debian Jessie 64bit, kernel 3.16

*** lspci -v ***

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
         Subsystem: ASUSTeK Computer Inc. Device 8554
         Flags: bus master, fast devsel, latency 0, IRQ 44
         I/O ports at d000 [size=256]
         Memory at f7100000 (64-bit, non-prefetchable) [size=4K]
         Memory at f2100000 (64-bit, prefetchable) [size=16K]
         Capabilities: [40] Power Management version 3
         Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
         Capabilities: [70] Express Endpoint, MSI 01
         Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
         Capabilities: [d0] Vital Product Data
         Capabilities: [100] Advanced Error Reporting
         Capabilities: [140] Virtual Channel
         Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
         Capabilities: [170] Latency Tolerance Reporting
         Kernel driver in use: r8169

*** mii-tool -v ***

eth0: negotiated 1000baseT-FD flow-control, link ok
   product info: vendor 00:07:32, model 0 rev 0
   basic mode:   autonegotiation enabled
   basic status: autonegotiation complete, link ok
   capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 
10baseT-HD
   advertising:  1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 
10baseT-FD 10baseT-HD flow-control
   link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 
10baseT-HD flow-control

*** ethtool eth0 ***

Settings for eth0:
         Supported ports: [ TP MII ]
         Supported link modes:   10baseT/Half 10baseT/Full
                                 100baseT/Half 100baseT/Full
                                 1000baseT/Half 1000baseT/Full 

         Supported pause frame use: No 

         Supports auto-negotiation: Yes 

         Advertised link modes:  10baseT/Half 10baseT/Full 

                                 100baseT/Half 100baseT/Full 

                                 1000baseT/Full 

         Advertised pause frame use: Symmetric Receive-only 

         Advertised auto-negotiation: Yes 

         Link partner advertised link modes:  10baseT/Half 10baseT/Full 

                                              100baseT/Half 
100baseT/Full
                                              1000baseT/Half 
1000baseT/Full
         Link partner advertised pause frame use: Symmetric Receive-only 

         Link partner advertised auto-negotiation: Yes 

         Speed: 1000Mb/s 

         Duplex: Full 

         Port: MII 

         PHYAD: 0 

         Transceiver: internal 

         Auto-negotiation: on 

         Supports Wake-on: pumbg 

         Wake-on: g 

         Current message level: 0x00000033 (51) 

                                drv probe ifdown ifup 

         Link detected: yes

*** ethtool -a eth0 ***

Pause parameters for eth0:
Cannot get device pause settings: Operation not supported


----------------------------------------------
[4] Desktop PC 2: Debian Jessie 64bit, kernel 3.16

*** lspci -v ***

00:19.0 Ethernet controller: Intel Corporation 82578DM Gigabit Network 
Connection (rev 05)
         Subsystem: Hewlett-Packard Company Device 304b 

         Flags: bus master, fast devsel, latency 0, IRQ 43 

         Memory at f0400000 (32-bit, non-prefetchable) [size=128K]
         Memory at f0425000 (32-bit, non-prefetchable) [size=4K]
         I/O ports at 2100 [size=32]
         Capabilities: [c8] Power Management version 2
         Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
         Capabilities: [e0] PCI Advanced Features
         Kernel driver in use: e1000e

*** mii-tool -v ***

eth1: negotiated 1000baseT-FD flow-control, link ok
   product info: vendor 00:13:74, model 4 rev 0
   basic mode:   autonegotiation enabled
   basic status: autonegotiation complete, link ok
   capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 
10baseT-HD
   advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 
10baseT-HD flow-control
   link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 
10baseT-HD flow-control

*** ethtool eth1 ***

Settings for eth1:
         Supported ports: [ TP ]
         Supported link modes:   10baseT/Half 10baseT/Full
                                 100baseT/Half 100baseT/Full
                                 1000baseT/Full
         Supported pause frame use: No
         Supports auto-negotiation: Yes
         Advertised link modes:  10baseT/Half 10baseT/Full
                                 100baseT/Half 100baseT/Full
                                 1000baseT/Full
         Advertised pause frame use: No
         Advertised auto-negotiation: Yes
         Speed: 1000Mb/s
         Duplex: Full
         Port: Twisted Pair
         PHYAD: 2
         Transceiver: internal
         Auto-negotiation: on
         MDI-X: off (auto)
         Supports Wake-on: pumbg
         Wake-on: g
         Current message level: 0x00000007 (7)
                                drv probe link
         Link detected: yes

*** ethtool -a eth1 ***

Pause parameters for eth1:
Autonegotiate:  on
RX:             on
TX:             off
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ