Now
MAIN commitmail json YAML
frag6: fix calculation of fragment length
Because of the miscalculation, 32 bytes fragmented IPv6 packets
have been wrongly dropped.
See https://mail-index.netbsd.org/tech-net/2024/04/14/msg008741.html
for more details.
Patch from Yasuyuki KOZAKAI (with minor tweaks)
Because of the miscalculation, 32 bytes fragmented IPv6 packets
have been wrongly dropped.
See https://mail-index.netbsd.org/tech-net/2024/04/14/msg008741.html
for more details.
Patch from Yasuyuki KOZAKAI (with minor tweaks)
MAIN commitmail json YAML
mbuf: avoid assertion failure when splitting mbuf cluster
>From OpenBSD:
commit 7b4d35e0a60ba1dd4daf4b1c2932020a22463a89
Author: bluhm <bluhm@openbsd.org>
Date: Fri Oct 20 16:25:15 2023 +0000
Avoid assertion failure when splitting mbuf cluster.
m_split() calls m_align() to initialize the data pointer of newly
allocated mbuf. If the new mbuf will be converted to a cluster,
this is not necessary. If additionally the new mbuf is larger than
MLEN, this can lead to a panic.
Only call m_align() when a valid m_data is needed. This is the
case if we do not refecence the existing cluster, but memcpy() the
data into the new mbuf.
Reported-by: syzbot+0e6817f5877926f0e96a@syzkaller.appspotmail.com
OK claudio@ deraadt@
The issue is harmless if DIAGNOSTIC is not enabled.
XXX pullup-10
XXX pullup-9
>From OpenBSD:
commit 7b4d35e0a60ba1dd4daf4b1c2932020a22463a89
Author: bluhm <bluhm@openbsd.org>
Date: Fri Oct 20 16:25:15 2023 +0000
Avoid assertion failure when splitting mbuf cluster.
m_split() calls m_align() to initialize the data pointer of newly
allocated mbuf. If the new mbuf will be converted to a cluster,
this is not necessary. If additionally the new mbuf is larger than
MLEN, this can lead to a panic.
Only call m_align() when a valid m_data is needed. This is the
case if we do not refecence the existing cluster, but memcpy() the
data into the new mbuf.
Reported-by: syzbot+0e6817f5877926f0e96a@syzkaller.appspotmail.com
OK claudio@ deraadt@
The issue is harmless if DIAGNOSTIC is not enabled.
XXX pullup-10
XXX pullup-9
MAIN commitmail json YAML
in6: don't send any IPv6 packets over a disabled interface
MAIN commitmail json YAML
in6: clear ND6_IFF_IFDISABLED to allow DAD again on link-up
MAIN commitmail json YAML
in6: add missing rtcache_unref to in6_selectroute
By default, this issue is harmless. However, if NET_MPSAFE
is enabled, it could eventually lead to a kernel panic.
By default, this issue is harmless. However, if NET_MPSAFE
is enabled, it could eventually lead to a kernel panic.
MAIN commitmail json YAML
route: run workqueue kthreads with KERNEL_LOCK unless NET_MPSAFE
Without KERNEL_LOCK, rt_timer_work and rt_free_work can run in parallel
with other LWPs running in the network stack, which eventually results
in say use-after-free of a deleted route.
Without KERNEL_LOCK, rt_timer_work and rt_free_work can run in parallel
with other LWPs running in the network stack, which eventually results
in say use-after-free of a deleted route.
MAIN commitmail json YAML
Revert "Fix panic on packet sending via a route with rt_ifa of AF_LINK."
The fix is mistakenly upstreamed.
The fix is mistakenly upstreamed.
MAIN commitmail json YAML
in6: make sure a user-specified checksum field is within a packet
From OpenBSD
From OpenBSD
MAIN commitmail json YAML
in6: reject setting negative values but -1 via setsockopt(IPV6_CHECKSUM)
Same as OpenBSD.
Same as OpenBSD.
MAIN commitmail json YAML
src/sys/netinet6/ip6_output.c@1.232
/
diff
/
nxr@1.232
src/sys/netipsec/ipsec.c@1.178 / diff / nxr@1.178
src/sys/netipsec/ipsec_input.c@1.79 / diff / nxr@1.79
src/sys/netipsec/ipsec_output.c@1.86 / diff / nxr@1.86
src/sys/netipsec/ipsec.c@1.178 / diff / nxr@1.178
src/sys/netipsec/ipsec_input.c@1.79 / diff / nxr@1.79
src/sys/netipsec/ipsec_output.c@1.86 / diff / nxr@1.86
ipsec: remove unnecessary splsoftnet
Because the code of IPsec itself is already MP-safe.
Because the code of IPsec itself is already MP-safe.
MAIN commitmail json YAML
src/sys/kern/kern_lock.c@1.182
/
diff
/
nxr@1.182
src/sys/kern/kern_mutex.c@1.102 / diff / nxr@1.102
src/sys/kern/kern_rwlock.c@1.67 / diff / nxr@1.67
src/sys/kern/kern_mutex.c@1.102 / diff / nxr@1.102
src/sys/kern/kern_rwlock.c@1.67 / diff / nxr@1.67
Sprinkle __predict_{true,false} for panicstr checks
MAIN commitmail json YAML
src/distrib/sets/lists/tests/mi@1.1238
/
diff
/
nxr@1.1238
src/tests/net/net/Makefile@1.29 / diff / nxr@1.29
src/tests/net/net/Makefile@1.29 / diff / nxr@1.29
tests: fix Makefile and lists for MKRUMP=no
Pointed out by Michael Scholz, thanks.
Pointed out by Michael Scholz, thanks.
MAIN commitmail json YAML
tests: restore a line removed accidentally
MAIN commitmail json YAML
src/distrib/sets/lists/debug/mi@1.394
/
diff
/
nxr@1.394
src/distrib/sets/lists/tests/mi@1.1237 / diff / nxr@1.1237
src/tests/net/net/Makefile@1.27 / diff / nxr@1.27
src/distrib/sets/lists/tests/mi@1.1237 / diff / nxr@1.1237
src/tests/net/net/Makefile@1.27 / diff / nxr@1.27
tests: build and install t_ip_reass.c
MAIN commitmail json YAML
tests: tweak t_ip_reass.c for NetBSD
The test is modified to run on rump kernels.
The test is modified to run on rump kernels.
MAIN commitmail json YAML
tests: import ip_reass_test.c from FreeBSD as t_ip_reass.c
As of:
commit 9ed1e4ecd4e9eb3bde16f52a937a6fa86a971638
Author: Mark Johnston <markj@FreeBSD.org>
Date: Tue Nov 20 18:13:18 2018 +0000
Plug a trivial memory leak.
CID: 1396911
MFC with: r340485
As of:
commit 9ed1e4ecd4e9eb3bde16f52a937a6fa86a971638
Author: Mark Johnston <markj@FreeBSD.org>
Date: Tue Nov 20 18:13:18 2018 +0000
Plug a trivial memory leak.
CID: 1396911
MFC with: r340485
MAIN commitmail json YAML
man, bpf: support loopback interfaces for send
MAIN commitmail json YAML
bpf: support sending packets on loopback interfaces
Previously sending packets on a loopback interface via bpf failed
because the packets are treated as AF_UNSPEC by bpf and the loopback
interface couldn't handle such packets.
This fix enables user programs to prepend a protocol family (AF_INET or
AF_INET6) to a payload. bpf interprets it and treats a packet as so,
not just AF_UNSPEC. The protocol family is encoded as 4 bytes, host byte
order as per DLT_NULL in the specification(*).
(*) https://www.tcpdump.org/linktypes.html
Proposed on tech-net and tech-kern
Previously sending packets on a loopback interface via bpf failed
because the packets are treated as AF_UNSPEC by bpf and the loopback
interface couldn't handle such packets.
This fix enables user programs to prepend a protocol family (AF_INET or
AF_INET6) to a payload. bpf interprets it and treats a packet as so,
not just AF_UNSPEC. The protocol family is encoded as 4 bytes, host byte
order as per DLT_NULL in the specification(*).
(*) https://www.tcpdump.org/linktypes.html
Proposed on tech-net and tech-kern
MAIN commitmail json YAML
distrib: add missing ./usr/libdata/debug/usr/tests/net/inpcb
MAIN commitmail json YAML
src/distrib/sets/lists/debug/mi@1.391
/
diff
/
nxr@1.391
src/distrib/sets/lists/tests/mi@1.1232 / diff / nxr@1.1232
src/etc/mtree/NetBSD.dist.tests@1.196 / diff / nxr@1.196
src/tests/net/Makefile@1.41 / diff / nxr@1.41
src/tests/net/inpcb/Makefile@1.1 / diff / nxr@1.1
src/tests/net/net/Makefile@1.26 / diff / nxr@1.26
src/tests/net/tcp/Makefile@1.3 / diff / nxr@1.3
src/distrib/sets/lists/tests/mi@1.1232 / diff / nxr@1.1232
src/etc/mtree/NetBSD.dist.tests@1.196 / diff / nxr@1.196
src/tests/net/Makefile@1.41 / diff / nxr@1.41
src/tests/net/inpcb/Makefile@1.1 / diff / nxr@1.1
src/tests/net/net/Makefile@1.26 / diff / nxr@1.26
src/tests/net/tcp/Makefile@1.3 / diff / nxr@1.3
tests: build and install added test files
MAIN commitmail json YAML
tests: add t_broadcast_bind.sh
MAIN commitmail json YAML
tests: tweak broadcast_bind.c for NetBSD
MAIN commitmail json YAML
tests: import broadcast_bind.c from OpenBSD
As of $OpenBSD: broadcast_bind.c,v 1.2 2015/12/02 20:45:00 mpi Exp $
As of $OpenBSD: broadcast_bind.c,v 1.2 2015/12/02 20:45:00 mpi Exp $
MAIN commitmail json YAML
tests: add t_inpcb_bind.sh
MAIN commitmail json YAML
tests: make inpcb_bind.c buildable
MAIN commitmail json YAML
tests: import in_pcbbind/runtest.c from OpenBSD as inpcb_bind.c
As of $OpenBSD: runtest.c,v 1.7 2022/04/10 14:08:35 claudio Exp $
As of $OpenBSD: runtest.c,v 1.7 2022/04/10 14:08:35 claudio Exp $
MAIN commitmail json YAML
tests: make t_tcp_connect_port.c run on rump kernel
MAIN commitmail json YAML
tests: import tcp_connect_port_test.c from FreeBSD as t_tcp_connect_port.c
As of:
commit 36c52a52eecf1ed0232f9e138564009a85de76c2
Author: Jonathan T. Looney <jtl@FreeBSD.org>
Date: Sat Nov 14 15:44:28 2020 +0000
Add a regression test for the port-selection behavior fixed in r367680.
As of:
commit 36c52a52eecf1ed0232f9e138564009a85de76c2
Author: Jonathan T. Looney <jtl@FreeBSD.org>
Date: Sat Nov 14 15:44:28 2020 +0000
Add a regression test for the port-selection behavior fixed in r367680.
MAIN commitmail json YAML
tests: make t_socket_afinet.c run on rump kernel
MAIN commitmail json YAML
tests: import socket_afinet.c from FreeBSD as t_socket_afinet.c
As of:
commit 3aaaa2efde896e19d229ee2cf09fe7e6ab0fbf6e
Author: Thomas Munro <tmunro@FreeBSD.org>
Date: Wed Apr 28 21:31:38 2021 +1200
poll(2): Add POLLRDHUP.
As of:
commit 3aaaa2efde896e19d229ee2cf09fe7e6ab0fbf6e
Author: Thomas Munro <tmunro@FreeBSD.org>
Date: Wed Apr 28 21:31:38 2021 +1200
poll(2): Add POLLRDHUP.
MAIN commitmail json YAML
Bump the version for function renames of inpcb
Welcome to 9.99.105
Welcome to 9.99.105
MAIN commitmail json YAML
ipcb: add/update the description of functions
From rmind-smpnet patches
From rmind-smpnet patches
MAIN commitmail json YAML
inpcb: replace leading white spaces with tabs
MAIN commitmail json YAML
src/sys/netinet/in_pcb.c@1.200
/
diff
/
nxr@1.200
src/sys/netinet6/in6_pcb.c@1.177 / diff / nxr@1.177
src/sys/netinet6/in6_pcb.c@1.177 / diff / nxr@1.177
inpcb: get rid of parentheses for return value
MAIN commitmail json YAML
inpcb: use NULL
MAIN commitmail json YAML
src/sys/netinet/in.c@1.244
/
diff
/
nxr@1.244
src/sys/netinet/in_pcb.c@1.198 / diff / nxr@1.198
src/sys/netinet/in_pcb.h@1.76 / diff / nxr@1.76
src/sys/netinet6/in6_pcb.c@1.176 / diff / nxr@1.176
src/sys/netinet/in_pcb.c@1.198 / diff / nxr@1.198
src/sys/netinet/in_pcb.h@1.76 / diff / nxr@1.76
src/sys/netinet6/in6_pcb.c@1.176 / diff / nxr@1.176
inpcb: use in_port_t for port numbers
MAIN commitmail json YAML
inpcb: use pool_cache instead of pool
MAIN commitmail json YAML
src/sys/dist/pf/net/pf.c@1.87
/
diff
/
nxr@1.87
src/sys/netinet/dccp_usrreq.c@1.26 / diff / nxr@1.26
src/sys/netinet/in_pcb.c@1.196 / diff / nxr@1.196
src/sys/netinet/in_pcb.h@1.75 / diff / nxr@1.75
src/sys/netinet/portalgo.c@1.15 / diff / nxr@1.15
src/sys/netinet/sctp_output.c@1.33 / diff / nxr@1.33
src/sys/netinet/tcp_input.c@1.438 / diff / nxr@1.438
src/sys/netinet/tcp_output.c@1.218 / diff / nxr@1.218
src/sys/netinet/tcp_subr.c@1.296 / diff / nxr@1.296
src/sys/netinet/tcp_syncache.c@1.6 / diff / nxr@1.6
src/sys/netinet/tcp_usrreq.c@1.238 / diff / nxr@1.238
src/sys/netinet6/dccp6_usrreq.c@1.15 / diff / nxr@1.15
src/sys/netinet6/in6_pcb.c@1.175 / diff / nxr@1.175
src/sys/netinet6/in6_src.c@1.91 / diff / nxr@1.91
src/sys/netinet6/raw_ip6.c@1.182 / diff / nxr@1.182
src/sys/netinet6/sctp6_usrreq.c@1.24 / diff / nxr@1.24
src/sys/netinet6/udp6_usrreq.c@1.154 / diff / nxr@1.154
src/sys/netinet/dccp_usrreq.c@1.26 / diff / nxr@1.26
src/sys/netinet/in_pcb.c@1.196 / diff / nxr@1.196
src/sys/netinet/in_pcb.h@1.75 / diff / nxr@1.75
src/sys/netinet/portalgo.c@1.15 / diff / nxr@1.15
src/sys/netinet/sctp_output.c@1.33 / diff / nxr@1.33
src/sys/netinet/tcp_input.c@1.438 / diff / nxr@1.438
src/sys/netinet/tcp_output.c@1.218 / diff / nxr@1.218
src/sys/netinet/tcp_subr.c@1.296 / diff / nxr@1.296
src/sys/netinet/tcp_syncache.c@1.6 / diff / nxr@1.6
src/sys/netinet/tcp_usrreq.c@1.238 / diff / nxr@1.238
src/sys/netinet6/dccp6_usrreq.c@1.15 / diff / nxr@1.15
src/sys/netinet6/in6_pcb.c@1.175 / diff / nxr@1.175
src/sys/netinet6/in6_src.c@1.91 / diff / nxr@1.91
src/sys/netinet6/raw_ip6.c@1.182 / diff / nxr@1.182
src/sys/netinet6/sctp6_usrreq.c@1.24 / diff / nxr@1.24
src/sys/netinet6/udp6_usrreq.c@1.154 / diff / nxr@1.154
inpcb: rename functions to in6pcb_*
MAIN commitmail json YAML
src/sys/dist/pf/net/pf.c@1.86
/
diff
/
nxr@1.86
src/sys/net/if_wg.c@1.71 / diff / nxr@1.71
src/sys/netcan/can.c@1.13 / diff / nxr@1.13
src/sys/netinet/dccp_usrreq.c@1.25 / diff / nxr@1.25
src/sys/netinet/in_pcb.c@1.195 / diff / nxr@1.195
src/sys/netinet/in_pcb.h@1.74 / diff / nxr@1.74
src/sys/netinet/ip_output.c@1.323 / diff / nxr@1.323
src/sys/netinet/portalgo.c@1.14 / diff / nxr@1.14
src/sys/netinet/raw_ip.c@1.184 / diff / nxr@1.184
src/sys/netinet/sctp_usrreq.c@1.23 / diff / nxr@1.23
src/sys/netinet/tcp_input.c@1.437 / diff / nxr@1.437
src/sys/netinet/tcp_output.c@1.217 / diff / nxr@1.217
src/sys/netinet/tcp_subr.c@1.295 / diff / nxr@1.295
src/sys/netinet/tcp_syncache.c@1.5 / diff / nxr@1.5
src/sys/netinet/tcp_timer.c@1.99 / diff / nxr@1.99
src/sys/netinet/tcp_usrreq.c@1.237 / diff / nxr@1.237
src/sys/netinet/tcp_vtw.c@1.24 / diff / nxr@1.24
src/sys/netinet/udp_usrreq.c@1.264 / diff / nxr@1.264
src/sys/netinet6/in6_pcb.c@1.174 / diff / nxr@1.174
src/sys/netinet6/raw_ip6.c@1.181 / diff / nxr@1.181
:
(more 2 files)
src/sys/net/if_wg.c@1.71 / diff / nxr@1.71
src/sys/netcan/can.c@1.13 / diff / nxr@1.13
src/sys/netinet/dccp_usrreq.c@1.25 / diff / nxr@1.25
src/sys/netinet/in_pcb.c@1.195 / diff / nxr@1.195
src/sys/netinet/in_pcb.h@1.74 / diff / nxr@1.74
src/sys/netinet/ip_output.c@1.323 / diff / nxr@1.323
src/sys/netinet/portalgo.c@1.14 / diff / nxr@1.14
src/sys/netinet/raw_ip.c@1.184 / diff / nxr@1.184
src/sys/netinet/sctp_usrreq.c@1.23 / diff / nxr@1.23
src/sys/netinet/tcp_input.c@1.437 / diff / nxr@1.437
src/sys/netinet/tcp_output.c@1.217 / diff / nxr@1.217
src/sys/netinet/tcp_subr.c@1.295 / diff / nxr@1.295
src/sys/netinet/tcp_syncache.c@1.5 / diff / nxr@1.5
src/sys/netinet/tcp_timer.c@1.99 / diff / nxr@1.99
src/sys/netinet/tcp_usrreq.c@1.237 / diff / nxr@1.237
src/sys/netinet/tcp_vtw.c@1.24 / diff / nxr@1.24
src/sys/netinet/udp_usrreq.c@1.264 / diff / nxr@1.264
src/sys/netinet6/in6_pcb.c@1.174 / diff / nxr@1.174
src/sys/netinet6/raw_ip6.c@1.181 / diff / nxr@1.181
:
(more 2 files)
inpcb: rename functions to inpcb_*
Inspired by rmind-smpnet patches.
Inspired by rmind-smpnet patches.
MAIN commitmail json YAML
src/distrib/sets/lists/debug/mi@1.390
/
diff
/
nxr@1.390
src/distrib/sets/lists/tests/mi@1.1227 / diff / nxr@1.1227
src/etc/mtree/NetBSD.dist.tests@1.195 / diff / nxr@1.195
src/tests/net/tcp/Makefile@1.2 / diff / nxr@1.2
src/tests/net/tcp/t_tcp_shutdown.sh@1.1 / diff / nxr@1.1
src/tests/net/tcp/tcp_shutdown.c@1.1 / diff / nxr@1.1
src/distrib/sets/lists/tests/mi@1.1227 / diff / nxr@1.1227
src/etc/mtree/NetBSD.dist.tests@1.195 / diff / nxr@1.195
src/tests/net/tcp/Makefile@1.2 / diff / nxr@1.2
src/tests/net/tcp/t_tcp_shutdown.sh@1.1 / diff / nxr@1.1
src/tests/net/tcp/tcp_shutdown.c@1.1 / diff / nxr@1.1
tests: add tests for invalid extra operations on a shutdown socket
The tests cover some error paths that normally happen.
The tests cover some error paths that normally happen.
MAIN commitmail json YAML
sets: fix wrong keywords for tests/net/tcp
MAIN commitmail json YAML
src/distrib/sets/lists/tests/mi@1.1225
/
diff
/
nxr@1.1225
src/etc/mtree/NetBSD.dist.tests@1.194 / diff / nxr@1.194
src/tests/net/Makefile@1.40 / diff / nxr@1.40
src/tests/net/tcp/Makefile@1.1 / diff / nxr@1.1
src/tests/net/tcp/t_tcp_nc.sh@1.1 / diff / nxr@1.1
src/etc/mtree/NetBSD.dist.tests@1.194 / diff / nxr@1.194
src/tests/net/Makefile@1.40 / diff / nxr@1.40
src/tests/net/tcp/Makefile@1.1 / diff / nxr@1.1
src/tests/net/tcp/t_tcp_nc.sh@1.1 / diff / nxr@1.1
tests: add tests for TCP with nc
MAIN commitmail json YAML
tests: enable start_nc_server to have extra options for nc
MAIN commitmail json YAML
rump: don't touch p_nlwps without holding p_lock
There was a race condition on p_nlwps. Heavy thread switching could
cause a kernel panic like:
panic: kernel diagnostic assertion "LIST_EMPTY(&p->p_lwps)" failed:
file "(hidden)/src/lib/librump/../../sys/rump/librump/rumpkern/lwproc.c", line 177
There was a race condition on p_nlwps. Heavy thread switching could
cause a kernel panic like:
panic: kernel diagnostic assertion "LIST_EMPTY(&p->p_lwps)" failed:
file "(hidden)/src/lib/librump/../../sys/rump/librump/rumpkern/lwproc.c", line 177
MAIN commitmail json YAML
tcp: fix wrong logic in tcp_drop
Pointed out by mlelstv@
Pointed out by mlelstv@
MAIN commitmail json YAML
tcp: restore NULL check for inp in tcp_ctloutput
MAIN commitmail json YAML
tcp: restore NULL checks for inp
MAIN commitmail json YAML
inpcb: fix for kernels without INET6
MAIN commitmail json YAML
Bump the version for inpcb changes
Welcome to 9.99.104
Welcome to 9.99.104
MAIN commitmail json YAML
src/usr.bin/fstat/fstat.c@1.117
/
diff
/
nxr@1.117
src/usr.bin/netstat/inet.c@1.119 / diff / nxr@1.119
src/usr.bin/netstat/inet6.c@1.84 / diff / nxr@1.84
src/usr.bin/systat/netcmds.c@1.24 / diff / nxr@1.24
src/usr.bin/systat/netstat.c@1.32 / diff / nxr@1.32
src/usr.bin/netstat/inet.c@1.119 / diff / nxr@1.119
src/usr.bin/netstat/inet6.c@1.84 / diff / nxr@1.84
src/usr.bin/systat/netcmds.c@1.24 / diff / nxr@1.24
src/usr.bin/systat/netstat.c@1.32 / diff / nxr@1.32
Adjust userland commands for struct inpcb separation
Only kvm users are affected.
Only kvm users are affected.
MAIN commitmail json YAML
src/sys/netinet/dccp_usrreq.c@1.24
/
diff
/
nxr@1.24
src/sys/netinet/sctp_output.c@1.32 / diff / nxr@1.32
src/sys/netinet/sctp_pcb.h@1.7 / diff / nxr@1.7
src/sys/netinet6/dccp6_usrreq.c@1.14 / diff / nxr@1.14
src/sys/netinet6/sctp6_usrreq.c@1.23 / diff / nxr@1.23
src/sys/netinet/sctp_output.c@1.32 / diff / nxr@1.32
src/sys/netinet/sctp_pcb.h@1.7 / diff / nxr@1.7
src/sys/netinet6/dccp6_usrreq.c@1.14 / diff / nxr@1.14
src/sys/netinet6/sctp6_usrreq.c@1.23 / diff / nxr@1.23
Adjust dccp and sctp for struct inpcb separation
MAIN commitmail json YAML
src/sys/netinet/in_pcb.c@1.193
/
diff
/
nxr@1.193
src/sys/netinet/in_pcb.h@1.73 / diff / nxr@1.73
src/sys/netinet/ip_output.c@1.322 / diff / nxr@1.322
src/sys/netinet/portalgo.c@1.13 / diff / nxr@1.13
src/sys/netinet/raw_ip.c@1.183 / diff / nxr@1.183
src/sys/netinet/tcp_input.c@1.436 / diff / nxr@1.436
src/sys/netinet/tcp_output.c@1.216 / diff / nxr@1.216
src/sys/netinet/tcp_subr.c@1.293 / diff / nxr@1.293
src/sys/netinet/tcp_syncache.c@1.4 / diff / nxr@1.4
src/sys/netinet/tcp_timer.c@1.98 / diff / nxr@1.98
src/sys/netinet/tcp_usrreq.c@1.234 / diff / nxr@1.234
src/sys/netinet/tcp_vtw.c@1.23 / diff / nxr@1.23
src/sys/netinet/udp_usrreq.c@1.263 / diff / nxr@1.263
src/sys/netinet6/icmp6.c@1.254 / diff / nxr@1.254
src/sys/netinet6/in6_pcb.c@1.173 / diff / nxr@1.173
src/sys/netinet6/in6_src.c@1.90 / diff / nxr@1.90
src/sys/netinet6/ip6_output.c@1.231 / diff / nxr@1.231
src/sys/netinet6/raw_ip6.c@1.180 / diff / nxr@1.180
src/sys/netinet6/udp6_usrreq.c@1.152 / diff / nxr@1.152
src/sys/netinet/in_pcb.h@1.73 / diff / nxr@1.73
src/sys/netinet/ip_output.c@1.322 / diff / nxr@1.322
src/sys/netinet/portalgo.c@1.13 / diff / nxr@1.13
src/sys/netinet/raw_ip.c@1.183 / diff / nxr@1.183
src/sys/netinet/tcp_input.c@1.436 / diff / nxr@1.436
src/sys/netinet/tcp_output.c@1.216 / diff / nxr@1.216
src/sys/netinet/tcp_subr.c@1.293 / diff / nxr@1.293
src/sys/netinet/tcp_syncache.c@1.4 / diff / nxr@1.4
src/sys/netinet/tcp_timer.c@1.98 / diff / nxr@1.98
src/sys/netinet/tcp_usrreq.c@1.234 / diff / nxr@1.234
src/sys/netinet/tcp_vtw.c@1.23 / diff / nxr@1.23
src/sys/netinet/udp_usrreq.c@1.263 / diff / nxr@1.263
src/sys/netinet6/icmp6.c@1.254 / diff / nxr@1.254
src/sys/netinet6/in6_pcb.c@1.173 / diff / nxr@1.173
src/sys/netinet6/in6_src.c@1.90 / diff / nxr@1.90
src/sys/netinet6/ip6_output.c@1.231 / diff / nxr@1.231
src/sys/netinet6/raw_ip6.c@1.180 / diff / nxr@1.180
src/sys/netinet6/udp6_usrreq.c@1.152 / diff / nxr@1.152
inpcb: separate inpcb again to reduce the size of PCB for IPv4
The data size of PCB for IPv4 increased because of the merge of
struct in6pcb. The change decreases the size to the original size by
separating struct inpcb (again). struct in4pcb and in6pcb that embed
struct inpcb are introduced.
Even after the separation, users don't need to realize the separation
and only have to use some macros to access dedicated data. For example,
inp->inp_laddr is now accessed through in4p_laddr(inp).
The data size of PCB for IPv4 increased because of the merge of
struct in6pcb. The change decreases the size to the original size by
separating struct inpcb (again). struct in4pcb and in6pcb that embed
struct inpcb are introduced.
Even after the separation, users don't need to realize the separation
and only have to use some macros to access dedicated data. For example,
inp->inp_laddr is now accessed through in4p_laddr(inp).
MAIN commitmail json YAML
src/usr.bin/fstat/fstat.c@1.116
/
diff
/
nxr@1.116
src/usr.bin/netstat/inet.c@1.118 / diff / nxr@1.118
src/usr.bin/netstat/inet6.c@1.83 / diff / nxr@1.83
src/usr.bin/sockstat/sockstat.c@1.25 / diff / nxr@1.25
src/usr.bin/systat/extern.h@1.49 / diff / nxr@1.49
src/usr.bin/systat/netcmds.c@1.23 / diff / nxr@1.23
src/usr.bin/systat/netstat.c@1.31 / diff / nxr@1.31
src/usr.bin/netstat/inet.c@1.118 / diff / nxr@1.118
src/usr.bin/netstat/inet6.c@1.83 / diff / nxr@1.83
src/usr.bin/sockstat/sockstat.c@1.25 / diff / nxr@1.25
src/usr.bin/systat/extern.h@1.49 / diff / nxr@1.49
src/usr.bin/systat/netcmds.c@1.23 / diff / nxr@1.23
src/usr.bin/systat/netstat.c@1.31 / diff / nxr@1.31
Adjust userland commands for struct inpcb integration
Only kvm users are affected.
Only kvm users are affected.
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2425
/
diff
/
nxr@1.2425
src/sys/netinet/Makefile@1.32 / diff / nxr@1.32
src/sys/netinet/in_pcb.h@1.72 / diff / nxr@1.72
src/sys/netinet/in_pcb_hdr.h deleted
src/sys/netipsec/ipsec.h@1.93 / diff / nxr@1.93
src/sys/netinet/Makefile@1.32 / diff / nxr@1.32
src/sys/netinet/in_pcb.h@1.72 / diff / nxr@1.72
src/sys/netinet/in_pcb_hdr.h deleted
src/sys/netipsec/ipsec.h@1.93 / diff / nxr@1.93
Remove in_pcb_hdr.h
MAIN commitmail json YAML
src/sys/dist/pf/net/pf.c@1.85
/
diff
/
nxr@1.85
src/sys/net/if_wg.c@1.70 / diff / nxr@1.70
src/sys/netinet/dccp_usrreq.c@1.23 / diff / nxr@1.23
src/sys/netinet/dccp_var.h@1.7 / diff / nxr@1.7
src/sys/netinet/sctp_pcb.h@1.6 / diff / nxr@1.6
src/sys/netinet6/dccp6_usrreq.c@1.13 / diff / nxr@1.13
src/sys/net/if_wg.c@1.70 / diff / nxr@1.70
src/sys/netinet/dccp_usrreq.c@1.23 / diff / nxr@1.23
src/sys/netinet/dccp_var.h@1.7 / diff / nxr@1.7
src/sys/netinet/sctp_pcb.h@1.6 / diff / nxr@1.6
src/sys/netinet6/dccp6_usrreq.c@1.13 / diff / nxr@1.13
Adjust pf, wg, dccp and sctp for struct inpcb integration
MAIN commitmail json YAML
src/sys/netinet/in_pcb.c@1.192
/
diff
/
nxr@1.192
src/sys/netinet/in_pcb.h@1.71 / diff / nxr@1.71
src/sys/netinet/ip_output.c@1.321 / diff / nxr@1.321
src/sys/netinet/portalgo.c@1.12 / diff / nxr@1.12
src/sys/netinet/portalgo.h@1.3 / diff / nxr@1.3
src/sys/netinet/raw_ip.c@1.182 / diff / nxr@1.182
src/sys/netinet/tcp_input.c@1.435 / diff / nxr@1.435
src/sys/netinet/tcp_output.c@1.215 / diff / nxr@1.215
src/sys/netinet/tcp_subr.c@1.292 / diff / nxr@1.292
src/sys/netinet/tcp_syncache.c@1.3 / diff / nxr@1.3
src/sys/netinet/tcp_timer.c@1.97 / diff / nxr@1.97
src/sys/netinet/tcp_usrreq.c@1.233 / diff / nxr@1.233
src/sys/netinet/tcp_var.h@1.198 / diff / nxr@1.198
src/sys/netinet/tcp_vtw.c@1.22 / diff / nxr@1.22
src/sys/netinet/udp_usrreq.c@1.262 / diff / nxr@1.262
src/sys/netinet6/icmp6.c@1.253 / diff / nxr@1.253
src/sys/netinet6/in6_pcb.c@1.172 / diff / nxr@1.172
src/sys/netinet6/in6_pcb.h@1.54 / diff / nxr@1.54
src/sys/netinet6/in6_src.c@1.89 / diff / nxr@1.89
src/sys/netinet6/ip6_input.c@1.227 / diff / nxr@1.227
:
(more 8 files)
src/sys/netinet/in_pcb.h@1.71 / diff / nxr@1.71
src/sys/netinet/ip_output.c@1.321 / diff / nxr@1.321
src/sys/netinet/portalgo.c@1.12 / diff / nxr@1.12
src/sys/netinet/portalgo.h@1.3 / diff / nxr@1.3
src/sys/netinet/raw_ip.c@1.182 / diff / nxr@1.182
src/sys/netinet/tcp_input.c@1.435 / diff / nxr@1.435
src/sys/netinet/tcp_output.c@1.215 / diff / nxr@1.215
src/sys/netinet/tcp_subr.c@1.292 / diff / nxr@1.292
src/sys/netinet/tcp_syncache.c@1.3 / diff / nxr@1.3
src/sys/netinet/tcp_timer.c@1.97 / diff / nxr@1.97
src/sys/netinet/tcp_usrreq.c@1.233 / diff / nxr@1.233
src/sys/netinet/tcp_var.h@1.198 / diff / nxr@1.198
src/sys/netinet/tcp_vtw.c@1.22 / diff / nxr@1.22
src/sys/netinet/udp_usrreq.c@1.262 / diff / nxr@1.262
src/sys/netinet6/icmp6.c@1.253 / diff / nxr@1.253
src/sys/netinet6/in6_pcb.c@1.172 / diff / nxr@1.172
src/sys/netinet6/in6_pcb.h@1.54 / diff / nxr@1.54
src/sys/netinet6/in6_src.c@1.89 / diff / nxr@1.89
src/sys/netinet6/ip6_input.c@1.227 / diff / nxr@1.227
:
(more 8 files)
inpcb: integrate data structures of PCB into one
Data structures of network protocol control blocks (PCBs), i.e.,
struct inpcb, in6pcb and inpcb_hdr, are not organized well. Users of
the data structures have to handle them separately and thus the code
is cluttered and duplicated.
The commit integrates the data structures into one, struct inpcb. As a
result, users of PCBs only have to handle just one data structure, so
the code becomes simple.
One drawback is that the data size of PCB for IPv4 increases by 40 bytes
(from 248 bytes to 288 bytes).
Data structures of network protocol control blocks (PCBs), i.e.,
struct inpcb, in6pcb and inpcb_hdr, are not organized well. Users of
the data structures have to handle them separately and thus the code
is cluttered and duplicated.
The commit integrates the data structures into one, struct inpcb. As a
result, users of PCBs only have to handle just one data structure, so
the code becomes simple.
One drawback is that the data size of PCB for IPv4 increases by 40 bytes
(from 248 bytes to 288 bytes).
MAIN commitmail json YAML
frag6: don't use spin mutex for frag6_lock
frag6_lock is held during sending a packet (icmp6_error), so we must
not use a spin mutex because we can acquire sleep locks on sending
a packet.
Also we don't need to use spin mutex for frag6_lock anymore because
frag6_lock is now not used from hardware interrupt context.
frag6_lock is held during sending a packet (icmp6_error), so we must
not use a spin mutex because we can acquire sleep locks on sending
a packet.
Also we don't need to use spin mutex for frag6_lock anymore because
frag6_lock is now not used from hardware interrupt context.
MAIN commitmail json YAML
src/sys/netinet/tcp_syncache.c@1.2
/
diff
/
nxr@1.2
src/sys/netinet/tcp_syncache.h@1.2 / diff / nxr@1.2
src/sys/netinet/tcp_syncache.h@1.2 / diff / nxr@1.2
syncache: make some functions static
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2424
/
diff
/
nxr@1.2424
src/sys/netinet/Makefile@1.31 / diff / nxr@1.31
src/sys/netinet/files.netinet@1.30 / diff / nxr@1.30
src/sys/netinet/tcp_input.c@1.434 / diff / nxr@1.434
src/sys/netinet/tcp_subr.c@1.291 / diff / nxr@1.291
src/sys/netinet/tcp_syncache.c@1.1 / diff / nxr@1.1
src/sys/netinet/tcp_syncache.h@1.1 / diff / nxr@1.1
src/sys/netinet/tcp_usrreq.c@1.232 / diff / nxr@1.232
src/sys/netinet/tcp_var.h@1.197 / diff / nxr@1.197
src/sys/rump/net/lib/libnetinet/Makefile.inc@1.16 / diff / nxr@1.16
src/sys/netinet/Makefile@1.31 / diff / nxr@1.31
src/sys/netinet/files.netinet@1.30 / diff / nxr@1.30
src/sys/netinet/tcp_input.c@1.434 / diff / nxr@1.434
src/sys/netinet/tcp_subr.c@1.291 / diff / nxr@1.291
src/sys/netinet/tcp_syncache.c@1.1 / diff / nxr@1.1
src/sys/netinet/tcp_syncache.h@1.1 / diff / nxr@1.1
src/sys/netinet/tcp_usrreq.c@1.232 / diff / nxr@1.232
src/sys/netinet/tcp_var.h@1.197 / diff / nxr@1.197
src/sys/rump/net/lib/libnetinet/Makefile.inc@1.16 / diff / nxr@1.16
tcp: separate syn cache stuffs into tcp_syncache.[ch] files
No functional change.
No functional change.
MAIN commitmail json YAML
ipsec: don't assert for the format of incoming packets
MAIN commitmail json YAML
mount_9p: check returned type for Tread
MAIN commitmail json YAML
mount_9p: fix writing to a file opened with write-only mode
With the page cache, writing data to a file may demand to read contents
from a storage to fill a page in the page cache first.
Opening a file with write-only mode by a user lets a mount_9p process
open a file with write-only mode too at a 9p server. Thus, a read
request to the file from the page cache fails.
So we need to open a file always with read mode (internally) even if it
is opened with write-only mode by a user.
Note that the change doesn't mean that mount_9p allows users to read
contents from a file that is opened with write-only mode.
With the page cache, writing data to a file may demand to read contents
from a storage to fill a page in the page cache first.
Opening a file with write-only mode by a user lets a mount_9p process
open a file with write-only mode too at a 9p server. Thus, a read
request to the file from the page cache fails.
So we need to open a file always with read mode (internally) even if it
is opened with write-only mode by a user.
Note that the change doesn't mean that mount_9p allows users to read
contents from a file that is opened with write-only mode.
MAIN commitmail json YAML
mount_9p: don't cache path names by default
Caching path names doesn't handle file changes by host, which is
not expected for normal usages. So turn it off by default.
Instead, -C option is added to turn it on.
Patch from k-goda@IIJ with my tweaks
Caching path names doesn't handle file changes by host, which is
not expected for normal usages. So turn it off by default.
Instead, -C option is added to turn it on.
Patch from k-goda@IIJ with my tweaks
MAIN commitmail json YAML
tests: skip ndp_cache_state on qemu
MAIN commitmail json YAML
nd6: prevent ln from being freed while releasing held packets
MAIN commitmail json YAML
Bump the version for ALTQ/CBQ changes
Welcome to 9.99.87
Welcome to 9.99.87
MAIN commitmail json YAML
altq: fix CBQ with RED and/or pf
MAIN commitmail json YAML
altq, cbq: apply tweaks for PPP to only PPP interfaces
MAIN commitmail json YAML
MAIN commitmail json YAML
altqstat: show raw values of avgidle, maxidle and minidle
The values are sometimes small and cooked values of them can be less
informative such as 0 or -1.
The values are sometimes small and cooked values of them can be less
informative such as 0 or -1.
MAIN commitmail json YAML
src/sys/altq/altq_cbq.h@1.10
/
diff
/
nxr@1.10
src/sys/altq/altq_rmclass.c@1.26 / diff / nxr@1.26
src/sys/altq/altq_rmclass.h@1.11 / diff / nxr@1.11
src/sys/altq/altq_rmclass.c@1.26 / diff / nxr@1.26
src/sys/altq/altq_rmclass.h@1.11 / diff / nxr@1.11
altq, cbq: treat time in nanoseconds
Time granularity in microseconds is sometimes not enough to provide
accurate bandwidth control; actual bandwidth on a capped class
can exceed its limit considerably in some cases.
Treating time in nanoseconds requires the following changes:
- Use timespec instead of timeval
- Use nanotime(9) instead of microtime(9)
- Change the type of some variables, especially *idle, to long
Time granularity in microseconds is sometimes not enough to provide
accurate bandwidth control; actual bandwidth on a capped class
can exceed its limit considerably in some cases.
Treating time in nanoseconds requires the following changes:
- Use timespec instead of timeval
- Use nanotime(9) instead of microtime(9)
- Change the type of some variables, especially *idle, to long
MAIN commitmail json YAML
MAIN commitmail json YAML
src/sys/altq/altq_cbq.c@1.35
/
diff
/
nxr@1.35
src/sys/altq/altq_cbq.h@1.9 / diff / nxr@1.9
src/sys/altq/altq_rmclass.c@1.25 / diff / nxr@1.25
src/sys/altq/altq_rmclass.h@1.10 / diff / nxr@1.10
src/sys/altq/altq_cbq.h@1.9 / diff / nxr@1.9
src/sys/altq/altq_rmclass.c@1.25 / diff / nxr@1.25
src/sys/altq/altq_rmclass.h@1.10 / diff / nxr@1.10
altq, cbq: convert ns_per_byte to ps_per_byte
Also the type of variables of it is changed to u_long from int.
This change provides fine-grain resolution of bandwidth. For example
750 Mbps was treated as 800 Mbps internally because bandwidth was
represented as nanoseconds per byte. Converting the representation
to picoseconds per byte enables to treat 750 Mbps as-is.
PR kern/56319
Also the type of variables of it is changed to u_long from int.
This change provides fine-grain resolution of bandwidth. For example
750 Mbps was treated as 800 Mbps internally because bandwidth was
represented as nanoseconds per byte. Converting the representation
to picoseconds per byte enables to treat 750 Mbps as-is.
PR kern/56319
MAIN commitmail json YAML
tests, altq: fix checks of altqd startup
Hopefully the fix stabilizes test results on qemu/anita.
Hopefully the fix stabilizes test results on qemu/anita.
MAIN commitmail json YAML
tests, altq: test new options
MAIN commitmail json YAML
libaltq: allow longer config lines
MAIN commitmail json YAML
src/usr.sbin/altq/altqd/altq.conf.5@1.19
/
diff
/
nxr@1.19
src/usr.sbin/altq/libaltq/qop_cbq.c@1.11 / diff / nxr@1.11
src/usr.sbin/altq/libaltq/qop_cbq.h@1.3 / diff / nxr@1.3
src/usr.sbin/altq/libaltq/qop_cbq.c@1.11 / diff / nxr@1.11
src/usr.sbin/altq/libaltq/qop_cbq.h@1.3 / diff / nxr@1.3
libaltq, cbq: add two options to interface
- no-control: don't create a control class automatically
- no-tbr: don't install TBR
- no-control: don't create a control class automatically
- no-tbr: don't install TBR
MAIN commitmail json YAML
altq, cbq: allow the root class to be default
MAIN commitmail json YAML
altq, cbq: allow no control class
MAIN commitmail json YAML
src/distrib/sets/lists/tests/mi@1.1087
/
diff
/
nxr@1.1087
src/etc/mtree/NetBSD.dist.tests@1.185 / diff / nxr@1.185
src/tests/net/Makefile@1.39 / diff / nxr@1.39
src/tests/net/altq/Makefile@1.1 / diff / nxr@1.1
src/tests/net/altq/t_cbq.sh@1.1 / diff / nxr@1.1
src/etc/mtree/NetBSD.dist.tests@1.185 / diff / nxr@1.185
src/tests/net/Makefile@1.39 / diff / nxr@1.39
src/tests/net/altq/Makefile@1.1 / diff / nxr@1.1
src/tests/net/altq/t_cbq.sh@1.1 / diff / nxr@1.1
tests: add tests for ALTQ CBQ
MAIN commitmail json YAML
src/distrib/sets/lists/base/shl.mi@1.922
/
diff
/
nxr@1.922
src/distrib/sets/lists/comp/mi@1.2390 / diff / nxr@1.2390
src/distrib/sets/lists/comp/shl.mi@1.347 / diff / nxr@1.347
src/distrib/sets/lists/debug/mi@1.356 / diff / nxr@1.356
src/distrib/sets/lists/debug/shl.mi@1.279 / diff / nxr@1.279
src/sys/rump/include/opt/opt_rumpkernel.h@1.7 / diff / nxr@1.7
src/sys/rump/librump/rumpnet/net_stub.c@1.43 / diff / nxr@1.43
src/sys/rump/net/Makefile.rumpnetcomp@1.25 / diff / nxr@1.25
src/sys/rump/net/lib/libaltq/Makefile@1.1 / diff / nxr@1.1
src/sys/rump/net/lib/libaltq/altq_component.c@1.1 / diff / nxr@1.1
src/distrib/sets/lists/comp/mi@1.2390 / diff / nxr@1.2390
src/distrib/sets/lists/comp/shl.mi@1.347 / diff / nxr@1.347
src/distrib/sets/lists/debug/mi@1.356 / diff / nxr@1.356
src/distrib/sets/lists/debug/shl.mi@1.279 / diff / nxr@1.279
src/sys/rump/include/opt/opt_rumpkernel.h@1.7 / diff / nxr@1.7
src/sys/rump/librump/rumpnet/net_stub.c@1.43 / diff / nxr@1.43
src/sys/rump/net/Makefile.rumpnetcomp@1.25 / diff / nxr@1.25
src/sys/rump/net/lib/libaltq/Makefile@1.1 / diff / nxr@1.1
src/sys/rump/net/lib/libaltq/altq_component.c@1.1 / diff / nxr@1.1
Rump-ify ALTQ (librumpnet_altq.so)
MAIN commitmail json YAML
shmif: support ALTQ
MAIN commitmail json YAML
lagg: fix typo for ALTQ
MAIN commitmail json YAML
altq, cbq: calculate a delay period based on a borrowed class
A delay period was calculated based on a suspended class even if the
class can borrow bandwidth from another class. In that case a delay
period should be calculated based on a borrowed class. Otherwise
a borrowing class can't borrow bandwidth correctly.
A delay period was calculated based on a suspended class even if the
class can borrow bandwidth from another class. In that case a delay
period should be calculated based on a borrowed class. Otherwise
a borrowing class can't borrow bandwidth correctly.
MAIN commitmail json YAML
altq, cbq: apply the do-while idiom to TV_* macros
MAIN commitmail json YAML
altq, cbq: don't increment the xmit counter of the root class twice wrongly
MAIN commitmail json YAML
Bump the version for entry additions to IP_STAT and IP6_STAT
Welcome to 9.99.72
Welcome to 9.99.72
MAIN commitmail json YAML
src/usr.bin/netstat/atalk.c@1.19
/
diff
/
nxr@1.19
src/usr.bin/netstat/bpf.c@1.15 / diff / nxr@1.15
src/usr.bin/netstat/inet.c@1.113 / diff / nxr@1.113
src/usr.bin/netstat/inet6.c@1.77 / diff / nxr@1.77
src/usr.bin/netstat/pfkey.c@1.3 / diff / nxr@1.3
src/usr.bin/netstat/pfsync.c@1.3 / diff / nxr@1.3
src/usr.bin/netstat/bpf.c@1.15 / diff / nxr@1.15
src/usr.bin/netstat/inet.c@1.113 / diff / nxr@1.113
src/usr.bin/netstat/inet6.c@1.77 / diff / nxr@1.77
src/usr.bin/netstat/pfkey.c@1.3 / diff / nxr@1.3
src/usr.bin/netstat/pfsync.c@1.3 / diff / nxr@1.3
netstat: strengthen against kernel changes
netstat uses sysctlbyname to get counter data from the kernel.
sysctlbyname fails with ENOMEM if actual counter data in the kernel is
larger than a passed buffer. netstat just skips showing counters of a
category if sysctlbyname fails, so if we added new counters of the
category to the kernel, nestat shows nothing for the category.
Fortunately sysctlbyname fills data as much as possible even if a passed
buffer is short. So we can allow netstat to show the filled data anyway
if sysctlbyname fails with ENOMEM.
Note that this backcompat mechanism works only if new counters are
appended, and doesn't work if new counters are inserted into the middle
or counters are moved.
netstat uses sysctlbyname to get counter data from the kernel.
sysctlbyname fails with ENOMEM if actual counter data in the kernel is
larger than a passed buffer. netstat just skips showing counters of a
category if sysctlbyname fails, so if we added new counters of the
category to the kernel, nestat shows nothing for the category.
Fortunately sysctlbyname fills data as much as possible even if a passed
buffer is short. So we can allow netstat to show the filled data anyway
if sysctlbyname fails with ENOMEM.
Note that this backcompat mechanism works only if new counters are
appended, and doesn't work if new counters are inserted into the middle
or counters are moved.
MAIN commitmail json YAML
src/usr.bin/netstat/inet.c@1.112
/
diff
/
nxr@1.112
src/usr.bin/netstat/inet6.c@1.76 / diff / nxr@1.76
src/usr.bin/netstat/inet6.c@1.76 / diff / nxr@1.76
netstat: support new packet counters
MAIN commitmail json YAML
src/sys/netinet6/in6_src.c@1.87
/
diff
/
nxr@1.87
src/sys/netinet6/ip6_forward.c@1.102 / diff / nxr@1.102
src/sys/netinet6/ip6_input.c@1.222 / diff / nxr@1.222
src/sys/netinet6/ip6_output.c@1.225 / diff / nxr@1.225
src/sys/netinet6/ip6_var.h@1.87 / diff / nxr@1.87
src/sys/netinet6/ip6_forward.c@1.102 / diff / nxr@1.102
src/sys/netinet6/ip6_input.c@1.222 / diff / nxr@1.222
src/sys/netinet6/ip6_output.c@1.225 / diff / nxr@1.225
src/sys/netinet6/ip6_var.h@1.87 / diff / nxr@1.87
inet6: reduce silent packet discards
MAIN commitmail json YAML
src/sys/netinet/ip_input.c@1.397
/
diff
/
nxr@1.397
src/sys/netinet/ip_output.c@1.318 / diff / nxr@1.318
src/sys/netinet/ip_var.h@1.130 / diff / nxr@1.130
src/sys/netinet/ip_output.c@1.318 / diff / nxr@1.318
src/sys/netinet/ip_var.h@1.130 / diff / nxr@1.130
inet: reduce silent packet discards
MAIN commitmail json YAML
inet: pull m_get_rcvif_psref out of ip_input for simplicity
Same as ip6_input.
Same as ip6_input.
MAIN commitmail json YAML
src/sys/netinet6/ip6_forward.c@1.101
/
diff
/
nxr@1.101
src/sys/netinet6/ip6_input.c@1.221 / diff / nxr@1.221
src/sys/netinet6/ip6_var.h@1.86 / diff / nxr@1.86
src/sys/netinet6/ip6_input.c@1.221 / diff / nxr@1.221
src/sys/netinet6/ip6_var.h@1.86 / diff / nxr@1.86
inet6: pass rcvif to ip6_forward to avoid extra psref_acquire
MAIN commitmail json YAML
ether: count dropped packets on output
MAIN commitmail json YAML
ether: count dropped packets on input
MAIN commitmail json YAML
ether: separate handling of LLC frames as ether_input_llc (NFCI)
MAIN commitmail json YAML
src/sys/net/if.h@1.284
/
diff
/
nxr@1.284
src/sys/net/if_arcsubr.c@1.82 / diff / nxr@1.82
src/sys/net/if_ethersubr.c@1.285 / diff / nxr@1.285
src/sys/net/if_ieee1394subr.c@1.66 / diff / nxr@1.66
src/sys/net/if_arcsubr.c@1.82 / diff / nxr@1.82
src/sys/net/if_ethersubr.c@1.285 / diff / nxr@1.285
src/sys/net/if_ieee1394subr.c@1.66 / diff / nxr@1.66
net: introduce IFQ_ENQUEUE_ISR to assemble packet queuing routines (NFCI)
MAIN commitmail json YAML
inet: reduce indents of a normal path to improve readability (NFCI)
MAIN commitmail json YAML
src/sys/netinet/ip_input.c@1.395
/
diff
/
nxr@1.395
src/sys/netinet6/ip6_input.c@1.220 / diff / nxr@1.220
src/sys/netipsec/ipsec.c@1.172 / diff / nxr@1.172
src/sys/netipsec/ipsec.h@1.91 / diff / nxr@1.91
src/sys/rump/librump/rumpnet/net_stub.c@1.38 / diff / nxr@1.38
src/sys/netinet6/ip6_input.c@1.220 / diff / nxr@1.220
src/sys/netipsec/ipsec.c@1.172 / diff / nxr@1.172
src/sys/netipsec/ipsec.h@1.91 / diff / nxr@1.91
src/sys/rump/librump/rumpnet/net_stub.c@1.38 / diff / nxr@1.38
ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy
Because it just checks if a packet passes security policies.
Because it just checks if a packet passes security policies.
MAIN commitmail json YAML
src/sys/netinet/ip_input.c@1.394
/
diff
/
nxr@1.394
src/sys/netinet/ip_output.c@1.316 / diff / nxr@1.316
src/sys/netinet/ip_var.h@1.129 / diff / nxr@1.129
src/sys/netinet6/ip6_forward.c@1.100 / diff / nxr@1.100
src/sys/netinet6/ip6_input.c@1.219 / diff / nxr@1.219
src/sys/netinet6/ip6_output.c@1.224 / diff / nxr@1.224
src/sys/netinet6/ip6_var.h@1.85 / diff / nxr@1.85
src/sys/netipsec/ipsec.c@1.171 / diff / nxr@1.171
src/sys/netipsec/ipsec.h@1.90 / diff / nxr@1.90
src/sys/netinet/ip_output.c@1.316 / diff / nxr@1.316
src/sys/netinet/ip_var.h@1.129 / diff / nxr@1.129
src/sys/netinet6/ip6_forward.c@1.100 / diff / nxr@1.100
src/sys/netinet6/ip6_input.c@1.219 / diff / nxr@1.219
src/sys/netinet6/ip6_output.c@1.224 / diff / nxr@1.224
src/sys/netinet6/ip6_var.h@1.85 / diff / nxr@1.85
src/sys/netipsec/ipsec.c@1.171 / diff / nxr@1.171
src/sys/netipsec/ipsec.h@1.90 / diff / nxr@1.90
inet, inet6: count packets dropped by IPsec
The counters count packets dropped due to security policy checks.
The counters count packets dropped due to security policy checks.
MAIN commitmail json YAML
shmif: reduce the number of calls of cprng(9)
MAIN commitmail json YAML
shmif: s/sc_uuid/sc_uid/
It's not UUID :-/
It's not UUID :-/
MAIN commitmail json YAML
shmif: use cprng_strong64 instead of cprng_fast64 to generate a unique ID
shmif uses random bytes generated by cprng(9) as a unique device ID
between rump kernels to identify packets fed by itself and not receive
them. So if generated bytes are identical between shmif interfaces on
different rump kernels, shmif may drop incoming packets unintentionally.
This is one cause of recent ATF test failures of IPsec.
Fix it by using cprng_strong64 instead of cprng_fast64. This is a
workaround and we should also investigate why cprng_fast64 starts
failing on rump kernels, although using cprng_strong64 in initialization
itself is feasible.
Fix PR kern/54897
shmif uses random bytes generated by cprng(9) as a unique device ID
between rump kernels to identify packets fed by itself and not receive
them. So if generated bytes are identical between shmif interfaces on
different rump kernels, shmif may drop incoming packets unintentionally.
This is one cause of recent ATF test failures of IPsec.
Fix it by using cprng_strong64 instead of cprng_fast64. This is a
workaround and we should also investigate why cprng_fast64 starts
failing on rump kernels, although using cprng_strong64 in initialization
itself is feasible.
Fix PR kern/54897
MAIN commitmail json YAML
shmif: use cprng_strong32 to generate random bytes for a MAC address
cprng_fast32 sometimes returns indentical bytes, which look
"20:0e:11:33" in a MAC address, on different rump_server instances.
That leads MAC address duplications resulting in a test failure.
Fix it by using cprng_strong32 instead of cprng_fast32. However
we should rather fix cprng_fast32 (or rump itself) somehow.
The fix mitigates PR kern/54897 but test failures due to other
causes still remain.
cprng_fast32 sometimes returns indentical bytes, which look
"20:0e:11:33" in a MAC address, on different rump_server instances.
That leads MAC address duplications resulting in a test failure.
Fix it by using cprng_strong32 instead of cprng_fast32. However
we should rather fix cprng_fast32 (or rump itself) somehow.
The fix mitigates PR kern/54897 but test failures due to other
causes still remain.
MAIN commitmail json YAML
tests: abort if MAC address duplication found
MAIN commitmail json YAML
tests: dump stats of an interface before destroying it
MAIN commitmail json YAML
MAIN commitmail json YAML
src/sys/net/if.c@1.464
/
diff
/
nxr@1.464
src/sys/net/route.c@1.226 / diff / nxr@1.226
src/sys/netinet/ip_input.c@1.393 / diff / nxr@1.393
src/sys/netinet/sctp_output.c@1.19 / diff / nxr@1.19
src/sys/netinet6/frag6.c@1.75 / diff / nxr@1.75
src/sys/netinet6/in6_src.c@1.86 / diff / nxr@1.86
src/sys/netinet6/ip6_output.c@1.222 / diff / nxr@1.222
src/sys/netinet6/nd6_nbr.c@1.175 / diff / nxr@1.175
src/sys/net/route.c@1.226 / diff / nxr@1.226
src/sys/netinet/ip_input.c@1.393 / diff / nxr@1.393
src/sys/netinet/sctp_output.c@1.19 / diff / nxr@1.19
src/sys/netinet6/frag6.c@1.75 / diff / nxr@1.75
src/sys/netinet6/in6_src.c@1.86 / diff / nxr@1.86
src/sys/netinet6/ip6_output.c@1.222 / diff / nxr@1.222
src/sys/netinet6/nd6_nbr.c@1.175 / diff / nxr@1.175
Get rid of unnecessary NULL checks for rt_ifa and ifa_ifp
They are always non-NULL nowadays.
They are always non-NULL nowadays.
MAIN commitmail json YAML
MAKEDEV: add entry for vio9p(4)
MAIN commitmail json YAML
Note vio9p(4) addition and mount_9p(8) update
MAIN commitmail json YAML
src/sys/arch/amd64/conf/ALL@1.126
/
diff
/
nxr@1.126
src/sys/arch/amd64/conf/GENERIC@1.542 / diff / nxr@1.542
src/sys/arch/amd64/conf/GENERIC@1.542 / diff / nxr@1.542
Add vio9p to some kernel configs
MAIN commitmail json YAML
src/usr.sbin/puffs/mount_9p/mount_9p.8@1.11
/
diff
/
nxr@1.11
src/usr.sbin/puffs/mount_9p/ninebuf.c@1.9 / diff / nxr@1.9
src/usr.sbin/puffs/mount_9p/ninepuffs.c@1.27 / diff / nxr@1.27
src/usr.sbin/puffs/mount_9p/ninepuffs.h@1.15 / diff / nxr@1.15
src/usr.sbin/puffs/mount_9p/ninebuf.c@1.9 / diff / nxr@1.9
src/usr.sbin/puffs/mount_9p/ninepuffs.c@1.27 / diff / nxr@1.27
src/usr.sbin/puffs/mount_9p/ninepuffs.h@1.15 / diff / nxr@1.15
mount_9p: enable to communicate with vio9p via its character device file
With this feature, we can mount an exported filesystem by a VM host via
virtio-9p.
With this feature, we can mount an exported filesystem by a VM host via
virtio-9p.
MAIN commitmail json YAML
src/distrib/sets/lists/man/mi@1.1659
/
diff
/
nxr@1.1659
src/share/man/man4/Makefile@1.686 / diff / nxr@1.686
src/share/man/man4/vio9p.4@1.1 / diff / nxr@1.1
src/sys/conf/majors@1.90 / diff / nxr@1.90
src/sys/dev/pci/files.virtio@1.2 / diff / nxr@1.2
src/sys/dev/pci/vio9p.c@1.1 / diff / nxr@1.1
src/sys/modules/Makefile@1.228 / diff / nxr@1.228
src/sys/modules/vio9p/Makefile@1.1 / diff / nxr@1.1
src/sys/modules/vio9p/vio9p.ioconf@1.1 / diff / nxr@1.1
src/share/man/man4/Makefile@1.686 / diff / nxr@1.686
src/share/man/man4/vio9p.4@1.1 / diff / nxr@1.1
src/sys/conf/majors@1.90 / diff / nxr@1.90
src/sys/dev/pci/files.virtio@1.2 / diff / nxr@1.2
src/sys/dev/pci/vio9p.c@1.1 / diff / nxr@1.1
src/sys/modules/Makefile@1.228 / diff / nxr@1.228
src/sys/modules/vio9p/Makefile@1.1 / diff / nxr@1.1
src/sys/modules/vio9p/vio9p.ioconf@1.1 / diff / nxr@1.1
Implement a front-end driver of virtio-9p called vio9p
In conjunction with mount_9p, it enables a NetBSD system running as a VM guest
to mount an exported filesystem by the host via virtio-9p. It exports a 9p
end-point of virtio-9p via a character device file for mount_9p.
Reviewed by yamaguchi@
In conjunction with mount_9p, it enables a NetBSD system running as a VM guest
to mount an exported filesystem by the host via virtio-9p. It exports a 9p
end-point of virtio-9p via a character device file for mount_9p.
Reviewed by yamaguchi@
MAIN commitmail json YAML
Allow including numbers in %XXX_chr% parameter (for upcoming vio9p driver)
MAIN commitmail json YAML
vlan: get rid of unnecessary if_ipackets++ in vlan_input
It's done by if_input() below now.
Pointed out by msaitoh@
It's done by if_input() below now.
Pointed out by msaitoh@
MAIN commitmail json YAML
src/sys/netinet6/in6_ifattach.c@1.117
/
diff
/
nxr@1.117
src/sys/netinet6/in6_var.h@1.102 / diff / nxr@1.102
src/sys/netinet6/ip6_input.c@1.214 / diff / nxr@1.214
src/sys/netinet6/in6_var.h@1.102 / diff / nxr@1.102
src/sys/netinet6/ip6_input.c@1.214 / diff / nxr@1.214
in6: reset the temporary address timer on a change of the interval period
MAIN commitmail json YAML
tests: add tests for the validateion of net.inet6.ip6.temppltime
MAIN commitmail json YAML
Validate ip6_temp_preferred_lifetime (net.inet6.ip6.temppltime) on a change
ip6_temp_preferred_lifetime is used to calculate an interval period to
regenerate temporary addresse by
TEMP_PREFERRED_LIFETIME - REGEN_ADVANCE - DESYNC_FACTOR
as per RFC 3041 3.5. So it must be greater than (REGEN_ADVANCE +
DESYNC_FACTOR), otherwise it will be negative and go wrong, for example
KASSERT(to_ticks >= 0) in callout_schedule_locked fails.
ip6_temp_preferred_lifetime is used to calculate an interval period to
regenerate temporary addresse by
TEMP_PREFERRED_LIFETIME - REGEN_ADVANCE - DESYNC_FACTOR
as per RFC 3041 3.5. So it must be greater than (REGEN_ADVANCE +
DESYNC_FACTOR), otherwise it will be negative and go wrong, for example
KASSERT(to_ticks >= 0) in callout_schedule_locked fails.
MAIN commitmail json YAML
src/sys/netinet6/in6_ifattach.c@1.116
/
diff
/
nxr@1.116
src/sys/netinet6/in6_ifattach.h@1.14 / diff / nxr@1.14
src/sys/netinet6/in6_var.h@1.101 / diff / nxr@1.101
src/sys/netinet6/ip6_input.c@1.212 / diff / nxr@1.212
src/sys/netinet6/in6_ifattach.h@1.14 / diff / nxr@1.14
src/sys/netinet6/in6_var.h@1.101 / diff / nxr@1.101
src/sys/netinet6/ip6_input.c@1.212 / diff / nxr@1.212
Reorganize in6_tmpaddrtimer stuffs
- Move the related functions to where in6_tmpaddrtimer_ch exists
- Hide global variable in6_tmpaddrtimer_ch
- Rename ip6_init2 to in6_tmpaddrtimer_init
- Reduce callers of callout_reset
- Use callout_schedule
- Move the related functions to where in6_tmpaddrtimer_ch exists
- Hide global variable in6_tmpaddrtimer_ch
- Rename ip6_init2 to in6_tmpaddrtimer_init
- Reduce callers of callout_reset
- Use callout_schedule
MAIN commitmail json YAML
src/sys/net/if.c@1.462
/
diff
/
nxr@1.462
src/sys/net/if_llatbl.c@1.31 / diff / nxr@1.31
src/sys/net/link_proto.c@1.39 / diff / nxr@1.39
src/sys/net/route.c@1.223 / diff / nxr@1.223
src/sys/netinet/in.c@1.235 / diff / nxr@1.235
src/sys/netinet6/in6.c@1.276 / diff / nxr@1.276
src/sys/netinet6/mld6.c@1.101 / diff / nxr@1.101
src/sys/netinet6/nd6.c@1.265 / diff / nxr@1.265
src/sys/netinet6/nd6_rtr.c@1.146 / diff / nxr@1.146
src/sys/netipsec/key.c@1.267 / diff / nxr@1.267
src/sys/net/if_llatbl.c@1.31 / diff / nxr@1.31
src/sys/net/link_proto.c@1.39 / diff / nxr@1.39
src/sys/net/route.c@1.223 / diff / nxr@1.223
src/sys/netinet/in.c@1.235 / diff / nxr@1.235
src/sys/netinet6/in6.c@1.276 / diff / nxr@1.276
src/sys/netinet6/mld6.c@1.101 / diff / nxr@1.101
src/sys/netinet6/nd6.c@1.265 / diff / nxr@1.265
src/sys/netinet6/nd6_rtr.c@1.146 / diff / nxr@1.146
src/sys/netipsec/key.c@1.267 / diff / nxr@1.267
Make panic messages more informative
MAIN commitmail json YAML
src/sys/netinet/if_arp.c@1.288
/
diff
/
nxr@1.288
src/sys/netinet6/nd6.c@1.264 / diff / nxr@1.264
src/sys/netinet6/nd6.h@1.88 / diff / nxr@1.88
src/sys/netinet6/nd6_nbr.c@1.174 / diff / nxr@1.174
src/sys/netinet6/nd6.c@1.264 / diff / nxr@1.264
src/sys/netinet6/nd6.h@1.88 / diff / nxr@1.88
src/sys/netinet6/nd6_nbr.c@1.174 / diff / nxr@1.174
Initialize DAD components properly
The original code initialized each component in non-init functions such as
arp_dad_start and nd6_dad_find, conditionally based on a global flag for each.
However, it was racy because the flag and the code around it were not
protected by a lock and could cause a kernel panic at worst.
Fix the issue by initializing the components in bootup as usual.
The original code initialized each component in non-init functions such as
arp_dad_start and nd6_dad_find, conditionally based on a global flag for each.
However, it was racy because the flag and the code around it were not
protected by a lock and could cause a kernel panic at worst.
Fix the issue by initializing the components in bootup as usual.
MAIN commitmail json YAML
src/sys/netinet/ip_input.c@1.392
/
diff
/
nxr@1.392
src/sys/netinet6/ip6_input.c@1.211 / diff / nxr@1.211
src/sys/netinet6/ip6_input.c@1.211 / diff / nxr@1.211
Apply some missing changes lost on the previous commit
MAIN commitmail json YAML
Add missing #include <sys/kmem.h>
MAIN commitmail json YAML
wqinput: avoid having struct wqinput_worklist directly in a percpu storage
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users. If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.
Input handlers of wqinput normally involves sleepable operations so we must
avoid dereferencing a percpu data (struct wqinput_worklist) after executing
an input handler. Address this situation by having just a pointer to the data
in a percpu storage instead.
Reviewed by knakahara@ and yamaguchi@
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users. If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.
Input handlers of wqinput normally involves sleepable operations so we must
avoid dereferencing a percpu data (struct wqinput_worklist) after executing
an input handler. Address this situation by having just a pointer to the data
in a percpu storage instead.
Reviewed by knakahara@ and yamaguchi@
MAIN commitmail json YAML
src/sys/net/route.c@1.220
/
diff
/
nxr@1.220
src/sys/net/route.h@1.125 / diff / nxr@1.125
src/sys/netinet/ip_input.c@1.391 / diff / nxr@1.391
src/sys/netinet6/ip6_forward.c@1.97 / diff / nxr@1.97
src/sys/netinet6/ip6_input.c@1.210 / diff / nxr@1.210
src/sys/netipsec/ipsec_output.c@1.83 / diff / nxr@1.83
src/sys/net/route.h@1.125 / diff / nxr@1.125
src/sys/netinet/ip_input.c@1.391 / diff / nxr@1.391
src/sys/netinet6/ip6_forward.c@1.97 / diff / nxr@1.97
src/sys/netinet6/ip6_input.c@1.210 / diff / nxr@1.210
src/sys/netipsec/ipsec_output.c@1.83 / diff / nxr@1.83
Avoid having a rtcache directly in a percpu storage
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users. If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.
Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing. Address this situation by having
just a pointer to a rtcache in a percpu storage instead.
Reviewed by knakahara@ and yamaguchi@
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users. If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.
Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing. Address this situation by having
just a pointer to a rtcache in a percpu storage instead.
Reviewed by knakahara@ and yamaguchi@
MAIN commitmail json YAML
nd6: remove extra pserialize_read_exit
MAIN commitmail json YAML
tests: add tests for IPv6 link-local addresses with a scope ID
Setting an address with a scope ID doesn't work for rump.ifconfig for some
reasons and needs $HIJACKING for now. The bug should be fixed someday.
Setting an address with a scope ID doesn't work for rump.ifconfig for some
reasons and needs $HIJACKING for now. The bug should be fixed someday.
MAIN commitmail json YAML
tests: explain how rump_server_check_memleaks works
MAIN commitmail json YAML
tests: restore rump_server_check_poolleaks for llentpl
It didn't work correctly because rumphijack for vmstat didn't work expectedly;
vmstat has the sgid bit for kvm(3) and that prevents rumphijack from working.
Address the issue by cloning a vmstat binary without the sgid bit temporarily
and using it for rumphijack. Note that it's a workaround. vmstat should stop
using kvm(3) for /dev/kmem and drop the sgid bit eventually.
It didn't work correctly because rumphijack for vmstat didn't work expectedly;
vmstat has the sgid bit for kvm(3) and that prevents rumphijack from working.
Address the issue by cloning a vmstat binary without the sgid bit temporarily
and using it for rumphijack. Note that it's a workaround. vmstat should stop
using kvm(3) for /dev/kmem and drop the sgid bit eventually.
MAIN commitmail json YAML
Disable rump_server_check_memleaks for now
It doesn't work in some cases.
It doesn't work in some cases.
MAIN commitmail json YAML
src/sys/arch/amd64/conf/ALL@1.122
/
diff
/
nxr@1.122
src/sys/arch/i386/conf/ALL@1.470 / diff / nxr@1.470
src/sys/arch/i386/conf/ALL@1.470 / diff / nxr@1.470
Add MBUFTRACE to ALL configs
MAIN commitmail json YAML
can: add missing mowner variables for MBUFTRACE
MAIN commitmail json YAML
l2tp: initialize mowner variables for MBUFTRACE
MAIN commitmail json YAML
src/sys/net/rtsock_shared.c@1.10
/
diff
/
nxr@1.10
src/sys/netinet/if_arp.c@1.283 / diff / nxr@1.283
src/sys/netinet/if_arp.c@1.283 / diff / nxr@1.283
Initialize dom_mowner for MBUFTRACE
MAIN commitmail json YAML
tests: check pool object leaks
Currently only llentpl leaks can be detected.
Currently only llentpl leaks can be detected.
MAIN commitmail json YAML
src/tests/net/arp/t_arp.sh@1.38
/
diff
/
nxr@1.38
src/tests/net/carp/t_basic.sh@1.8 / diff / nxr@1.8
src/tests/net/if_bridge/t_bridge.sh@1.19 / diff / nxr@1.19
src/tests/net/if_bridge/t_rtable.sh@1.7 / diff / nxr@1.7
src/tests/net/if_gif/t_gif.sh@1.13 / diff / nxr@1.13
src/tests/net/if_ipsec/t_ipsec.sh@1.10 / diff / nxr@1.10
src/tests/net/if_ipsec/t_ipsec_natt.sh@1.3 / diff / nxr@1.3
src/tests/net/if_ipsec/t_ipsec_pfil.sh@1.2 / diff / nxr@1.2
src/tests/net/if_l2tp/t_l2tp.sh@1.5 / diff / nxr@1.5
src/tests/net/if_pppoe/t_pppoe.sh@1.19 / diff / nxr@1.19
src/tests/net/if_tap/t_tap.sh@1.10 / diff / nxr@1.10
src/tests/net/ipsec/t_ipsec_gif.sh@1.8 / diff / nxr@1.8
src/tests/net/ipsec/t_ipsec_l2tp.sh@1.8 / diff / nxr@1.8
src/tests/net/ipsec/t_ipsec_natt.sh@1.3 / diff / nxr@1.3
src/tests/net/carp/t_basic.sh@1.8 / diff / nxr@1.8
src/tests/net/if_bridge/t_bridge.sh@1.19 / diff / nxr@1.19
src/tests/net/if_bridge/t_rtable.sh@1.7 / diff / nxr@1.7
src/tests/net/if_gif/t_gif.sh@1.13 / diff / nxr@1.13
src/tests/net/if_ipsec/t_ipsec.sh@1.10 / diff / nxr@1.10
src/tests/net/if_ipsec/t_ipsec_natt.sh@1.3 / diff / nxr@1.3
src/tests/net/if_ipsec/t_ipsec_pfil.sh@1.2 / diff / nxr@1.2
src/tests/net/if_l2tp/t_l2tp.sh@1.5 / diff / nxr@1.5
src/tests/net/if_pppoe/t_pppoe.sh@1.19 / diff / nxr@1.19
src/tests/net/if_tap/t_tap.sh@1.10 / diff / nxr@1.10
src/tests/net/ipsec/t_ipsec_gif.sh@1.8 / diff / nxr@1.8
src/tests/net/ipsec/t_ipsec_l2tp.sh@1.8 / diff / nxr@1.8
src/tests/net/ipsec/t_ipsec_natt.sh@1.3 / diff / nxr@1.3
tests: use rump_server_add_iface to create interfaces
MAIN commitmail json YAML
tests: enable to create interfaces other than shmif with rump_server_add_iface
For this change interfaces are destroyed in the reverse order of their
creations in case there are dependencies between interfaces.
For this change interfaces are destroyed in the reverse order of their
creations in case there are dependencies between interfaces.
MAIN commitmail json YAML
tests: fix test header name
MAIN commitmail json YAML
tests: check if ifconfig (ioctl) works after a failure of ifconfig destroy
This is a test for PR kern/54434.
This is a test for PR kern/54434.
MAIN commitmail json YAML
Restore if_ioctl on error of ifc_destroy
Otherwise subsequence ioctls won't work.
Patch from Harold Gutch on PR kern/54434 (tweaked a bit by me)
Otherwise subsequence ioctls won't work.
Patch from Harold Gutch on PR kern/54434 (tweaked a bit by me)
MAIN commitmail json YAML
Add missing IFNET_LOCK for regen_tmpaddr
Reported by ryo@
Reported by ryo@
MAIN commitmail json YAML
Make a permanet neighbor cache to avoid sending an NS packet disturbing the test
A receiver of an ICMPv6 request packet creates a stale cache entry and it turns
into the delay state on replying the packet. After 5 second, the receiver sends
an NS packet as a reachability confirmation, which disturbs the test and causes
a unexpected result.
Should fix PR misc/54451
A receiver of an ICMPv6 request packet creates a stale cache entry and it turns
into the delay state on replying the packet. After 5 second, the receiver sends
an NS packet as a reachability confirmation, which disturbs the test and causes
a unexpected result.
Should fix PR misc/54451
MAIN commitmail json YAML
Fix typo (s/m_free/m_freem/) (one more)
MAIN commitmail json YAML
setkey: document getspi and update
MAIN commitmail json YAML
tests: add tests for getspi and udpate
MAIN commitmail json YAML
src/crypto/dist/ipsec-tools/src/setkey/parse.y@1.23
/
diff
/
nxr@1.23
src/crypto/dist/ipsec-tools/src/setkey/token.l@1.23 / diff / nxr@1.23
src/crypto/dist/ipsec-tools/src/setkey/token.l@1.23 / diff / nxr@1.23
setkey: enable to use the getspi API
If a specified SPI is not zero, tell the kernel to use the SPI by using
SADB_EXT_SPIRANGE. Otherwise, the kernel picks a random SPI.
It enables to mimic racoon.
If a specified SPI is not zero, tell the kernel to use the SPI by using
SADB_EXT_SPIRANGE. Otherwise, the kernel picks a random SPI.
It enables to mimic racoon.
MAIN commitmail json YAML
ipsec: fix a regression of the update API
The update API updates an SA by creating a new SA and removing an existing SA.
The previous change removed a newly added SA wrongly if an existing SA had been
created by the getspi API.
The update API updates an SA by creating a new SA and removing an existing SA.
The previous change removed a newly added SA wrongly if an existing SA had been
created by the getspi API.
MAIN commitmail json YAML
Show pointers of llentries on trace logs of LLE_REF_TRACE
MAIN commitmail json YAML
tests: extract all kernel logs, not just a panic message, from rump_server.core
MAIN commitmail json YAML
tests: shorten the expire time of neighbor caches to reduce the runtime of the tests
MAIN commitmail json YAML
Avoid a race condition between SA (sav) manipulations
An sav can be removed from belonging list(s) twice resulting in an assertion
failure of pslist. It can occur if the following two operations interleave:
(i) a deletion or a update of an SA via the API, and
(ii) a state change (key_sa_chgstate) of the same SA by the timer.
Note that even (ii) removes an sav once from its list(s) on a update.
The cause of the race condition is that the two operations are not serialized
and (i) doesn't get and remove an sav from belonging list(s) atomically. So
(ii) can be inserted between an acquisition and a removal of (i).
Avoid the race condition by making (i) atomic.
An sav can be removed from belonging list(s) twice resulting in an assertion
failure of pslist. It can occur if the following two operations interleave:
(i) a deletion or a update of an SA via the API, and
(ii) a state change (key_sa_chgstate) of the same SA by the timer.
Note that even (ii) removes an sav once from its list(s) on a update.
The cause of the race condition is that the two operations are not serialized
and (i) doesn't get and remove an sav from belonging list(s) atomically. So
(ii) can be inserted between an acquisition and a removal of (i).
Avoid the race condition by making (i) atomic.
MAIN commitmail json YAML
tests: check that a new cache is not created over the limit
MAIN commitmail json YAML
Bump the version for if_description
Welcome to 8.99.50
Welcome to 8.99.50
MAIN commitmail json YAML
Add ATF test for a description.
From t-kusaba@IIJ
From t-kusaba@IIJ
MAIN commitmail json YAML
src/sbin/ifconfig/ifconfig.8@1.117
/
diff
/
nxr@1.117
src/sbin/ifconfig/ifconfig.c@1.239 / diff / nxr@1.239
src/sbin/ifconfig/ifconfig.c@1.239 / diff / nxr@1.239
Add descr,description/-descr,-description commands to ifconfig(8) to handle a description.
From t-kusaba@IIJ
From t-kusaba@IIJ
MAIN commitmail json YAML
src/sys/net/if.c@1.456
/
diff
/
nxr@1.456
src/sys/net/if.h@1.274 / diff / nxr@1.274
src/sys/sys/sockio.h@1.38 / diff / nxr@1.38
src/sys/net/if.h@1.274 / diff / nxr@1.274
src/sys/sys/sockio.h@1.38 / diff / nxr@1.38
Add support for a network interface description.
ioctl(2):
- Add SIOCGIFDESCR/SIOCSIFDESCR commands to get/set the description.
This enables to make a memo for interface, like "Home network" or "Remote VPN".
From t-kusaba@IIJ
ioctl(2):
- Add SIOCGIFDESCR/SIOCSIFDESCR commands to get/set the description.
This enables to make a memo for interface, like "Home network" or "Remote VPN".
From t-kusaba@IIJ
MAIN commitmail json YAML
tests: test state transitions of neighbor caches
MAIN commitmail json YAML
nd6: restore a missing reachability confirmation
On sending a packet over a STALE cache, the cache should be tried a reachability
confirmation, which is described in RFC 2461/4861 7.3.3. On the fast path in
nd6_resolve, however, the treatment for STALE caches has been skipped
accidentally. So STALE caches never be back to the REACHABLE state.
To fix the issue, branch to the fast path only when the cache entry is the
REACHABLE state and leave other caches to the slow path that includes the
treatment. To this end we need to allow to return a link-layer address if a
valid address is available on the slow path too, which is the same behavior as
FreeBSD and OpenBSD.
On sending a packet over a STALE cache, the cache should be tried a reachability
confirmation, which is described in RFC 2461/4861 7.3.3. On the fast path in
nd6_resolve, however, the treatment for STALE caches has been skipped
accidentally. So STALE caches never be back to the REACHABLE state.
To fix the issue, branch to the fast path only when the cache entry is the
REACHABLE state and leave other caches to the slow path that includes the
treatment. To this end we need to allow to return a link-layer address if a
valid address is available on the slow path too, which is the same behavior as
FreeBSD and OpenBSD.
MAIN commitmail json YAML
src/usr.sbin/puffs/mount_9p/mount_9p.8@1.10
/
diff
/
nxr@1.10
src/usr.sbin/puffs/mount_9p/nineproto.c@1.11 / diff / nxr@1.11
src/usr.sbin/puffs/mount_9p/ninepuffs.h@1.14 / diff / nxr@1.14
src/usr.sbin/puffs/mount_9p/node.c@1.23 / diff / nxr@1.23
src/usr.sbin/puffs/mount_9p/subr.c@1.7 / diff / nxr@1.7
src/usr.sbin/puffs/mount_9p/nineproto.c@1.11 / diff / nxr@1.11
src/usr.sbin/puffs/mount_9p/ninepuffs.h@1.14 / diff / nxr@1.14
src/usr.sbin/puffs/mount_9p/node.c@1.23 / diff / nxr@1.23
src/usr.sbin/puffs/mount_9p/subr.c@1.7 / diff / nxr@1.7
Handle Rerror and return errno correctly (only for 9P2000.u for now)
MAIN commitmail json YAML
Don't take softnet_lock in sysctl_rtable
Taking softnet_lock there can cause a deadlock with nfs sosend, so we don't.
Having only KERNEL_LOCK is enough because now the routing table is protected by
KERNEL_LOCK that was introduced by the fix for PR 53043.
PR kern/54227 from Paul Ripke
Taking softnet_lock there can cause a deadlock with nfs sosend, so we don't.
Having only KERNEL_LOCK is enough because now the routing table is protected by
KERNEL_LOCK that was introduced by the fix for PR 53043.
PR kern/54227 from Paul Ripke
MAIN commitmail json YAML
Note initial 9P2000.u support
MAIN commitmail json YAML
mount_9p: add missing -u option to the help message
MAIN commitmail json YAML
src/usr.sbin/puffs/mount_9p/fs.c@1.10
/
diff
/
nxr@1.10
src/usr.sbin/puffs/mount_9p/mount_9p.8@1.8 / diff / nxr@1.8
src/usr.sbin/puffs/mount_9p/nineproto.c@1.10 / diff / nxr@1.10
src/usr.sbin/puffs/mount_9p/nineproto.h@1.2 / diff / nxr@1.2
src/usr.sbin/puffs/mount_9p/ninepuffs.c@1.25 / diff / nxr@1.25
src/usr.sbin/puffs/mount_9p/ninepuffs.h@1.13 / diff / nxr@1.13
src/usr.sbin/puffs/mount_9p/node.c@1.22 / diff / nxr@1.22
src/usr.sbin/puffs/mount_9p/mount_9p.8@1.8 / diff / nxr@1.8
src/usr.sbin/puffs/mount_9p/nineproto.c@1.10 / diff / nxr@1.10
src/usr.sbin/puffs/mount_9p/nineproto.h@1.2 / diff / nxr@1.2
src/usr.sbin/puffs/mount_9p/ninepuffs.c@1.25 / diff / nxr@1.25
src/usr.sbin/puffs/mount_9p/ninepuffs.h@1.13 / diff / nxr@1.13
src/usr.sbin/puffs/mount_9p/node.c@1.22 / diff / nxr@1.22
mount_9p: add initial support for 9P2000.u
The implementation enables to work with a server talking 9P2000.u. However, it
doesn't use the extended fields yet; it just ignores those of received messages
and sets "please ignore" values to those of sending messages such as zero-length
strings and maximum unsigned values.
The feature is enabled by the -u option.
The implementation enables to work with a server talking 9P2000.u. However, it
doesn't use the extended fields yet; it just ignores those of received messages
and sets "please ignore" values to those of sending messages such as zero-length
strings and maximum unsigned values.
The feature is enabled by the -u option.
MAIN commitmail json YAML
Refer the current official page
MAIN commitmail json YAML
Document the -s option
MAIN commitmail json YAML
src/sys/conf/files@1.1236
/
diff
/
nxr@1.1236
src/sys/kern/init_main.c@1.504 / diff / nxr@1.504
src/sys/kern/kern_exit.c@1.275 / diff / nxr@1.275
src/sys/kern/kern_lwp.c@1.201 / diff / nxr@1.201
src/sys/kern/kern_softint.c@1.47 / diff / nxr@1.47
src/sys/kern/subr_lwp_specificdata.c@1.4 / diff / nxr@1.4
src/sys/kern/subr_psref.c@1.13 / diff / nxr@1.13
src/sys/net/if.c@1.453 / diff / nxr@1.453
src/sys/net/route.c@1.219 / diff / nxr@1.219
src/sys/rump/kern/lib/libsysproxy/sysproxy.c@1.7 / diff / nxr@1.7
src/sys/rump/librump/rumpkern/lwproc.c@1.42 / diff / nxr@1.42
src/sys/rump/librump/rumpkern/rump.c@1.334 / diff / nxr@1.334
src/sys/sys/lwp.h@1.183 / diff / nxr@1.183
src/sys/sys/psref.h@1.4 / diff / nxr@1.4
src/sys/sys/userret.h@1.28 / diff / nxr@1.28
src/sys/kern/init_main.c@1.504 / diff / nxr@1.504
src/sys/kern/kern_exit.c@1.275 / diff / nxr@1.275
src/sys/kern/kern_lwp.c@1.201 / diff / nxr@1.201
src/sys/kern/kern_softint.c@1.47 / diff / nxr@1.47
src/sys/kern/subr_lwp_specificdata.c@1.4 / diff / nxr@1.4
src/sys/kern/subr_psref.c@1.13 / diff / nxr@1.13
src/sys/net/if.c@1.453 / diff / nxr@1.453
src/sys/net/route.c@1.219 / diff / nxr@1.219
src/sys/rump/kern/lib/libsysproxy/sysproxy.c@1.7 / diff / nxr@1.7
src/sys/rump/librump/rumpkern/lwproc.c@1.42 / diff / nxr@1.42
src/sys/rump/librump/rumpkern/rump.c@1.334 / diff / nxr@1.334
src/sys/sys/lwp.h@1.183 / diff / nxr@1.183
src/sys/sys/psref.h@1.4 / diff / nxr@1.4
src/sys/sys/userret.h@1.28 / diff / nxr@1.28
Implement an aggressive psref leak detector
It is yet another psref leak detector that enables to tell where a leak occurs
while a simpler version that is already committed just tells an occurrence of a
leak.
Investigating of psref leaks is hard because once a leak occurs a percpu list of
psref that tracks references can be corrupted. A reference to a tracking object
is memorized in the list via an intermediate object (struct psref) that is
normally allocated on a stack of a thread. Thus, the intermediate object can be
overwritten on a leak resulting in corruption of the list.
The tracker makes a shadow entry to an intermediate object and stores some hints
into it (currently it's a caller address of psref_acquire). We can detect a
leak by checking the entries on certain points where any references should be
released such as the return point of syscalls and the end of each softint
handler.
The feature is expensive and enabled only if the kernel is built with
PSREF_DEBUG.
Proposed on tech-kern
It is yet another psref leak detector that enables to tell where a leak occurs
while a simpler version that is already committed just tells an occurrence of a
leak.
Investigating of psref leaks is hard because once a leak occurs a percpu list of
psref that tracks references can be corrupted. A reference to a tracking object
is memorized in the list via an intermediate object (struct psref) that is
normally allocated on a stack of a thread. Thus, the intermediate object can be
overwritten on a leak resulting in corruption of the list.
The tracker makes a shadow entry to an intermediate object and stores some hints
into it (currently it's a caller address of psref_acquire). We can detect a
leak by checking the entries on certain points where any references should be
released such as the return point of syscalls and the end of each softint
handler.
The feature is expensive and enabled only if the kernel is built with
PSREF_DEBUG.
Proposed on tech-kern
MAIN commitmail json YAML
src/sys/net/if_vlan.c@1.136
/
diff
/
nxr@1.136
src/sys/netinet/in_pcb.c@1.183 / diff / nxr@1.183
src/sys/netinet/ip_output.c@1.312 / diff / nxr@1.312
src/sys/netinet6/in6_pcb.c@1.166 / diff / nxr@1.166
src/sys/netinet6/ip6_output.c@1.220 / diff / nxr@1.220
src/sys/netinet/in_pcb.c@1.183 / diff / nxr@1.183
src/sys/netinet/ip_output.c@1.312 / diff / nxr@1.312
src/sys/netinet6/in6_pcb.c@1.166 / diff / nxr@1.166
src/sys/netinet6/ip6_output.c@1.220 / diff / nxr@1.220
Get rid of IFNET_LOCK for if_mcast_op to avoid a deadlock
The IFNET_LOCK was added to avoid data races on if_flags for IFF_ALLMULTI.
Unfortunatetly it caused a deadlock instead. A known scenario causing a
deadlock is to occur the following two operations concurrently: (a) a removal of
an IP adddres assigned to an interface and (b) a manipulation of multicast
groups to the interface. The resource dependency graph is like this:
softnet_lock => IFNET_LOCK => psref_target_destroy => softint => softnet_lock
Thanks to the previous commit that avoids data races on if_flags for
IFF_ALLMULTI by another approach, we can remove IFNET_LOCK and defuse the
deadlock.
PR kern/54189
The IFNET_LOCK was added to avoid data races on if_flags for IFF_ALLMULTI.
Unfortunatetly it caused a deadlock instead. A known scenario causing a
deadlock is to occur the following two operations concurrently: (a) a removal of
an IP adddres assigned to an interface and (b) a manipulation of multicast
groups to the interface. The resource dependency graph is like this:
softnet_lock => IFNET_LOCK => psref_target_destroy => softint => softnet_lock
Thanks to the previous commit that avoids data races on if_flags for
IFF_ALLMULTI by another approach, we can remove IFNET_LOCK and defuse the
deadlock.
PR kern/54189
MAIN commitmail json YAML
src/sys/dev/ic/dwc_gmac.c@1.60
/
diff
/
nxr@1.60
src/sys/dev/pci/if_wm.c@1.636 / diff / nxr@1.636
src/sys/dev/pci/ixgbe/ixgbe.c@1.183 / diff / nxr@1.183
src/sys/net/if.c@1.452 / diff / nxr@1.452
src/sys/net/if_ether.h@1.78 / diff / nxr@1.78
src/sys/net/if_ethersubr.c@1.274 / diff / nxr@1.274
src/sys/dev/pci/if_wm.c@1.636 / diff / nxr@1.636
src/sys/dev/pci/ixgbe/ixgbe.c@1.183 / diff / nxr@1.183
src/sys/net/if.c@1.452 / diff / nxr@1.452
src/sys/net/if_ether.h@1.78 / diff / nxr@1.78
src/sys/net/if_ethersubr.c@1.274 / diff / nxr@1.274
Store IFF_ALLMULTI in ec_flags instead of if_flags to avoid data races
IFF_ALLMULTI is set/unset to if_flags via if_mcast_op. To avoid data races on
if_flags, IFNET_LOCK was added for if_mcast_op. Unfortunately it produces
a deadlock so we want to remove added IFNET_LOCK by avoiding the data races by
another approach.
This fix introduces ec_flags to struct ethercom and stores IFF_ALLMULTI to it.
ec_flags is protected by ETHER_LOCK and thus IFNET_LOCK is no longer necessary
for if_mcast_op. Note that the fix is applied only to MP-safe drivers that
the data races matter.
In the kernel, IFF_ALLMULTI is set by a driver and used by the driver itself.
So changing the storing place doesn't break anything. One exception is
ioctl(SIOCGIFFLAGS); we have to include IFF_ALLMULTI in a result if needed to
export the flag as well as before.
A upcoming commit will remove IFNET_LOCK.
PR kern/54189
IFF_ALLMULTI is set/unset to if_flags via if_mcast_op. To avoid data races on
if_flags, IFNET_LOCK was added for if_mcast_op. Unfortunately it produces
a deadlock so we want to remove added IFNET_LOCK by avoiding the data races by
another approach.
This fix introduces ec_flags to struct ethercom and stores IFF_ALLMULTI to it.
ec_flags is protected by ETHER_LOCK and thus IFNET_LOCK is no longer necessary
for if_mcast_op. Note that the fix is applied only to MP-safe drivers that
the data races matter.
In the kernel, IFF_ALLMULTI is set by a driver and used by the driver itself.
So changing the storing place doesn't break anything. One exception is
ioctl(SIOCGIFFLAGS); we have to include IFF_ALLMULTI in a result if needed to
export the flag as well as before.
A upcoming commit will remove IFNET_LOCK.
PR kern/54189
MAIN commitmail json YAML
src/sys/dev/pci/if_wm.c@1.635
/
diff
/
nxr@1.635
src/sys/dev/pci/ixgbe/ixgbe.c@1.182 / diff / nxr@1.182
src/sys/dev/pci/ixgbe/ixgbe.c@1.182 / diff / nxr@1.182
Remove unnecessary checks of IFF_ALLMULTI
IFF_ALLMULTI is changed by only driver itself, so we don't need to check its
change on ec_ifflags_cb.
This is part of PR kern/54189. NFCI.
IFF_ALLMULTI is changed by only driver itself, so we don't need to check its
change on ec_ifflags_cb.
This is part of PR kern/54189. NFCI.
MAIN commitmail json YAML
Bump the version for entry additions to IP_STAT and IP6_STAT
Welcome to 8.99.40
Welcome to 8.99.40
MAIN commitmail json YAML
src/usr.bin/netstat/inet.c@1.109
/
diff
/
nxr@1.109
src/usr.bin/netstat/inet6.c@1.72 / diff / nxr@1.72
src/usr.bin/netstat/inet6.c@1.72 / diff / nxr@1.72
Show the number of packets dropped by pfil
MAIN commitmail json YAML
src/sys/netinet/ip_input.c@1.389
/
diff
/
nxr@1.389
src/sys/netinet/ip_output.c@1.311 / diff / nxr@1.311
src/sys/netinet/ip_var.h@1.128 / diff / nxr@1.128
src/sys/netinet6/ip6_forward.c@1.96 / diff / nxr@1.96
src/sys/netinet6/ip6_input.c@1.208 / diff / nxr@1.208
src/sys/netinet6/ip6_output.c@1.219 / diff / nxr@1.219
src/sys/netinet6/ip6_var.h@1.82 / diff / nxr@1.82
src/sys/netinet/ip_output.c@1.311 / diff / nxr@1.311
src/sys/netinet/ip_var.h@1.128 / diff / nxr@1.128
src/sys/netinet6/ip6_forward.c@1.96 / diff / nxr@1.96
src/sys/netinet6/ip6_input.c@1.208 / diff / nxr@1.208
src/sys/netinet6/ip6_output.c@1.219 / diff / nxr@1.219
src/sys/netinet6/ip6_var.h@1.82 / diff / nxr@1.82
Count packets dropped by pfil
MAIN commitmail json YAML
src/sys/external/bsd/drm2/linux/linux_ww_mutex.c@1.7
/
diff
/
nxr@1.7
src/sys/kern/kern_lock.c@1.163 / diff / nxr@1.163
src/sys/kern/kern_mutex.c@1.79 / diff / nxr@1.79
src/sys/kern/kern_rwlock.c@1.54 / diff / nxr@1.54
src/sys/kern/subr_lockdebug.c@1.70 / diff / nxr@1.70
src/sys/sys/lockdebug.h@1.21 / diff / nxr@1.21
src/sys/kern/kern_lock.c@1.163 / diff / nxr@1.163
src/sys/kern/kern_mutex.c@1.79 / diff / nxr@1.79
src/sys/kern/kern_rwlock.c@1.54 / diff / nxr@1.54
src/sys/kern/subr_lockdebug.c@1.70 / diff / nxr@1.70
src/sys/sys/lockdebug.h@1.21 / diff / nxr@1.21
Avoid prepending a timestamp to lock debug outputs on ddb
Lock printer functions (lockops_t#lo_dump) use printf_nolog to print, but
printf_nolog now prepends a timestamp which is unnecessary for ddb:
db{0}> show all locks/t
[Locks tracked through LWPs]
Locks held by an LWP (iperf):
Lock 0 (initialized at soinit)
lock address : 0xffffedeb84b06080 type : sleep/adaptive
initialized : 0xffffffff806d8c3f
shared holds : 0 exclusive: 1
shares wanted: 0 exclusive: 11
current cpu : 0 last held: 1
current lwp : 0xffffedeb849ff040 last held: 0xffffedeb7dfdb240
last locked* : 0xffffffff806d8335 unlocked : 0xffffffff806d8385
[ 79103.0868574] owner field : 0xffffedeb7dfdb240 wait/spin: 1/0
Fix it by passing a printer function to lo_dump functions, i.e., make the
functions use db_printf on ddb.
Lock printer functions (lockops_t#lo_dump) use printf_nolog to print, but
printf_nolog now prepends a timestamp which is unnecessary for ddb:
db{0}> show all locks/t
[Locks tracked through LWPs]
Locks held by an LWP (iperf):
Lock 0 (initialized at soinit)
lock address : 0xffffedeb84b06080 type : sleep/adaptive
initialized : 0xffffffff806d8c3f
shared holds : 0 exclusive: 1
shares wanted: 0 exclusive: 11
current cpu : 0 last held: 1
current lwp : 0xffffedeb849ff040 last held: 0xffffedeb7dfdb240
last locked* : 0xffffffff806d8335 unlocked : 0xffffffff806d8385
[ 79103.0868574] owner field : 0xffffedeb7dfdb240 wait/spin: 1/0
Fix it by passing a printer function to lo_dump functions, i.e., make the
functions use db_printf on ddb.
MAIN commitmail json YAML
Make _kernel_lock_dump static
MAIN commitmail json YAML
Add missing "static" declaration
MAIN commitmail json YAML
src/sys/kern/kern_lwp.c@1.197
/
diff
/
nxr@1.197
src/sys/kern/kern_softint.c@1.46 / diff / nxr@1.46
src/sys/kern/subr_psref.c@1.12 / diff / nxr@1.12
src/sys/rump/kern/lib/libsysproxy/sysproxy.c@1.6 / diff / nxr@1.6
src/sys/sys/lwp.h@1.182 / diff / nxr@1.182
src/sys/sys/userret.h@1.27 / diff / nxr@1.27
src/sys/kern/kern_softint.c@1.46 / diff / nxr@1.46
src/sys/kern/subr_psref.c@1.12 / diff / nxr@1.12
src/sys/rump/kern/lib/libsysproxy/sysproxy.c@1.6 / diff / nxr@1.6
src/sys/sys/lwp.h@1.182 / diff / nxr@1.182
src/sys/sys/userret.h@1.27 / diff / nxr@1.27
Implement a simple psref leak detector
It detects leaks by counting up the number of held psref by an LWP and checking
its zeroness at the end of syscalls and softint handlers. For the counter, a
unused field of struct lwp is reused.
The detector runs only if DIAGNOSTIC is turned on.
It detects leaks by counting up the number of held psref by an LWP and checking
its zeroness at the end of syscalls and softint handlers. For the counter, a
unused field of struct lwp is reused.
The detector runs only if DIAGNOSTIC is turned on.
MAIN commitmail json YAML
rump: add missing sanity checks at the end of syscalls
MAIN commitmail json YAML
tests: dump kernel stats on cleanup
MAIN commitmail json YAML
tests: make utility funtions easy to use for tests that don't use the framework
MAIN commitmail json YAML
Don't check pserialize_not_in_read_section after panic
It can cause a false positive assertion failure.
It can cause a false positive assertion failure.
MAIN commitmail json YAML
Protect ether_multi list
Fix this driver because it can set IFEF_MPSAFE.
Fix this driver because it can set IFEF_MPSAFE.
MAIN commitmail json YAML
Add another known issue (if_flags)
MAIN commitmail json YAML
Add another known issue
MAIN commitmail json YAML
carp: don't skip pserialize_read_enter and ifa_release
MAIN commitmail json YAML
Add missing ifa_release on error paths
MAIN commitmail json YAML
Protect sysctl_rtable with KERNEL_LOCK and softnet_lock
In the function the routing table could be accessed without any locks, which was
unsafe. Actually, on netbsd-7, a kernel panic happened(*). The situation of
locking hasn't changed since netbsd-7 so we still need to hold the big locks on
-current (and netbsd-8) too.
Note that if NET_MPSAFE is enabled, the routing table is protected by its own
lock and we don't need the locks.
Reported and tested on netbsd-7 by sborrill@
(*) http://mail-index.netbsd.org/tech-net/2018/11/08/msg007153.html
In the function the routing table could be accessed without any locks, which was
unsafe. Actually, on netbsd-7, a kernel panic happened(*). The situation of
locking hasn't changed since netbsd-7 so we still need to hold the big locks on
-current (and netbsd-8) too.
Note that if NET_MPSAFE is enabled, the routing table is protected by its own
lock and we don't need the locks.
Reported and tested on netbsd-7 by sborrill@
(*) http://mail-index.netbsd.org/tech-net/2018/11/08/msg007153.html
MAIN commitmail json YAML
tests: add missing $af
MAIN commitmail json YAML
tests: check error messages strictly
MAIN commitmail json YAML
tests: reduce repeated phrases... (NFC)
MAIN commitmail json YAML
Don't validate the source address of forwarding IPv6 packets (same as IPv4)
MAIN commitmail json YAML
Don't run DAD on link-up if it's explicitly disabled
MAIN commitmail json YAML
src/sys/netinet/if_arp.c@1.277
/
diff
/
nxr@1.277
src/sys/netinet/in.c@1.232 / diff / nxr@1.232
src/sys/netinet/in_var.h@1.97 / diff / nxr@1.97
src/sys/netinet6/in6.c@1.271 / diff / nxr@1.271
src/sys/netinet6/ip6_var.h@1.81 / diff / nxr@1.81
src/sys/netinet6/nd6_nbr.c@1.157 / diff / nxr@1.157
src/sys/netinet/in.c@1.232 / diff / nxr@1.232
src/sys/netinet/in_var.h@1.97 / diff / nxr@1.97
src/sys/netinet6/in6.c@1.271 / diff / nxr@1.271
src/sys/netinet6/ip6_var.h@1.81 / diff / nxr@1.81
src/sys/netinet6/nd6_nbr.c@1.157 / diff / nxr@1.157
Introduce and use ip_dad_enabled() and ip6_dad_enabled() functions
MAIN commitmail json YAML
Use Cm instead of Li or Ar for fixed command strings