From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 062A05A026F for ; Thu, 23 Nov 2023 03:36:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=201602; t=1700706991; bh=4NXvvBV4Z2yfsP1Agu5kfeNl5gGKIY0qjHJVD42yVdU=; h=From:To:Cc:Subject:Date:From; b=Abs79VVkctmQ3RKfsAggwprCQi8FeuHYs4C54yp7HNEFYnVoiYcrGPqdALb6ev0Gh vSQ1j72ei56blnA1UxcULd1BA2GrW4SMSz4aW073rE/hStJgC/uOBer8z0WA5/mQlQ v+2g40r2Kzjn3BxcGF83bEbDFsJg+aGPPgWFutGc= Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4SbMgg65pcz4xQZ; Thu, 23 Nov 2023 13:36:31 +1100 (AEDT) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Subject: [PATCH 0/6] Introduce unified flow table, first steps Date: Thu, 23 Nov 2023 13:36:23 +1100 Message-ID: <20231123023629.2024938-1-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.42.0 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: 2B4TX6YVG7NCWHEEQI24VBMILOEJGQGD X-Message-ID-Hash: 2B4TX6YVG7NCWHEEQI24VBMILOEJGQGD 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: Here's my latest revision of some of the basics of the flow table. So far it's basically just a renaming of the existing TCP connection table. It's used for some new logging helpers, but otherwise doesn't really function any differently. However, this subset of the flow table work no longer bloats flow/connection entries over a single cache line. That removes the most prominent drawback of earlier revisions, meaning I think this series is ready for merge now. Doing so will mean the later series making more substantive changes to the flow behaviour are simpler. David Gibson (6): test: Make handling of shell prompts with escapes a little more reliable flow, tcp: Generalise connection types flow, tcp: Move TCP connection table to unified flow table flow, tcp: Consolidate flow pointer<->index helpers flow: Make unified version of flow table compaction flow, tcp: Add logging helpers for connection related messages Makefile | 14 +-- flow.c | 87 +++++++++++++++++++ flow.h | 60 +++++++++++++ flow_table.h | 45 ++++++++++ passt.h | 3 + tcp.c | 232 +++++++++++++++++++++++--------------------------- tcp.h | 5 -- tcp_conn.h | 46 +++------- tcp_splice.c | 88 +++++++++---------- test/lib/term | 6 +- 10 files changed, 361 insertions(+), 225 deletions(-) create mode 100644 flow.c create mode 100644 flow.h create mode 100644 flow_table.h -- 2.42.0