Programmatically Creating VLAN in the Kernel

Gleb Smirnoff glebius at FreeBSD.org
Fri Apr 3 14:40:09 UTC 2015


On Mon, Mar 30, 2015 at 09:49:56AM -0400, Juan Mojica wrote:
J> I'm trying to programmatically create a VLAN in the kernel via ifioctl, but
J> I'm hitting a "copyin" in the ioctl path, and since the address I'm passing
J> in is a kernel address and not a user space address, the copyin is failing.
J> 
J> Calling the ioctl from user space is a non-starter at this point, and I
J> believe there will be other ioctls that will have to be called from the
J> kernel which will hit the same issue.
J> 
J> Any suggestions?
J> 
J> So far I've thought about marking the ifreq flags to indicate the request
J> came from the kernel and essentially bypass the copyin.  Another option
J> would be to make the create functions globally available, but this would
J> violate the modularity of the VLAN module.

If you really want to do that you need to export the vlan_cloner and its
methods, then call vlan_clone_create directly.

-- 
Totus tuus, Glebius.


More information about the freebsd-net mailing list