These KPIs were added in 9d29c635daa69 and through 15 years had zero use.
They slightly remind what IfAPI does for struct ifnet. But IfAPI does
that for the sake of large collection of NIC drivers not being aware of
struct ifnet. For the inpcb it is unclear what could be a large
collection of externally written kernel modules that need extensively use
inpcb and not be aware of its internals at the same time. This isolation
of a structure knowledge requires a lot of work, and just throwing in a
few KPIs isn't helpful.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/netinet/toecore.h | ||
---|---|---|
39 | Why is this in this change of removing KPIs? |
sys/netinet/toecore.h | ||
---|---|---|
39 | Because previously tcpcb was implicitly declared via the deleted KPI functions. |
sys/netinet/toecore.h | ||
---|---|---|
39 | How? You are not removing any declaration or #include. It was used but that doesn't declare. Not that it really matters, just feels weird in this change. |
sys/netinet/toecore.h | ||
---|---|---|
39 | Re-checked. Yes, this makes it not compilable: -struct tcpcb * - inp_inpcbtotcpcb(struct inpcb *inp); |