linux/drivers/net
Amir Levy e69b6c02b4 net: Add support for networking over Thunderbolt cable
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 <amir.jer.levy@intel.com>
Signed-off-by: Michael Jamet <michael.jamet@intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Yehezkel Bernat <yehezkel.bernat@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-02 11:24:42 -07:00
..
appletalk drivers: net: appletalk: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
arcnet drivers: net: arcnet: use setup_timer() helper. 2017-09-21 11:44:42 -07:00
bonding arp: make arp_hdr_len() return unsigned int 2017-09-28 10:29:36 -07:00
caif drivers: net: caif: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
can drivers: net: can: sja1000: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
cris
dsa Revert "net: dsa: bcm_sf2: Defer port enabling to calling port_enable" 2017-10-01 04:01:29 +01:00
ethernet mlxsw: spectrum_router: Drop a redundant condition 2017-10-02 11:20:22 -07:00
fddi net: defxx: constify eisa_device_id 2017-08-19 17:13:41 -07:00
fjes
hamradio mkiss: remove redundant check on len being zero 2017-09-30 05:44:28 +01:00
hippi drivers: net: hippi: use setup_timer() helper. 2017-09-21 11:44:41 -07:00
hyperv hv_netvsc: report stop_queue and wake_queue 2017-10-01 04:10:30 +01:00
ieee802154 ieee802154: atusb: Driver for Busware HUL dongle 2017-09-20 13:37:16 +02:00
ipvlan Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2017-09-03 17:08:42 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-23 10:16:53 -07:00
plip
ppp ppp: fix xmit recursion detection on ppp channels 2017-08-08 21:06:11 -07:00
slip drivers: net: slip: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
team team: fall back to hash if table entry is empty 2017-09-19 16:18:58 -07:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-23 10:16:53 -07:00
vmxnet3 vmxnet3: avoid format strint overflow warning 2017-07-14 09:03:11 -07:00
wan net: wan : hdlc: use setup_timer() helper 2017-09-21 15:48:46 -07:00
wimax
wireless drivers: net: ath6kl: use setup_timer() helper. 2017-09-21 11:44:42 -07:00
xen-netback drivers: net: xen-netback: use setup_timer() helper. 2017-09-21 11:44:41 -07:00
dummy.c net: remove MTU limits for dummy and ifb device 2017-09-25 16:26:09 -07:00
eql.c drivers: net: eql: use setup_timer() helper. 2017-09-21 11:44:42 -07:00
geneve.c geneve: use netlink_ext_ack for error reporting in rtnl operations 2017-08-11 13:45:02 -07:00
gtp.c gtp: Initialize 64-bit per-cpu stats correctly 2017-08-01 20:06:07 -07:00
ifb.c net: remove MTU limits for dummy and ifb device 2017-09-25 16:26:09 -07:00
Kconfig net: Add support for networking over Thunderbolt cable 2017-10-02 11:24:42 -07:00
LICENSE.SRC
loopback.c
macsec.c macsec: add genl family module alias 2017-08-22 14:25:50 -07:00
macvlan.c macvlan: code refine to check data before using 2017-09-20 13:46:45 -07:00
macvtap.c macvlan/macvtap: Remove NETIF_F_UFO advertisement. 2017-07-17 09:52:57 -07:00
Makefile net: Add support for networking over Thunderbolt cable 2017-10-02 11:24:42 -07:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c ntb_netdev: set the net_device's parent 2017-07-06 11:30:08 -04:00
rionet.c net: convert sk_buff.users from atomic_t to refcount_t 2017-07-01 07:39:07 -07:00
sb1000.c
Space.c
sungem_phy.c
tap.c tun/tap: use paren's with sizeof 2017-08-16 11:01:57 -07:00
thunderbolt.c net: Add support for networking over Thunderbolt cable 2017-10-02 11:24:42 -07:00
tun.c bpf: add meta pointer for direct access 2017-09-26 13:36:44 -07:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-30 12:43:08 -04:00
virtio_net. virtio-net: support XDP_REDIRECT 2017-09-20 14:27:52 -07:00
virtio_net.c bpf: add meta pointer for direct access 2017-09-26 13:36:44 -07:00
vrf.c net: vrf: remove skb_dst_force() after skb_dst_set() 2017-09-21 20:36:32 -07:00
vsockmon.c
vxlan.c vxlan: factor out VXLAN-GPE next protocol 2017-08-29 15:16:52 -07:00
xen-netfront.c xen-netfront: be more drop monitor friendly 2017-08-30 15:56:16 -07:00