From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by passt.top (Postfix) with ESMTPS id 73B9D5A004F for ; Thu, 04 Jul 2024 06:58:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202312; t=1720069127; bh=hGWt7AGSpt5qr6rwVpY6HmWFdnreBgzugCwkS/Ss8xQ=; h=From:To:Cc:Subject:Date:From; b=MlYpWyrhe26mDIdrsU85EylI2RPYpbvizxqQK3uPxA6l41a87oMzr8xjlSWsGJttq d1nuqnDaC8sg6qlHPxXJJd464GfKp0BaV2ODCADvXRb0cS2TmRjo/DG1t4zawF9tYk qaOpKHin0sQk2iAJmUDV+fXCQHp2VjjuMllG4S3fnFoh4nicx/noknWTorX5D6su6k AQHQB30CR+/ErKRAETX/GKssXQL6B3w3nRk6M9Zzep3ZdcJi67PaR0gWQDuE6P4qNE AnX6JeGVU8q9496Wvuoh10ZsH/oqVbUGRxaRNd2vLgTDf44NqJgb5BU6DuUwCSdi7A u8y0uFnwa2lFQ== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4WF4DR3FGfz4wnx; Thu, 4 Jul 2024 14:58:47 +1000 (AEST) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Subject: [PATCH 00/11] Preliminaries for UDP flow support Date: Thu, 4 Jul 2024 14:58:24 +1000 Message-ID: <20240704045835.1149746-1-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.45.2 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: 6VTDH4EPZXZCR7U7AN65AAHW4PMEXXPX X-Message-ID-Hash: 6VTDH4EPZXZCR7U7AN65AAHW4PMEXXPX 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: 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: The redesign of UDP flows required (or at least, suggested) a new batch of prelininary changes that don't rely on the core of the flow table rework. David Gibson (11): util: sock_l4() determine protocol from epoll type rather than the reverse flow: Add flow_sidx_valid() helper udp: Pass full epoll reference through more of sock handler path udp: Rename IOV and mmsghdr arrays udp: Unify udp[46]_mh_splice udp: Unify udp[46]_l2_iov udp: Don't repeatedly initialise udp[46]_eth_hdr udp: Move some more of sock_handler tasks into sub-functions udp: Consolidate datagram batching contrib: Add program to document and test assumptions about SO_REUSEADDR contrib: Test behaviour of zero length datagram recv()s contrib/udp-behaviour/.gitignore | 2 + contrib/udp-behaviour/Makefile | 45 +++ contrib/udp-behaviour/common.c | 66 ++++ contrib/udp-behaviour/common.h | 47 +++ contrib/udp-behaviour/recv-zero.c | 74 +++++ contrib/udp-behaviour/reuseaddr-priority.c | 240 ++++++++++++++ epoll_type.h | 41 +++ flow.h | 11 + flow_table.h | 2 +- icmp.c | 2 +- passt.h | 32 -- tcp.c | 17 +- udp.c | 361 ++++++++++----------- util.c | 48 +-- util.h | 3 +- 15 files changed, 735 insertions(+), 256 deletions(-) create mode 100644 contrib/udp-behaviour/.gitignore create mode 100644 contrib/udp-behaviour/Makefile create mode 100644 contrib/udp-behaviour/common.c create mode 100644 contrib/udp-behaviour/common.h create mode 100644 contrib/udp-behaviour/recv-zero.c create mode 100644 contrib/udp-behaviour/reuseaddr-priority.c create mode 100644 epoll_type.h -- 2.45.2