Intel Nuc 13 Pro Thunderbolt Ring Network Ceph Cluster

@Kollskegg

the udev link files support general globbing (i had to look up what that mean)
this means yuou just make the devpath match parameter and specificy as much or as little as needed to match

see here https://www.man7.org/linux/man-pages/man7/udev.7.html it shows all the UDEV parameters that can be matched on in the 'keys' section of the doc, globbing means you can write expressions if needed (but if its like the person you quoted you should just need DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/0000:08:00.0/0000:09:00.0/domain0/0-0/0-3/0-1.0
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/0000:08:00.0/0000:09:00.0/domain0/0-0/0-3/0-3.0

or to be more precise you need the devpath from the two different sections that mention thunderbolt-net

Code:
P: /devices/pci0000:00/0000:00:1c.4/0000:07:00.0/0000:08:00.0/0000:09:00.0/domain0/0-0/0-3/0-3.0
M: 0-3.0
R: 0
U: thunderbolt
T: thunderbolt_service
V: thunderbolt-net
E: DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/0000:08:00.0/0000:09:00.0/domain0/0-0/0-3/0-3.0
E: SUBSYSTEM=thunderbolt
E: DEVTYPE=thunderbolt_service
E: DRIVER=thunderbolt-net
E: MODALIAS=tbsvc:knetworkp00000001v00000001r00000001
Thank you, that is very helpful and looks promising, will try it in the lab soon.
 
Hi @Kollskegg, I have having the same issue, and tried a few globs. I can not get it to work, are you having any success?
Sorry no, couldn't get a successful match using the full-length path. The MAC addresses per interface/port have been stable between reboots so far, so I resolved it by using those in the match instead. The downside to this is that I've seen the MAC addresses change between re-installs and firmware upgrades. Some see the MAC addresses changing with cable removal/insertion but for me they don't.
 
couldn't get a successful match using the full-length path
thats why i suggest globbing - it allows you do to partial matches, expressions etc - i suggest one of you use chatgpt, if you carefully craft your question i give it an 8 in 10 chance it will give you the correct information
 
I am sure I am missing something here.

I have the following two thunderbolt net devices:

Code:
P: /devices/pci0000:00/0000:00:0d.2/domain0/0-0/0-1/0-1.0
M: 0-1.0
R: 0
J: +thunderbolt:0-1.0
U: thunderbolt
T: thunderbolt_service
V: thunderbolt-net
E: DEVPATH=/devices/pci0000:00/0000:00:0d.2/domain0/0-0/0-1/0-1.0
E: SUBSYSTEM=thunderbolt
E: DEVTYPE=thunderbolt_service
E: DRIVER=thunderbolt-net
E: MODALIAS=tbsvc:knetworkp00000001v00000001r00000001

P: /devices/pci0000:00/0000:00:0d.2/domain0/0-0/0-3/0-3.0
M: 0-3.0
R: 0
J: +thunderbolt:0-3.0
U: thunderbolt
T: thunderbolt_service
V: thunderbolt-net
E: DEVPATH=/devices/pci0000:00/0000:00:0d.2/domain0/0-0/0-3/0-3.0
E: SUBSYSTEM=thunderbolt
E: DEVTYPE=thunderbolt_service
E: DRIVER=thunderbolt-net
E: MODALIAS=tbsvc:knetworkp00000001v00000001r00000001


For the systemd link file, I have tried a bunch of different routes, but should something like the following work?


Code:
[Match]
Property=DEVPATH=/devices/pci0000:00/0000:00:0d.2/domain0/0-0/0-3/0-3.0
Driver=thunderbolt-net
[Link]
MACAddressPolicy=none
Name=ent3
 
I have never tested using the property match

have you tried enclosing it in quotes incase there are escaping issues on the / symbols

you could also try using globbing (property accepts * and ?) if chatgpt is not hallucinating something like Property=DEVPATH=*/0-3 though of course that could still have the issue if the / needs to be escaped in some form - i recommend this approach because it may not be the full end point that udevadm matches - thats why you dont see a full path match in my pcie path reference version, to avoid issues like that

make sure you use udevadms monitor function to see what happens when you remove and add the thunderbolt cables as that will show you what is and isntt getting matched
 
Last edited:
PS: didn't read whole theard
evidently you didn't eve read the last 10 posts, if you had you would have realised why the wya you do it doesn't work for these other people - the bus address is not unique for each port for them, so what you posted is unhelpful to them as it wont solve their issue and redunant as it is no different to the base instructions