Support for nv(9) in if_clone

Seyed Pouria Mousavizadeh Tehrani <[email protected]>
Newsgroups gmane.os.freebsd.devel.net
Organization SPMZT - AS214145
Message-ID <[email protected]>
Hi,

Currently our ifreq interface supports nv(9) lists via ifreq_nv_req. 
This allows network interface drivers to implement their configuration 
using nvlists (for example: if_ovpn, if_pf*).

There is a problem: an interface that is implemented entirely via nv(9) 
cannot be configured during the cloning phase (via if_clone_create). 
if_clone_create converts the ifreq struct to ifdrv and only copies 
ifr_data to params, so the ifru_nv field is lost during cloning.

I am interested in implementing a solution to this issue and am 
considering two possible approaches:

 1. Extend the ifdrv struct to include the ifreq_nv_req struct, and
    verify/make sure that other implemented modules are not affected.
 2. Introduce a new ioctl, SIOCIFCREATENV, to handle the nv part
    separately, which would be more complicated but potentially less
    disruptive to existing modules.

Which one do you think would be more suitable, or do you have any 
alternative suggestions?

--
spmzt
OpenPGP_signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSqt7cppfvJ816gj0lUwVnUeMwagAUCaO9Q/wAKCRBUwVnUeMwa
gB51AQDir1XteA1qK5Lyyn4p0qyHZKh7o7kPddWI2O2wQEoh/AEA/3A9iWHGa0wQ
y7euY9mFO+wv1erHQr83iWVvBdLKywU=
=yj0d
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.