Opened 3 years ago

Last modified 3 months ago

#12961 new enhancement

Autodetection of network shares

Reported by: kallisti5 Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Network & Internet Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #12097
Has a Patch: no Platform: All

Description (last modified by kallisti5)

Currently, if you mount an NFS device, it goes into the BVolumeRoster with a "IsShared" == true setting. This results in the share showing up in the tracker menu with the other devices.

It would be an interesting feature to automatically detect shared volumes on the network and auto load them into BVolumeRoster (unmounted)

https://en.wikipedia.org/wiki/Zero-configuration_networking#Apple_Bonjour https://en.wikipedia.org/wiki/Zero-configuration_networking#Avahi

The not well known mount_nfs command results in not many users realizing we support NFS shares.

Change History (4)

comment:1 by pulkomandy, 3 years ago

I never heard of zeroconf being used with NFS. The protocols allow it, but if no shares are advertised this way, the list will never get any entries.

Or, do you know of another way to discover available NFS shares? Hint: port-scanning random IP addresses is not the way to go.

However, Tracker integration or some UI to mount network drives (it could be in mount preferences, or network prefs, or something yet separate), would be nice. Not sure we can do away with asking the user for the server and share names, however.

comment:2 by kallisti5, 3 years ago

Description: modified (diff)

Bonjour supports _nfs._tcp. Complete list here: https://developer.apple.com/library/content/qa/qa1312/_index.html

I wrote a tiny SSDP library, but as you said upnp doesn't (normally) do nfs.

libmicrossdp :( $ ./a.out 
Discovered 13 devices:
	'urn:schemas-upnp-org:device:Printer:1' - 'http://192.168.1.144:5200/Printer.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
	'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'

Unfortunately everyone has their own "standard" and consensus of something so fundamental was never reached. Anything we do in terms of automatic location of local network resources will likely need to be an aggregation of multiple inputs.

  • nfs - Bonjour / mDNS
  • iscsi - iSCSI Discovery

comment:3 by waddlesplash, 3 months ago

Component: - GeneralNetwork & Internet

comment:4 by waddlesplash, 3 months ago

Blocking: 12097 added
Note: See TracTickets for help on using tickets.