[patch] Source entries removing is awfully slow.
Gleb Smirnoff
glebius at FreeBSD.org
Thu Dec 5 10:47:43 UTC 2013
Kajetan,
On Thu, Dec 05, 2013 at 11:07:39AM +0100, Kajetan Staszkiewicz wrote:
K> > K> To have the most clean and simple code it would make the most sense to
K> > use the K> aforementioned pfioc_universal_kill for both DIOCKILLSTATES and
K> > K> DIOCKILLSRCNODES. But that would be a change of kernel api which I
K> > assume can K> not take place inside major release, so translation of
K> > structures is currently K> the way to go. Please correct me if I am wrong.
K> >
K> > It is okay to add new API.
K>
K> I was rather thinking about leaving DIOCKILLSTATES and DIOCKILLSRCNODES ioctls
K> in place but change the structure passed to them to pfioc_universal_killer. So
K> changint the existing API.
That can't be merged.
K> > So in head we will add new API/ABI, then remove obsoleted one. We will
K> > merge only addition to stable/10, not removal.
K> >
K> > The ABI constraints for stable branches are the following. Newer kernel
K> > must work with older utilxities. So, 10.1 kernel will work with pfctl from
K> > 10.0, since old ioctls are still supported.
K>
K> Is recompiling older utilities allowed? Please note that I need to add
K> ps(n?)k_table to (pfioc_src_nod|stat)e_kill and psnk_killed_states to
K> psnk_src_node_kill anyway. If not, then we must consider that this patch could
K> get only into head, and only with struct pfioc_universal_kill. I see no reason
K> to clean up the old parser without adding the new syntax with new parameters.
Recompiling old utilites is allowed.
So, the plan, that would work sounds like that:
1) Add new ioctl number and new structure. Rewrite pfctl to handle it.
2) Remove old ioctls and structures.
3) Merge 1).
What we achieve:
10.1 kernel understands 10.1 pfctl ans has new functionality.
10.1 kernel understands 10.0 pfctl.
--
Totus tuus, Glebius.
More information about the freebsd-pf
mailing list