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-----