public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v1 0/3] selftests: rds: ksft cleanups
@ 2026-03-08  5:58 Allison Henderson
  2026-03-08  5:58 ` [PATCH net-next v1 1/3] selftests: rds: Fix pylint warnings Allison Henderson
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Allison Henderson @ 2026-03-08  5:58 UTC (permalink / raw)
  To: netdev
  Cc: linux-kselftest, pabeni, edumazet, rds-devel, kuba, horms,
	linux-rdma, allison.henderson

Hi all,

This set addresses a few rds selftests clean ups and bugs encountered
when running in the ksft framework.  The first patch is a clean up
patch that addresses pylint warnings, but otherwise no functional
changes.  The next patch moves the test time out to a ksft settings
file so that the time out is set appropriately.  And lastly we fix a
tcpdump segfault caused by deprecated a os.fork() call.

Questions, comments and feed back appreciated!

Thanks!
Allison

Allison Henderson (3):
  selftests: rds: Fix pylint warnings
  selftests: rds: Add ksft timeout
  selftests: rds: Fix tcpdump segfault in rds selftests

 tools/testing/selftests/net/rds/Makefile |   1 +
 tools/testing/selftests/net/rds/run.sh   |   7 +-
 tools/testing/selftests/net/rds/settings |   1 +
 tools/testing/selftests/net/rds/test.py  | 108 +++++++++++++----------
 4 files changed, 66 insertions(+), 51 deletions(-)
 create mode 100644 tools/testing/selftests/net/rds/settings

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH net-next v1 1/3] selftests: rds: Fix pylint warnings
  2026-03-08  5:58 [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Allison Henderson
@ 2026-03-08  5:58 ` Allison Henderson
  2026-03-08  5:58 ` [PATCH net-next v1 2/3] selftests: rds: Add ksft timeout Allison Henderson
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Allison Henderson @ 2026-03-08  5:58 UTC (permalink / raw)
  To: netdev
  Cc: linux-kselftest, pabeni, edumazet, rds-devel, kuba, horms,
	linux-rdma, allison.henderson

Tidy up all exiting pylint errors in test.py.  No functional
changes are introduced in this patch

Signed-off-by: Allison Henderson <achender@kernel.org>
---
 tools/testing/selftests/net/rds/test.py | 84 +++++++++++++------------
 1 file changed, 45 insertions(+), 39 deletions(-)

diff --git a/tools/testing/selftests/net/rds/test.py b/tools/testing/selftests/net/rds/test.py
index 4a7178d11193..8256afe6ad6f 100755
--- a/tools/testing/selftests/net/rds/test.py
+++ b/tools/testing/selftests/net/rds/test.py
@@ -11,7 +11,6 @@ import signal
 import socket
 import subprocess
 import sys
-import atexit
 from pwd import getpwuid
 from os import stat
 
@@ -23,45 +22,54 @@ from lib.py.utils import ip
 libc = ctypes.cdll.LoadLibrary('libc.so.6')
 setns = libc.setns
 
-net0 = 'net0'
-net1 = 'net1'
+NET0 = 'net0'
+NET1 = 'net1'
 
-veth0 = 'veth0'
-veth1 = 'veth1'
+VETH0 = 'veth0'
+VETH1 = 'veth1'
 
 # Helper function for creating a socket inside a network namespace.
 # We need this because otherwise RDS will detect that the two TCP
 # sockets are on the same interface and use the loop transport instead
 # of the TCP transport.
-def netns_socket(netns, *args):
+def netns_socket(netns, *sock_args):
+    """
+    Creates sockets inside of network namespace
+
+    :param netns: the name of the network namespace
+    :param sock_args: socket family and type
+    """
     u0, u1 = socket.socketpair(socket.AF_UNIX, socket.SOCK_SEQPACKET)
 
     child = os.fork()
     if child == 0:
         # change network namespace
-        with open(f'/var/run/netns/{netns}') as f:
+        with open(f'/var/run/netns/{netns}', encoding='utf-8') as f:
             try:
-                ret = setns(f.fileno(), 0)
+                setns(f.fileno(), 0)
             except IOError as e:
                 print(e.errno)
                 print(e)
 
         # create socket in target namespace
-        s = socket.socket(*args)
+        sock = socket.socket(*sock_args)
 
         # send resulting socket to parent
-        socket.send_fds(u0, [], [s.fileno()])
+        socket.send_fds(u0, [], [sock.fileno()])
 
         sys.exit(0)
 
     # receive socket from child
-    _, s, _, _ = socket.recv_fds(u1, 0, 1)
+    _, fds, _, _ = socket.recv_fds(u1, 0, 1)
     os.waitpid(child, 0)
     u0.close()
     u1.close()
-    return socket.fromfd(s[0], *args)
+    return socket.fromfd(fds[0], *sock_args)
 
-def signal_handler(sig, frame):
+def signal_handler(_sig, _frame):
+    """
+    Test timed out signal handler
+    """
     print('Test timed out')
     sys.exit(1)
 
@@ -81,13 +89,13 @@ parser.add_argument('-u', '--duplicate', help="Simulate tcp packet duplication",
                     type=int, default=0)
 args = parser.parse_args()
 logdir=args.logdir
-packet_loss=str(args.loss)+'%'
-packet_corruption=str(args.corruption)+'%'
-packet_duplicate=str(args.duplicate)+'%'
+PACKET_LOSS=str(args.loss)+'%'
+PACKET_CORRUPTION=str(args.corruption)+'%'
+PACKET_DUPLICATE=str(args.duplicate)+'%'
 
-ip(f"netns add {net0}")
-ip(f"netns add {net1}")
-ip(f"link add type veth")
+ip(f"netns add {NET0}")
+ip(f"netns add {NET1}")
+ip("link add type veth")
 
 addrs = [
     # we technically don't need different port numbers, but this will
@@ -99,25 +107,25 @@ addrs = [
 # move interfaces to separate namespaces so they can no longer be
 # bound directly; this prevents rds from switching over from the tcp
 # transport to the loop transport.
-ip(f"link set {veth0} netns {net0} up")
-ip(f"link set {veth1} netns {net1} up")
+ip(f"link set {VETH0} netns {NET0} up")
+ip(f"link set {VETH1} netns {NET1} up")
 
 
 
 # add addresses
-ip(f"-n {net0} addr add {addrs[0][0]}/32 dev {veth0}")
-ip(f"-n {net1} addr add {addrs[1][0]}/32 dev {veth1}")
+ip(f"-n {NET0} addr add {addrs[0][0]}/32 dev {VETH0}")
+ip(f"-n {NET1} addr add {addrs[1][0]}/32 dev {VETH1}")
 
 # add routes
-ip(f"-n {net0} route add {addrs[1][0]}/32 dev {veth0}")
-ip(f"-n {net1} route add {addrs[0][0]}/32 dev {veth1}")
+ip(f"-n {NET0} route add {addrs[1][0]}/32 dev {VETH0}")
+ip(f"-n {NET1} route add {addrs[0][0]}/32 dev {VETH1}")
 
 # sanity check that our two interfaces/addresses are correctly set up
 # and communicating by doing a single ping
-ip(f"netns exec {net0} ping -c 1 {addrs[1][0]}")
+ip(f"netns exec {NET0} ping -c 1 {addrs[1][0]}")
 
 # Start a packet capture on each network
-for net in [net0, net1]:
+for net in [NET0, NET1]:
     tcpdump_pid = os.fork()
     if tcpdump_pid == 0:
         pcap = logdir+'/'+net+'.pcap'
@@ -127,10 +135,10 @@ for net in [net0, net1]:
         sys.exit(0)
 
 # simulate packet loss, duplication and corruption
-for net, iface in [(net0, veth0), (net1, veth1)]:
+for net, iface in [(NET0, VETH0), (NET1, VETH1)]:
     ip(f"netns exec {net} /usr/sbin/tc qdisc add dev {iface} root netem  \
-         corrupt {packet_corruption} loss {packet_loss} duplicate  \
-         {packet_duplicate}")
+         corrupt {PACKET_CORRUPTION} loss {PACKET_LOSS} duplicate  \
+         {PACKET_DUPLICATE}")
 
 # add a timeout
 if args.timeout > 0:
@@ -138,8 +146,8 @@ if args.timeout > 0:
     signal.signal(signal.SIGALRM, signal_handler)
 
 sockets = [
-    netns_socket(net0, socket.AF_RDS, socket.SOCK_SEQPACKET),
-    netns_socket(net1, socket.AF_RDS, socket.SOCK_SEQPACKET),
+    netns_socket(NET0, socket.AF_RDS, socket.SOCK_SEQPACKET),
+    netns_socket(NET1, socket.AF_RDS, socket.SOCK_SEQPACKET),
 ]
 
 for s, addr in zip(sockets, addrs):
@@ -150,9 +158,7 @@ fileno_to_socket = {
     s.fileno(): s for s in sockets
 }
 
-addr_to_socket = {
-    addr: s for addr, s in zip(addrs, sockets)
-}
+addr_to_socket = dict(zip(addrs, sockets))
 
 socket_to_addr = {
     s: addr for addr, s in zip(addrs, sockets)
@@ -166,14 +172,14 @@ ep = select.epoll()
 for s in sockets:
     ep.register(s, select.EPOLLRDNORM)
 
-n = 50000
+NUM_PACKETS = 50000
 nr_send = 0
 nr_recv = 0
 
-while nr_send < n:
+while nr_send < NUM_PACKETS:
     # Send as much as we can without blocking
     print("sending...", nr_send, nr_recv)
-    while nr_send < n:
+    while nr_send < NUM_PACKETS:
         send_data = hashlib.sha256(
             f'packet {nr_send}'.encode('utf-8')).hexdigest().encode('utf-8')
 
@@ -212,7 +218,7 @@ while nr_send < n:
                         break
 
     # exercise net/rds/tcp.c:rds_tcp_sysctl_reset()
-    for net in [net0, net1]:
+    for net in [NET0, NET1]:
         ip(f"netns exec {net} /usr/sbin/sysctl net.rds.tcp.rds_tcp_rcvbuf=10000")
         ip(f"netns exec {net} /usr/sbin/sysctl net.rds.tcp.rds_tcp_sndbuf=10000")
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH net-next v1 2/3] selftests: rds: Add ksft timeout
  2026-03-08  5:58 [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Allison Henderson
  2026-03-08  5:58 ` [PATCH net-next v1 1/3] selftests: rds: Fix pylint warnings Allison Henderson
@ 2026-03-08  5:58 ` Allison Henderson
  2026-03-08  5:58 ` [PATCH net-next v1 3/3] selftests: rds: Fix tcpdump segfault in rds selftests Allison Henderson
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Allison Henderson @ 2026-03-08  5:58 UTC (permalink / raw)
  To: netdev
  Cc: linux-kselftest, pabeni, edumazet, rds-devel, kuba, horms,
	linux-rdma, allison.henderson

rds/run.sh sets a timer of 400s when calling test.py.  However when
tests are run through ksft, a default 45s timer is applied.  Fix this
by adding a ksft timeout in tools/testing/selftests/net/rds/settings

Signed-off-by: Allison Henderson <achender@kernel.org>
---
 tools/testing/selftests/net/rds/Makefile | 1 +
 tools/testing/selftests/net/rds/run.sh   | 7 +++++--
 tools/testing/selftests/net/rds/settings | 1 +
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/net/rds/Makefile b/tools/testing/selftests/net/rds/Makefile
index 762845cc973c..8f9d81a18a1b 100644
--- a/tools/testing/selftests/net/rds/Makefile
+++ b/tools/testing/selftests/net/rds/Makefile
@@ -8,6 +8,7 @@ TEST_PROGS := run.sh
 TEST_FILES := \
 	include.sh \
 	test.py \
+	settings \
 # end of TEST_FILES
 
 EXTRA_CLEAN := \
diff --git a/tools/testing/selftests/net/rds/run.sh b/tools/testing/selftests/net/rds/run.sh
index 8aee244f582a..897d17d1b8db 100755
--- a/tools/testing/selftests/net/rds/run.sh
+++ b/tools/testing/selftests/net/rds/run.sh
@@ -19,6 +19,9 @@ if test -f "$build_include"; then
 	build_dir="$mk_build_dir"
 fi
 
+# Source settings for timeout value (also used by ksft runner)
+source "$current_dir"/settings
+
 # This test requires kernel source and the *.gcda data therein
 # Locate the top level of the kernel source, and the net/rds
 # subfolder with the appropriate *.gcno object files
@@ -194,8 +197,8 @@ set +e
 echo running RDS tests...
 echo Traces will be logged to "$TRACE_FILE"
 rm -f "$TRACE_FILE"
-strace -T -tt -o "$TRACE_FILE" python3 "$(dirname "$0")/test.py" --timeout 400 -d "$LOG_DIR" \
-       -l "$PLOSS" -c "$PCORRUPT" -u "$PDUP"
+strace -T -tt -o "$TRACE_FILE" python3 "$(dirname "$0")/test.py" \
+	--timeout "$timeout" -d "$LOG_DIR" -l "$PLOSS" -c "$PCORRUPT" -u "$PDUP"
 
 test_rc=$?
 dmesg > "${LOG_DIR}/dmesg.out"
diff --git a/tools/testing/selftests/net/rds/settings b/tools/testing/selftests/net/rds/settings
new file mode 100644
index 000000000000..d2009a64589c
--- /dev/null
+++ b/tools/testing/selftests/net/rds/settings
@@ -0,0 +1 @@
+timeout=400
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH net-next v1 3/3] selftests: rds: Fix tcpdump segfault in rds selftests
  2026-03-08  5:58 [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Allison Henderson
  2026-03-08  5:58 ` [PATCH net-next v1 1/3] selftests: rds: Fix pylint warnings Allison Henderson
  2026-03-08  5:58 ` [PATCH net-next v1 2/3] selftests: rds: Add ksft timeout Allison Henderson
@ 2026-03-08  5:58 ` Allison Henderson
  2026-03-11  1:53 ` [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Jakub Kicinski
  2026-03-11  2:00 ` patchwork-bot+netdevbpf
  4 siblings, 0 replies; 9+ messages in thread
From: Allison Henderson @ 2026-03-08  5:58 UTC (permalink / raw)
  To: netdev
  Cc: linux-kselftest, pabeni, edumazet, rds-devel, kuba, horms,
	linux-rdma, allison.henderson

net/rds/test.py sees a segfault in tcpdump when executed through the
ksft runner.

[   21.903713] tcpdump[1469]: segfault at 0 ip 000072100e99126d
sp 00007ffccf740fd0 error 4
[   21.903721]  in libc.so.6[16a26d,7798b149a000+188000]
[   21.905074]  in libc.so.6[16a26d,72100e84f000+188000] likely on
CPU 5 (core 5, socket 0)
[   21.905084] Code: 00 0f 85 a0 00 00 00 48 83 c4 38 89 d8 5b 41 5c
41 5d 41 5e 41 5f 5d c3 0f 1f 44 00 00 48 8b 05 91 8b 09 00 8b 4d ac
64 89 08 <41> 0f b6 07 83 e8 2b a8 fd 0f 84 54 ff ff ff 49 8b 36 4c 89
ff e8
[   21.906760]  likely on CPU 9 (core 9, socket 0)
[   21.913469] Code: 00 0f 85 a0 00 00 00 48 83 c4 38 89 d8 5b 41 5c 41
5d 41 5e 41 5f 5d c3 0f 1f 44 00 00 48 8b 05 91 8b 09 00 8b 4d ac 64 89
08 <41> 0f b6 07 83 e8 2b a8 fd 0f 84 54 ff ff ff 49 8b 36 4c 89 ff e8

The os.fork() call creates extra complexity because it forks the entire
process including the python interpreter.  ip() then calls cmd() which
creates a subprocess.Popen.  We can avoid the extra layering by simply
calling subprocess.Popen directly. Track the process handles directly
and terminate them at cleanup rather than relying on killall. Further
tcpdump's -Z flag attempts to change savefile ownership, which is not
supported by the 9p protocol.  Fix this by writing pcap captures to
"/tmp" during the test and move them to the log directory after tcpdump
exits.

Signed-off-by: Allison Henderson <achender@kernel.org>
---
 tools/testing/selftests/net/rds/test.py | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/net/rds/test.py b/tools/testing/selftests/net/rds/test.py
index 8256afe6ad6f..93e23e8b256c 100755
--- a/tools/testing/selftests/net/rds/test.py
+++ b/tools/testing/selftests/net/rds/test.py
@@ -11,8 +11,8 @@ import signal
 import socket
 import subprocess
 import sys
-from pwd import getpwuid
-from os import stat
+import tempfile
+import shutil
 
 # Allow utils module to be imported from different directory
 this_dir = os.path.dirname(os.path.realpath(__file__))
@@ -125,14 +125,14 @@ ip(f"-n {NET1} route add {addrs[0][0]}/32 dev {VETH1}")
 ip(f"netns exec {NET0} ping -c 1 {addrs[1][0]}")
 
 # Start a packet capture on each network
+tcpdump_procs = []
 for net in [NET0, NET1]:
-    tcpdump_pid = os.fork()
-    if tcpdump_pid == 0:
-        pcap = logdir+'/'+net+'.pcap'
-        subprocess.check_call(['touch', pcap])
-        user = getpwuid(stat(pcap).st_uid).pw_name
-        ip(f"netns exec {net} /usr/sbin/tcpdump -Z {user} -i any -w {pcap}")
-        sys.exit(0)
+    pcap = logdir+'/'+net+'.pcap'
+    fd, pcap_tmp = tempfile.mkstemp(suffix=".pcap", prefix=f"{net}-", dir="/tmp")
+    p = subprocess.Popen(
+        ['ip', 'netns', 'exec', net,
+         '/usr/sbin/tcpdump', '-i', 'any', '-w', pcap_tmp])
+    tcpdump_procs.append((p, pcap_tmp, pcap, fd))
 
 # simulate packet loss, duplication and corruption
 for net, iface in [(NET0, VETH0), (NET1, VETH1)]:
@@ -248,7 +248,11 @@ for s in sockets:
 print(f"getsockopt(): {nr_success}/{nr_error}")
 
 print("Stopping network packet captures")
-subprocess.check_call(['killall', '-q', 'tcpdump'])
+for p, pcap_tmp, pcap, fd in tcpdump_procs:
+    p.terminate()
+    p.wait()
+    os.close(fd)
+    shutil.move(pcap_tmp, pcap)
 
 # We're done sending and receiving stuff, now let's check if what
 # we received is what we sent.
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next v1 0/3] selftests: rds: ksft cleanups
  2026-03-08  5:58 [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Allison Henderson
                   ` (2 preceding siblings ...)
  2026-03-08  5:58 ` [PATCH net-next v1 3/3] selftests: rds: Fix tcpdump segfault in rds selftests Allison Henderson
@ 2026-03-11  1:53 ` Jakub Kicinski
  2026-03-11  4:56   ` Allison Henderson
  2026-03-11  2:00 ` patchwork-bot+netdevbpf
  4 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2026-03-11  1:53 UTC (permalink / raw)
  To: Allison Henderson
  Cc: netdev, linux-kselftest, pabeni, edumazet, rds-devel, horms,
	linux-rdma, allison.henderson

On Sat,  7 Mar 2026 22:58:32 -0700 Allison Henderson wrote:
> This set addresses a few rds selftests clean ups and bugs encountered
> when running in the ksft framework.  The first patch is a clean up
> patch that addresses pylint warnings, but otherwise no functional
> changes.  The next patch moves the test time out to a ksft settings
> file so that the time out is set appropriately.  And lastly we fix a
> tcpdump segfault caused by deprecated a os.fork() call.

Looks good! So this is enough to make ksft work? Or just the first
batch of obvious fixes? :)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next v1 0/3] selftests: rds: ksft cleanups
  2026-03-08  5:58 [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Allison Henderson
                   ` (3 preceding siblings ...)
  2026-03-11  1:53 ` [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Jakub Kicinski
@ 2026-03-11  2:00 ` patchwork-bot+netdevbpf
  4 siblings, 0 replies; 9+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-03-11  2:00 UTC (permalink / raw)
  To: Allison Henderson
  Cc: netdev, linux-kselftest, pabeni, edumazet, rds-devel, kuba, horms,
	linux-rdma, allison.henderson

Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Sat,  7 Mar 2026 22:58:32 -0700 you wrote:
> Hi all,
> 
> This set addresses a few rds selftests clean ups and bugs encountered
> when running in the ksft framework.  The first patch is a clean up
> patch that addresses pylint warnings, but otherwise no functional
> changes.  The next patch moves the test time out to a ksft settings
> file so that the time out is set appropriately.  And lastly we fix a
> tcpdump segfault caused by deprecated a os.fork() call.
> 
> [...]

Here is the summary with links:
  - [net-next,v1,1/3] selftests: rds: Fix pylint warnings
    https://git.kernel.org/netdev/net-next/c/5a0c5702bd00
  - [net-next,v1,2/3] selftests: rds: Add ksft timeout
    https://git.kernel.org/netdev/net-next/c/b873b4e16042
  - [net-next,v1,3/3] selftests: rds: Fix tcpdump segfault in rds selftests
    https://git.kernel.org/netdev/net-next/c/87fdf57ded3d

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next v1 0/3] selftests: rds: ksft cleanups
  2026-03-11  1:53 ` [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Jakub Kicinski
@ 2026-03-11  4:56   ` Allison Henderson
  2026-03-12  0:05     ` Jakub Kicinski
  0 siblings, 1 reply; 9+ messages in thread
From: Allison Henderson @ 2026-03-11  4:56 UTC (permalink / raw)
  To: kuba@kernel.org, achender@kernel.org
  Cc: linux-rdma@vger.kernel.org, rds-devel@oss.oracle.com,
	horms@kernel.org, edumazet@google.com, netdev@vger.kernel.org,
	linux-kselftest@vger.kernel.org, pabeni@redhat.com

On Tue, 2026-03-10 at 18:53 -0700, Jakub Kicinski wrote:
> On Sat,  7 Mar 2026 22:58:32 -0700 Allison Henderson wrote:
> > This set addresses a few rds selftests clean ups and bugs encountered
> > when running in the ksft framework.  The first patch is a clean up
> > patch that addresses pylint warnings, but otherwise no functional
> > changes.  The next patch moves the test time out to a ksft settings
> > file so that the time out is set appropriately.  And lastly we fix a
> > tcpdump segfault caused by deprecated a os.fork() call.
> 
> Looks good! So this is enough to make ksft work? Or just the first
> batch of obvious fixes? :)

Those were all the ksft bugs I encountered on my end.  Let me know if you run into any trouble with it.

Thank you!
Allison


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next v1 0/3] selftests: rds: ksft cleanups
  2026-03-11  4:56   ` Allison Henderson
@ 2026-03-12  0:05     ` Jakub Kicinski
  2026-03-16  0:55       ` Jakub Kicinski
  0 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2026-03-12  0:05 UTC (permalink / raw)
  To: Allison Henderson
  Cc: achender@kernel.org, linux-rdma@vger.kernel.org,
	rds-devel@oss.oracle.com, horms@kernel.org, edumazet@google.com,
	netdev@vger.kernel.org, linux-kselftest@vger.kernel.org,
	pabeni@redhat.com

On Wed, 11 Mar 2026 04:56:59 +0000 Allison Henderson wrote:
> On Tue, 2026-03-10 at 18:53 -0700, Jakub Kicinski wrote:
> > On Sat,  7 Mar 2026 22:58:32 -0700 Allison Henderson wrote:  
> > > This set addresses a few rds selftests clean ups and bugs encountered
> > > when running in the ksft framework.  The first patch is a clean up
> > > patch that addresses pylint warnings, but otherwise no functional
> > > changes.  The next patch moves the test time out to a ksft settings
> > > file so that the time out is set appropriately.  And lastly we fix a
> > > tcpdump segfault caused by deprecated a os.fork() call.  
> > 
> > Looks good! So this is enough to make ksft work? Or just the first
> > batch of obvious fixes? :)  
> 
> Those were all the ksft bugs I encountered on my end.  Let me know if
> you run into any trouble with it.

SG! I'll retry over the weekend

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net-next v1 0/3] selftests: rds: ksft cleanups
  2026-03-12  0:05     ` Jakub Kicinski
@ 2026-03-16  0:55       ` Jakub Kicinski
  0 siblings, 0 replies; 9+ messages in thread
From: Jakub Kicinski @ 2026-03-16  0:55 UTC (permalink / raw)
  To: Allison Henderson
  Cc: achender@kernel.org, linux-rdma@vger.kernel.org,
	rds-devel@oss.oracle.com, horms@kernel.org, edumazet@google.com,
	netdev@vger.kernel.org, linux-kselftest@vger.kernel.org,
	pabeni@redhat.com

On Wed, 11 Mar 2026 17:05:57 -0700 Jakub Kicinski wrote:
> > > Looks good! So this is enough to make ksft work? Or just the first
> > > batch of obvious fixes? :)    
> > 
> > Those were all the ksft bugs I encountered on my end.  Let me know if
> > you run into any trouble with it.  
> 
> SG! I'll retry over the weekend

Didn't get far. We're missing a config file. TAL at other targets
there has to be a config file listing all the dependencies.
We're building a minimal config for the tests.

I think I already linked but FWIW:
https://github.com/linux-netdev/nipa/wiki/How-to-run-netdev-selftests-CI-style

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-03-16  0:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-08  5:58 [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Allison Henderson
2026-03-08  5:58 ` [PATCH net-next v1 1/3] selftests: rds: Fix pylint warnings Allison Henderson
2026-03-08  5:58 ` [PATCH net-next v1 2/3] selftests: rds: Add ksft timeout Allison Henderson
2026-03-08  5:58 ` [PATCH net-next v1 3/3] selftests: rds: Fix tcpdump segfault in rds selftests Allison Henderson
2026-03-11  1:53 ` [PATCH net-next v1 0/3] selftests: rds: ksft cleanups Jakub Kicinski
2026-03-11  4:56   ` Allison Henderson
2026-03-12  0:05     ` Jakub Kicinski
2026-03-16  0:55       ` Jakub Kicinski
2026-03-11  2:00 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox