Cosmin Ratiu
d308312acd
tests/ncdevmem: Fix double-free of queue array
...
[ Upstream commit 97c4e094a4 ]
netdev_bind_rx takes ownership of the queue array passed as parameter
and frees it, so a queue array buffer cannot be reused across multiple
netdev_bind_rx calls.
This commit fixes that by always passing in a newly created queue array
to all netdev_bind_rx calls in ncdevmem.
Fixes: 85585b4bc8 ("selftests: add ncdevmem, netcat for devmem TCP")
Signed-off-by: Cosmin Ratiu <cratiu@nvidia.com >
Acked-by: Stanislav Fomichev <sdf@fomichev.me >
Reviewed-by: Joe Damato <jdamato@fastly.com >
Reviewed-by: Mina Almasry <almasrymina@google.com >
Link: https://patch.msgid.link/20250508084434.1933069-1-cratiu@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-05-22 14:29:40 +02:00
Stanislav Fomichev
38c937dbd4
selftests: ncdevmem: Switch to AF_INET6
...
[ Upstream commit 933056357a ]
Use dualstack socket to support both v4 and v6. v4-mapped-v6 address
can be used to do v4.
Reviewed-by: Mina Almasry <almasrymina@google.com >
Reviewed-by: Joe Damato <jdamato@fastly.com >
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me >
Link: https://patch.msgid.link/20241107181211.3934153-7-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Stable-dep-of: 97c4e094a4 ("tests/ncdevmem: Fix double-free of queue array")
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-05-22 14:29:40 +02:00
Stanislav Fomichev
04db681f3c
selftests: ncdevmem: Make client_ip optional
...
[ Upstream commit 0ebd75f5f2 ]
Support 3-tuple filtering by making client_ip optional. When -c is
not passed, don't specify src-ip/src-port in the filter.
Reviewed-by: Mina Almasry <almasrymina@google.com >
Reviewed-by: Joe Damato <jdamato@fastly.com >
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me >
Link: https://patch.msgid.link/20241107181211.3934153-5-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Stable-dep-of: 97c4e094a4 ("tests/ncdevmem: Fix double-free of queue array")
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-05-22 14:29:40 +02:00
Stanislav Fomichev
0738648a7d
selftests: ncdevmem: Unify error handling
...
[ Upstream commit bfccbaac1b ]
There is a bunch of places where error() calls look out of place.
Use the same error(1, errno, ...) pattern everywhere.
Reviewed-by: Mina Almasry <almasrymina@google.com >
Reviewed-by: Joe Damato <jdamato@fastly.com >
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me >
Link: https://patch.msgid.link/20241107181211.3934153-4-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Stable-dep-of: 97c4e094a4 ("tests/ncdevmem: Fix double-free of queue array")
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-05-22 14:29:40 +02:00
Stanislav Fomichev
eb15f4f380
selftests: ncdevmem: Separate out dmabuf provider
...
[ Upstream commit 8b9049af80 ]
So we can plug the other ones in the future if needed.
Reviewed-by: Mina Almasry <almasrymina@google.com >
Reviewed-by: Joe Damato <jdamato@fastly.com >
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me >
Link: https://patch.msgid.link/20241107181211.3934153-3-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Stable-dep-of: 97c4e094a4 ("tests/ncdevmem: Fix double-free of queue array")
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-05-22 14:29:40 +02:00
Stanislav Fomichev
f3380d119f
selftests: ncdevmem: Redirect all non-payload output to stderr
...
[ Upstream commit 6891f0b523 ]
That should make it possible to do expected payload validation on
the caller side.
Reviewed-by: Mina Almasry <almasrymina@google.com >
Reviewed-by: Joe Damato <jdamato@fastly.com >
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me >
Link: https://patch.msgid.link/20241107181211.3934153-2-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Stable-dep-of: 97c4e094a4 ("tests/ncdevmem: Fix double-free of queue array")
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-05-22 14:29:39 +02:00
Mina Almasry
85585b4bc8
selftests: add ncdevmem, netcat for devmem TCP
...
ncdevmem is a devmem TCP netcat. It works similarly to netcat, but it
sends and receives data using the devmem TCP APIs. It uses udmabuf as
the dmabuf provider. It is compatible with a regular netcat running on
a peer, or a ncdevmem running on a peer.
In addition to normal netcat support, ncdevmem has a validation mode,
where it sends a specific pattern and validates this pattern on the
receiver side to ensure data integrity.
Suggested-by: Stanislav Fomichev <sdf@fomichev.me >
Signed-off-by: Mina Almasry <almasrymina@google.com >
Link: https://patch.msgid.link/20240910171458.219195-13-almasrymina@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2024-09-11 20:44:32 -07:00