From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 966FF5A005A for ; Fri, 14 Jun 2024 08:13:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202312; t=1718345632; bh=T4rRgXzc3QU9f5Xc8yzW+fZbPmXHL4cwqFnAfGaykn0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bMMUxYkg/aVQfI8XgTqJLWvPGFeXHMiwP1mWLKMGDN6WBJqlnu2MfPn8ticrKr78Y EEnZgxFNJ8zoE6cHYJGkoxJJPclL4jKOFXvBGmxlCjExMeo0C6euwry85l+ylQAeqv 4A9G6MFgSaRCE7PeU7QVBB99bsKdiIJM207uDa9jc2NDQoiHumxnBeyGWV/OgJqu3L Z84PjQ5p3p/f+jS9Uo5FIqubtzY6aTd8Kh20FdME0tfJm1Y0QIGF0FUhjYq2qLnuSt GxZT4Rj5MnH9XDlICRW0TCK0hloEvaHuEg6WiDPEJM9CrOBKAZKjibuPGJzruQ4snC DbVsG1jnbZctw== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4W0prJ1SGHz4wx5; Fri, 14 Jun 2024 16:13:52 +1000 (AEST) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Subject: [PATCH v6 07/26] tcp_splice: Eliminate SPLICE_V6 flag Date: Fri, 14 Jun 2024 16:13:29 +1000 Message-ID: <20240614061348.3814736-8-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240614061348.3814736-1-david@gibson.dropbear.id.au> References: <20240614061348.3814736-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: AWVCMLTQVUVQEKEPIUJKUEODU7GVHR2E X-Message-ID-Hash: AWVCMLTQVUVQEKEPIUJKUEODU7GVHR2E X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: jmaloy@redhat.com, David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Since we're now constructing socket addresses based on information in the flowside, we no longer need an explicit flag to tell if we're dealing with an IPv4 or IPv6 connection. Hence, drop the now unused SPLICE_V6 flag. As well as just simplifying the code, this allows for possible future extensions where we could splice an IPv4 connection to an IPv6 connection or vice versa. Signed-off-by: David Gibson --- tcp_conn.h | 11 +++++------ tcp_splice.c | 3 --- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/tcp_conn.h b/tcp_conn.h index b741ce32..08d58d6e 100644 --- a/tcp_conn.h +++ b/tcp_conn.h @@ -128,12 +128,11 @@ struct tcp_splice_conn { #define FIN_SENT_1 BIT(7) uint8_t flags; -#define SPLICE_V6 BIT(0) -#define RCVLOWAT_SET_0 BIT(1) -#define RCVLOWAT_SET_1 BIT(2) -#define RCVLOWAT_ACT_0 BIT(3) -#define RCVLOWAT_ACT_1 BIT(4) -#define CLOSING BIT(5) +#define RCVLOWAT_SET_0 BIT(0) +#define RCVLOWAT_SET_1 BIT(1) +#define RCVLOWAT_ACT_0 BIT(2) +#define RCVLOWAT_ACT_1 BIT(3) +#define CLOSING BIT(4) bool in_epoll :1; }; diff --git a/tcp_splice.c b/tcp_splice.c index bcb42c97..d829d753 100644 --- a/tcp_splice.c +++ b/tcp_splice.c @@ -73,8 +73,6 @@ static int ns_sock_pool6 [TCP_SOCK_POOL_SIZE]; /* Pool of pre-opened pipes */ static int splice_pipe_pool [TCP_SPLICE_PIPE_POOL_SIZE][2]; -#define CONN_V6(x) ((x)->flags & SPLICE_V6) -#define CONN_V4(x) (!CONN_V6(x)) #define CONN_HAS(conn, set) (((conn)->events & (set)) == (set)) #define CONN(idx) (&FLOW(idx)->tcp_splice) @@ -463,7 +461,6 @@ bool tcp_splice_conn_from_sock(const struct ctx *c, NULL, 0, &in6addr_loopback, dstport); conn = FLOW_SET_TYPE(flow, FLOW_TCP_SPLICE, tcp_splice); - conn->flags = af == AF_INET ? 0 : SPLICE_V6; conn->s[0] = s0; conn->s[1] = -1; conn->pipe[0][0] = conn->pipe[0][1] = -1; -- 2.45.2