I tried 3-way Thunderbolt bridging.
13" Macbook and 27" iMac both connected to a 15" Retina (acting as a hub).
The 13" could easily see the 27" Imac which was on the other end.
That's due to Bonjour (service propagation/location) working even with 'link local' addresses (169.254.0.0/16 -- they are by design self-assigned when there is neither a DHCP server available nor the settings have been configured manually:
http://en.wikipedia.org/wiki/Zero-configuration_networking)
In case you would let one of the three Macs bridge to an already existing Ethernet-like net (by simply assigning a Wi-Fi or Ethernet connection to one of the bridge devices of one of the machines) where a DHCP server is available then DHCP would also work on the other connected Macs and the machines wouldn't have temporary IP addresses but instead dynamically assigned ones from the DHCP server and could be reached from the rest of the network.
http://arstechnica.com/apple/2013/10/os-x-10-9-brings-fast-but-choppy-thunderbolt-networking/
There was a small degradation loss but it works. It is all plug-n-play. I did not have to do any routes or anything special to make the 13" see the iMac. It just worked.
Yes, but that's due to the bridging capabilities in Mavericks and has nothing to do with Thunderbolt. 'IP over Thunderbolt' devices are just one sort of 'network adapters' that can be added to a bridge device in Mavericks. And after doing this all (IP) traffic will be bridged between the members of the bridge.
You could also use a Mavericks machine to act like a Wi-Fi bridge (by simply adding its Wi-Fi interface in client-mode to the same bridge device as its Ethernet interface): All packets would then be bridged between Wi-Fi and Ethernet.
And there is a caveat: All this bridging happens at the network layer of OS X. Every packet arriving at one of the members of the bridge device has to be processed by Mavericks' kernel, possibly fragmented due to different MTUs and delivered to every other member of the bridge device. This is why we see a performance loss in these situations. And in my testings this degradation wasn't small: from 7.6 Gbits/sec down to 4.6 Gbits/sec is a massive loss. And I would suspect if you add in other Macs in such a 'Thunderbolt based mesh network' then you would see even more degraded performance between Machines not just 2 'hops' away. And every Mavericks machine in between acting as a software bridge would spend massive CPU ressources on this 'layer 3 switching' thing.
This means a Thunderbolt switch/hub is in the realm of possibility.
What we both did in our testings (interconnecting 3 Mavericks machines with 2 TB cables) has
nothing do to with something one would call "Thunderbolt switch/hub".
We had two independent "IP over Thunderbolt" point-to-point connections that have been combined by the bridge device of the Mac in the middle. What happened at the different layers:
- IP packets on the source Mac have been processed by the networking stack, handed over to the 'IP over Thunderbolt' pseudo NIC driver which will split the packets into the size of raw Thunderbolt packets and sends it over the wire to the next TB host controller available on the TB cable
- on this Machine (the bridge) all the raw TB packets will be reassembled to IP packets, handed over to the higher network layers of OS X, will there be examined (Source MAC address, target MAC address), potentially fragmented if MTU sizes of the source and target bridge member don't match and then be forwarded to the correct bridge member
- if the bridge member is also an 'IP over Thunderbolt' device now the same stuff happens as on the source Mac: IP packets will be split apart to fit into raw TB packets, sent from the TB host controller on the bridge Mac to the TB host controller on the target Mac where the same thing happens as on the bridge Machine: TB packets will be reassembled to IP packets and arrive at the networking layer of the OS
All this stuff is 'expensive' in terms of CPU useage and many times slower compared to direct switching of TB packets especially in case there is not just one Mac acting as a bridge between two others but you would interconnect a few more Macs in this way because all this packet wrapping/unwrapping stuff has to happen on each Mac acting like a bridge.
If one could utilize a Thunderbolt switch then the whole thing would be completely different: On the source Mac IP packets would still be split into raw TB packets of fixed size. But then they would be simply sent to the TB switch and directly delivered to another Port on this switch to reach the target Mac. So way less overhead compared to the current 'software bridge' solution possible with Mavericks.
The downsides of this approach: It wouldn't be easily possible to mix this sort of TB internetworking with other networking (Wi-Fi or Ethernet) due to different packet sizes. And if such a TB switch should interconnect 10 TB devices it must be implemented as a non-blocking switch providing a bandwidth of at least 200 Gpbs which will have a certain price tag. If you add the cost of the cables 10GBase-T might be cheaper.