Re: [PATCH 16/16] thunderbolt: Add support for networking over Thunderbolt cable
From: Mika Westerberg <mika.westerberg@linux.intel.com>
Date: 2017-09-19 07:14:58
Also in:
lkml
On Tue, Sep 19, 2017 at 01:21:44AM +0200, Andrew Lunn wrote:
On Mon, Sep 18, 2017 at 06:30:49PM +0300, Mika Westerberg wrote:quoted
From: Amir Levy <redacted> ThunderboltIP is a protocol created by Apple to tunnel IP/ethernet traffic over a Thunderbolt cable. The protocol consists of configuration phase where each side sends ThunderboltIP login packets (the protocol is determined by UUID in the XDomain packet header) over the configuration channel. Once both sides get positive acknowledgment to their login packet, they configure high-speed DMA path accordingly. This DMA path is then used to transmit and receive networking traffic. This patch creates a virtual ethernet interface the host software can use in the same way as any other networking interface. Once the interface is brought up successfully network packets get tunneled over the Thunderbolt cable to the remote host and back. The connection is terminated by sending a ThunderboltIP logout packet over the configuration channel. We do this when the network interface is brought down by user or the driver is unloaded. Signed-off-by: Amir Levy <redacted> Signed-off-by: Michael Jamet <redacted> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Yehezkel Bernat <redacted> --- Documentation/admin-guide/thunderbolt.rst | 24 + drivers/thunderbolt/Kconfig | 12 + drivers/thunderbolt/Makefile | 3 + drivers/thunderbolt/net.c | 1392 +++++++++++++++++++++++++++++ 4 files changed, 1431 insertions(+) create mode 100644 drivers/thunderbolt/net.cHi Mika Could this be renamed to driver/net/thunderbolt.c?
I pondered between drivers/thunderbolt/net.c and drivers/net/thunderbolt.c and then decided to go with the former because it follows drivers/firewire/net.c and kind of makes it easier for user to enabled. But no problem moving it into drivers/net if that's what networking people prefer.
At minimum, it needs a MAINTAINER entry pointing to netdev, so patches get reviewed by netdev people. However, since the driver seems to be a lot more netdev than thunderbolt, placing it in driver/net could be better.
OK.