Re: 802.3x pause frames

2014-11-06 Thread Henrique de Moraes Holschuh
On Wed, 05 Nov 2014, Julia Niewiejska wrote:
> 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

Julia, you will have *much* better luck getting an answer for the
linux-on-baremetal (i.e. physical machine) behavior re. pause-frames if you
ask in the netdev ML at vger.kernel.org.  Instructions here:
http://vger.kernel.org/vger-lists.html

Pause-frame handling is all done kernel-side.

For the vmware angle, please ask vmware directly.

> First of all I noticed some discrepancies between the output of
> mii-tools or ethtool -a and the attempt to change the flow control

AFAIK, mii-tools and ethtool use different kernel APIs, and NIC drivers
don't have to support both at the same level (or at all).

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141106112019.gb12...@khazad-dum.debian.net



802.3x pause frames

2014-11-05 Thread Julia Niewiejska


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  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 fd5a (64-bit, non-prefetchable) [size=128K]
Memory at fdfe (64-bit, non-prefetchable) [size=64K]
I/O ports at 2040 [size=64]
[virtual] Expansion ROM at ebb1 [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: 0x0007 (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 f710 (64-bit, non-prefetchable) [size=4K]
Memory at f210 (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-
Capabil