The immediate problem is an inability to use the KPI from the kernel itself. Some of the cloned drivers require additional information provided via the opaque pointer and it is not possible to specify whether this pointer references kernel-space or user-space.
Instead of just adding a flag, try to generalise the KPI so the next changes can be performed without touching all of the users.
Unify current notion of SIMPLE and ADVANCED users.
Customers of the former rely on the framework to select the interface unit. Small amount of users also use 'minXXX' to auto-create (and preserve) a single interface such as 'pflog0'. Address the first part by requesting auto-unit selection via IFC_C_AUTOUNIT flag. Remove the ability to automatic interface creation as it won't allow to submit custom data to the interface, limiting its usage.
Isolate all parts of the oldKPI under CLONE_COMPAT_13 so it can be safely merged back to 13. Old KPI will be removed after the merge.
Details
Details
- Reviewers
glebius - Group Reviewers
network - Commits
- rG0edb2cd13d89: if_clone: rework cloning KPI
rG09ee0fc023c0: if_clone: rework cloning KPI
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/net/if_clone.c | ||
---|---|---|
207–226 | Should go to the beginning of the function per style. |
Comment Actions
I have no objection in the planned changes. The suggested KPI is definitely better than existing, which lacks possibility to specify more params to cloner. I don't want to put "reviewed by", since I didn't invest much time into the problem.