Hi Sampo, See comments inline...
Sampo Nurmentaus <audiopoppi...@audioriders.fi> said: > > Hi James, > > The original reason for the new option for me was the > ability to move the device file away from /dev. Why not use --dev-node? > This was of cource a really special need to > help me porting openvpn to an embedded platform. > > How about if --dev would check if the given > device name begins with / and if so it would > use given string as a complete path to the device file? > > And --dev /dev/tun would be equivalent with --dev tun ? --dev doesn't really deal with path names of device nodes, that's --dev-node's purview. Instead --dev sets the name for the device unit allocated, as it appears under ifconfig, or if the name is generic, such as "--dev tun", chooses a dynamic name such as tun4. In my latest patch which merges --dev-name functionality with --dev, these are our options for dealing with tun/tap naming: --dev : sets the device name as it appears under ifconfig --dev-node : sets the device file for tun/tap device --dev-type : sets the device type "tun|tap" if it cannot be inferred from --dev or --dev-node So, for example, under linux 2.4, "--dev-node /dev/net/tun" is equivalent to "--dev tun". James > > > Best regards, > Sampo > > > > > A debian bug report was submitted that inspired me to look deeper into the > > operation of --dev and the new --dev-name flag. > > > > --dev-name was a patch for tun.c which I received a few months ago, which > > only > > really does anything for linux 2.4. On first glance it appeared nominally > > useful, so I merged it, but on further inspection it appears to be mostly > > redundant with --dev. > > > > It appears that the motivation for implementing --dev-name was that --dev > > assumes its argument is either "tun", "tap", "null", or tun/tap with a unit > > number (e.g. "tun4"). But --dev is limited in that it doesn't allow > > arbitrary > > renaming. > > > > In OpenVPN 1.3.2, if the --dev argument was larger than 3 chars, it was > > assumed that a unit number was present. In 1.4.1 that test was changed so > > that an ascii digit needed to be present to assume a unit number. If a unit > > number was present, then the name of the device (as it appears in ifconfig) > > would be changed to reflect the explicit unit number. What I think probably > > inspired the debian bug report is that in 1.3.2 if you said "--dev foobar > > --dev-type tun", openvpn would have renamed the tun device to foobar, > > because > > foobar is > 3 characters. In 1.4.1, no rename would occur because "foobar" > > doesn't contain any numerical digits. In 1.4.1, you would need to say > > "--dev > > tun --dev-name foobar" to get the same effect. This seems somewhat > > arbitrary > > and confusing. > > > > My conclusion is that the implementation of --dev and --dev-name is mostly > > redundant because --dev can just as easily set the device name based on its > > argument, if that argument is something other than "tun", "tap", "null". > > The > > current operation of "--dev tun" or "--dev tap" would be preserved so that a > > dynamic unit number would be allocated if, for example, "--dev tun4" is > > given. > > But you could also specify "--dev foo --dev-type tun" and a tun device > > named > > foo would be created. > > > > I've patched the current development release to remove --dev-name, and to > > allow --dev to set a specific device name as in the above paragraph. > > > > Download: > > > > http://openvpn.sourceforge.net/beta/openvpn-1.4.1.4.tar.gz (or CVS) > > > > James > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: eBay > > Get office equipment for less on eBay! > > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > > _______________________________________________ > > Openvpn-devel mailing list > > Openvpn-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/openvpn-devel > > > --