Opened 3 years ago

Last modified 3 years ago

#12961 new enhancement

Autodetection of network shares

Reported by: kallisti5 Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
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 (2)

comment:1 Changed 3 years ago by pulkomandy

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 Changed 3 years ago by kallisti5

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
Note: See TracTickets for help on using tickets.