Thread (28 messages) 28 messages, 5 authors, 2016-11-24

RE: [PATCH v9 0/8] thunderbolt: Introducing Thunderbolt(TM) Networking

From: Levy, Amir (Jer) <hidden>
Date: 2016-11-24 20:35:37
Also in: linux-pci, lkml

On Tue, Nov 22 2016, 07:28 PM, Simon Guinot wrote:
Hi Amir,

I tested the thunderbolt-icm driver (v9 series) on an Gigabyte 
motherboard
(Z170X-UD5 TH-CF) with a Thunderbolt 3 controller (Alpine Ridge 4C).

I can see that the network interface is well created when the 
motherboard is connected to a MacBook Pro (Thunderbolt 2 or 3).

And here are the TCP bandwidths measured using the iperf3 benchmark:
AFAIK, in UD5, Thunderbolt 3 is installed on 4 lanes of PCI Express Gen 3,
which is good for performance.
- MacBook Pro Thunderbolt 2: 8.46Gbits/sec
- MacBook Pro Thunderbolt 3: 11.8Gbits/sec

Are this results consistent with your expectations ?
Thunderbolt 2 - yes,
Thunderbolt 3 - we didn't check the bandwidth with MacBook Pro Thunderbolt 3 yet.
The bandwidth in Linux<->Linux and Linux<->Windows setups with Thunderbolt 3
is around 15G (one direction).
From the MacOS system interface on the MacBook Pro Thunderbolt 3, I 
noticed that the interface appears as dual lane (2x 20Gb/sec). But 
when two MacBook Pro are connected together, the interface appears as 
single lane (1x 40Gb/sec). Is some lane bonding support missing in the 
Linux implementation ?
At the moment the iCM doesn't lane bond the inter domain link.
This will be added in a future drop of the iCM once the networking BW will be such that requires the bonding.
Here are a couple of additional questions:

- When the network interface is created, there is no IP address
  assigned (or negotiated ?) on the Linux side. But it is done on the
  MacOS side. And in the Linux kernel logs I can also read the message:
  "ready for ThunderboltIP negotiation". Is there something missing or
  not working on the Linux side ? What is the correct way to configure
  or negotiate the IP address. For my tests I did it manually...
This is not related to Thunderbolt, but to OS administration.
I usually use ZeroConf in any OS that support Thunderbolt Networking, but static IP also works.
"ready for ThunderboltIP negotiation" is an important part of the path establishment, but isn't related to IP address.

Thanks,
Amir
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help