File:  [NetBSD Developer Wiki] / wikisrc / projects / project / struct_protosw.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Wed Nov 9 20:41:56 2016 UTC (3 years, 1 month ago) by riastradh
Branches: MAIN
CVS tags: HEAD
rtr@ did protosw revamp years ago.  No longer available for funding.

[[!template id=project

title="Revamped struct protosw"

contact="""
[tech-kern](mailto:tech-kern@NetBSD.org),
[tech-net](mailto:tech-net@NetBSD.org),
[board](mailto:board@NetBSD.org),
[core](mailto:core@NetBSD.org)
"""

difficulty="hard"
funded="The NetBSD Foundation"
done_by="Tyler Retzlaff"

description="""
The goal of this project is to split out obvious `PR*_xxx` that should have
never been dispatched through the `pr_usrreq`/`pr_ctloutput`.  Note that
`pr_ctloutput` should be replaced by `pr_getopt`/`pr_setopt`:

* `PRU_CONTROL` -> `pr_ioctl`
* `PRU_PURGEIF` -> `pr_purgeif`
* `PRC0_GETOPT` -> `pr_getopt`
* `PRC0_GETOPT` -> `pr_setopt`

It's expected that `pr_drain` will just schedule a
[[kernel continuation|kernel_continuations]] such as:

* `pr_init` -> `int pr_init(void *dsc);`
* `int pr_fini(void *dsc)`
"""
]]

[[!tag smp_networking]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb