[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <l2ng7ukyxj5ykzznogyescuufalhfvx2cvrykpht6gqyjrfoy3@ib6dag5o2qik>
Date: Mon, 6 Nov 2023 11:47:34 +0100
From: Stefano Garzarella <sgarzare@...hat.com>
To: f.storniolo95@...il.com
Cc: luigi.leonardi@...look.com, kvm@...r.kernel.org, davem@...emloft.net,
edumazet@...gle.com, mst@...hat.com, imbrenda@...ux.vnet.ibm.com, kuba@...nel.org,
asias@...hat.com, stefanha@...hat.com, pabeni@...hat.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH net 3/4] test/vsock: refactor vsock_accept
On Fri, Nov 03, 2023 at 06:55:50PM +0100, f.storniolo95@...il.com wrote:
>From: Filippo Storniolo <f.storniolo95@...il.com>
>
>This is a preliminary patch to introduce SOCK_STREAM bind connect test.
>vsock_accept() is split into vsock_listen() and vsock_accept().
>
>Co-developed-by: Luigi Leonardi <luigi.leonardi@...look.com>
>Signed-off-by: Luigi Leonardi <luigi.leonardi@...look.com>
>Signed-off-by: Filippo Storniolo <f.storniolo95@...il.com>
>---
> tools/testing/vsock/util.c | 32 ++++++++++++++++++++------------
> 1 file changed, 20 insertions(+), 12 deletions(-)
LGTM!
Reviewed-by: Stefano Garzarella <sgarzare@...hat.com>
>
>diff --git a/tools/testing/vsock/util.c b/tools/testing/vsock/util.c
>index 698b0b44a2ee..2fc96f29bdf2 100644
>--- a/tools/testing/vsock/util.c
>+++ b/tools/testing/vsock/util.c
>@@ -136,11 +136,8 @@ int vsock_seqpacket_connect(unsigned int cid, unsigned int port)
> return vsock_connect(cid, port, SOCK_SEQPACKET);
> }
>
>-/* Listen on <cid, port> and return the first incoming connection. The remote
>- * address is stored to clientaddrp. clientaddrp may be NULL.
>- */
>-static int vsock_accept(unsigned int cid, unsigned int port,
>- struct sockaddr_vm *clientaddrp, int type)
>+/* Listen on <cid, port> and return the file descriptor. */
>+static int vsock_listen(unsigned int cid, unsigned int port, int type)
> {
> union {
> struct sockaddr sa;
>@@ -152,14 +149,7 @@ static int vsock_accept(unsigned int cid, unsigned int port,
> .svm_cid = cid,
> },
> };
>- union {
>- struct sockaddr sa;
>- struct sockaddr_vm svm;
>- } clientaddr;
>- socklen_t clientaddr_len = sizeof(clientaddr.svm);
> int fd;
>- int client_fd;
>- int old_errno;
>
> fd = socket(AF_VSOCK, type, 0);
> if (fd < 0) {
>@@ -177,6 +167,24 @@ static int vsock_accept(unsigned int cid, unsigned int port,
> exit(EXIT_FAILURE);
> }
>
>+ return fd;
>+}
>+
>+/* Listen on <cid, port> and return the first incoming connection. The remote
>+ * address is stored to clientaddrp. clientaddrp may be NULL.
>+ */
>+static int vsock_accept(unsigned int cid, unsigned int port,
>+ struct sockaddr_vm *clientaddrp, int type)
>+{
>+ union {
>+ struct sockaddr sa;
>+ struct sockaddr_vm svm;
>+ } clientaddr;
>+ socklen_t clientaddr_len = sizeof(clientaddr.svm);
>+ int fd, client_fd, old_errno;
>+
>+ fd = vsock_listen(cid, port, type);
>+
> control_writeln("LISTENING");
>
> timeout_begin(TIMEOUT);
>--
>2.41.0
>
Powered by blists - more mailing lists