svn commit: r353057 - head/sys/net
Allan Jude
allanjude at freebsd.org
Sun Oct 6 16:17:32 UTC 2019
On 2019-10-04 08:57, Kyle Evans wrote:
> On Thu, Oct 3, 2019 at 12:54 PM Kyle Evans <kevans at freebsd.org> wrote:
>>
>> Author: kevans
>> Date: Thu Oct 3 17:54:00 2019
>> New Revision: 353057
>> URL: https://svnweb.freebsd.org/changeset/base/353057
>>
>> Log:
>> if_tuntap: create /dev aliases when a tuntap device gets renamed
>>
>> Currently, if you do:
>>
>> $ ifconfig tun0 create
>> $ ifconfig tun0 name wg0
>> $ ls -l /dev | egrep 'wg|tun'
>>
>> You will see tun0, but no wg0. In fact, it's slightly more annoying to make
>> the association between the new name and the old name in order to open the
>> device (if it hadn't been opened during the rename).
>>
>> Register an eventhandler for ifnet_arrival_events and catch interface
>> renames. We can determine if the ifnet is a tun easily enough from the
>> if_dname, which matches the cevsw.d_name from the associated tuntap_driver.
>>
>> Some locking dance is required because renames don't require the device to
>> be opened, so it could go away in the middle of handling the ioctl, but as
>> soon as we've verified this isn't the case we can attempt to busy the tun
>> and either bail out if the tun device is dying, or we can proceed with the
>> rename.
>>
>> We only create these aliases on a best-effort basis. Renaming a tun device
>> to "usbctl", which doesn't exist as an ifnet but does as a /dev, is clearly
>> not that disastrous, but we can't and won't create a /dev for that.
>>
>
> It's been brought to my attention that I actually had a PR that I took
> six months ago that this should've belonged to.
>
> PR: 219746
>
Thanks for this, I was having similar problems with this trying to use
wireguard inside a VNET jail, so it was even harder to find and destroy
the correct interface.
--
Allan Jude
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20191006/b4d040f1/attachment.sig>
More information about the svn-src-head
mailing list