From: "Daniel Zahka" <daniel.zahka@gmail.com>
To: "Daniel Zahka" <daniel.zahka@gmail.com>,
"Wei Wang" <weiwan@google.com>,
"David S . Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"Shuah Khan" <shuah@kernel.org>
Cc: "Simon Horman" <horms@kernel.org>,
"Jakub Sitnicki" <jakub@cloudflare.com>,
"Willem de Bruijn" <willemb@google.com>, <netdev@vger.kernel.org>,
<linux-kselftest@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<bpf@vger.kernel.org>
Subject: Re: [PATCH net v3 2/2] selftests/net: psp: test bidirectional data transfer
Date: Fri, 06 Nov 2026 13:57:58 -0500 [thread overview]
Message-ID: <DMOCWJTNK6BR.3AS3IC9QSWXTE@gmail.com> (raw)
In-Reply-To: <DMOCEM7IQVOS.I2QH7FT8FT8S@gmail.com>
On Fri Nov 6, 2026 at 1:34 PM EST, Daniel Zahka wrote:
> On Fri Nov 6, 2026 at 1:20 PM EST, Wei Wang wrote:
>> _data_basic_send() and _data_basic_send_netkit_psp_assoc() currently
>> only verify unidirectional data transmission from the test socket to
>> psp_responder. As a result, they do not exercise the receive path for
>> PSP-encrypted TCP data segments arriving at the test socket (such as
>> packets redirected across a netkit interface associated via dev-assoc,
>> which relies on SKB_EXT_PSP surviving packet scrubbing).
>>
>> Use the existing "data echo" command in psp_responder to verify that the
>> test socket can also receive PSP-encrypted data from the peer in both
>> _data_basic_send() and _data_basic_send_netkit_psp_assoc().
>>
>> Signed-off-by: Wei Wang <weiwan@google.com>
>
> Reviewed-by: Daniel Zahka <daniel.zahka@gmail.com>
>
>> ---
>> tools/testing/selftests/drivers/net/psp.py | 22 ++++++++++++++++++++++
>> 1 file changed, 22 insertions(+)
>>
>> diff --git a/tools/testing/selftests/drivers/net/psp.py b/tools/testing/selftests/drivers/net/psp.py
>> index 473500901879..c114d2245135 100755
>> --- a/tools/testing/selftests/drivers/net/psp.py
>> +++ b/tools/testing/selftests/drivers/net/psp.py
>> @@ -120,6 +120,26 @@ def _check_data_rx(cfg, exp_len):
>> ksft_eq(read_len, exp_len)
>>
>>
>> +def _recv_careful(s, target, timeout=2):
>> + """Read exactly target bytes, tolerating short reads"""
>> + data = b''
>> + end = time.monotonic() + timeout
>> + while time.monotonic() < end:
>> + try:
>> + data += s.recv(target - len(data), socket.MSG_DONTWAIT)
>> + if len(data) == target:
>> + return data
>> + except BlockingIOError:
>> + time.sleep(0.001)
>> + raise KsftFailEx(f"short read, got {len(data)} of {target} bytes")
>> +
>> +
>> +def _req_echo(cfg, s):
>> + """Ask the peer to echo, and check the reply arrives intact"""
>> + _send_with_ack(cfg, b'data echo\0')
>> + ksft_eq(_recv_careful(s, 5), b'echo\0')
>> +
>> +
>> def _check_data_outq(s, exp_len, force_wait=False):
>> outq = 0
>> for _ in range(10):
>> @@ -478,6 +498,7 @@ def _data_basic_send(cfg, version, ipver):
>>
>> data_len = _send_careful(cfg, s, 100)
>> _check_data_rx(cfg, data_len)
>> + _req_echo(cfg, s)
>> _close_psp_conn(cfg, s)
>>
>>
>> @@ -726,6 +747,7 @@ def _data_basic_send_netkit_psp_assoc(cfg, version, ipver):
>>
>> data_len = _send_careful(cfg, sock, 100)
>> _check_data_rx(cfg, data_len)
>> + _req_echo(cfg, sock)
>> _close_psp_conn(cfg, sock)
>>
>>
It occurs to me now that we could have just changed the key exchange
protocol used here to have a psp encrypted "start of psp" message that
each side sends and blocks waiting to receive like psp.rst suggests. Not
worth respinning, but maybe a future cleanup worth doing.
next prev parent reply other threads:[~2026-11-06 18:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 18:20 [PATCH net v3 0/2] net: psp: preserve SKB_EXT_PSP across packet scrubbing Wei Wang
2026-11-06 18:20 ` [PATCH net v3 1/2] net: Make PSP skb extension survive " Wei Wang
2026-11-07 18:23 ` netdev-bot+sashiko
2026-11-06 18:20 ` [PATCH net v3 2/2] selftests/net: psp: test bidirectional data transfer Wei Wang
2026-11-06 18:34 ` Daniel Zahka
2026-11-06 18:57 ` Daniel Zahka [this message]
2026-11-07 18:23 ` netdev-bot+sashiko
2026-11-12 16:20 ` [PATCH net v3 0/2] net: psp: preserve SKB_EXT_PSP across packet scrubbing patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DMOCWJTNK6BR.3AS3IC9QSWXTE@gmail.com \
--to=daniel.zahka@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=bpf@vger.kernel.org \
--cc=davem@davemloft.net \
--cc=horms@kernel.org \
--cc=jakub@cloudflare.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=shuah@kernel.org \
--cc=weiwan@google.com \
--cc=willemb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.