version 1.45, 2022/10/02 19:58:37 |
version 1.46, 2022/10/02 20:19:33 |
|
|
<li>Make route timer MP safe and use rttimer pool. |
<li>Make route timer MP safe and use rttimer pool. |
<li>Use kernel lock to protect parts of ARP, ND6 and PPPoE that |
<li>Use kernel lock to protect parts of ARP, ND6 and PPPoE that |
are not MP safe. |
are not MP safe. |
Lookup of existing ARP entry is MP safe and can run in parallel. |
Lookup of existing ARP entries is MP safe and can run in parallel. |
<li>Start up to 4 softnet tasks to run IP input and forwarding |
<li>Start up to 4 softnet tasks to run IP input and forwarding |
in parallel on multiple cores. |
in parallel on multiple cores. |
<li>Run IPv4 packet reassembly in parallel. |
<li>Run IPv4 packet reassembly in parallel. |
|
|
<li>Add a mutex to rate limiting functions to make them MP safe. |
<li>Add a mutex to rate limiting functions to make them MP safe. |
<li>Introduce mutex and reference counter for internet protocol |
<li>Introduce mutex and reference counter for internet protocol |
control block. |
control block. |
<li>Protect UDP, raw IP, and divert packet input routines |
<li>Protect <a href="https://man.openbsd.org/udp.4">UDP</a>, raw <a |
with a per socket mutex. |
href="https://man.openbsd.org/ip.4">IP</a>, and <a |
|
href="https://man.openbsd.org/divert.4">divert</a> packet input |
|
routines with a per socket mutex. |
<li>Protect <a href="https://man.openbsd.org/recv.2">recv(2)</a> system call |
<li>Protect <a href="https://man.openbsd.org/recv.2">recv(2)</a> system call |
for UDP and raw IP packets with a per socket mutex and shared netlock. |
for UDP and raw IP packets with a per socket mutex and shared netlock. |
Allows to receive packets while forwarding in parallel. |
Allows to receive packets while forwarding in parallel. |
|
|
<li>Use MP safe refcount for interface addresses. |
<li>Use MP safe refcount for interface addresses. |
<li>Unlocked <a href="https://man.openbsd.org/kbind.2">kbind(2)</a>. |
<li>Unlocked <a href="https://man.openbsd.org/kbind.2">kbind(2)</a>. |
<li>Unlocked the <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> system call. |
<li>Unlocked the <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> system call. |
<li>Made <a href="https://man.openbsd.org/unix.4">unix(4)</a> domain |
<li>Made <a href="https://man.openbsd.org/unix.4">UNIX</a> domain |
sockets locking per-socket rather than coarse locking of the entire |
sockets locking per-socket rather than coarse locking of the entire |
domain sockets layer. |
domain sockets layer. |
</ul> |
</ul> |
|
|
<li>Introduced a new daemon_execdir variable to <a |
<li>Introduced a new daemon_execdir variable to <a |
href="https://man.openbsd.org/rc.d.8">rc.d(8)</a> for changing to a |
href="https://man.openbsd.org/rc.d.8">rc.d(8)</a> for changing to a |
specified directory before running rc_exec. |
specified directory before running rc_exec. |
<li>Added <a href="https://man.openbsd.org/ts.1">ts(1)</a>, a timestamp utility. |
<li>Added <a href="https://man.openbsd.org/ts.1">ts(1)</a>, a |
|
timestamp utility. |
</ul> |
</ul> |
|
|
<li>Various bugfixes and tweaks in userland: |
<li>Various bugfixes and tweaks in userland: |