From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from imap.gmail.com [173.194.76.109] by localhost with POP3 (fetchmail-6.3.26) for (single-drop); Tue, 21 May 2024 07:57:38 +0200 (CEST) Received: by 2002:a05:6a10:9148:b0:55f:c3c0:ed08 with SMTP id n8csp851864pxb; Mon, 20 May 2024 22:57:18 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXBgpx+a5cnFxt2JnNl620r4p6ZGAadGA/aJP36UzfrUetWT2O8WITVIP66lVbcCv0cvYBrJBNw+d/Dw/qlmwEoObvV5SWGcvA= X-Google-Smtp-Source: AGHT+IEXYEmZVXoWJhoyvHdKU3KAU71xwuRVScUnJCtGK5lpX/k7eCscBlp5gunp+hzv/ft4DCxL X-Received: by 2002:a05:620a:2805:b0:793:f24:c37e with SMTP id af79cd13be357-7930f24c383mr1522685085a.46.1716271038617; Mon, 20 May 2024 22:57:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716271038; cv=none; d=google.com; s=arc-20160816; b=SNgZHolxLg/qYJYB1nGD89W2/db9xZOYUIshDbZruzzaIxiLCa2U2z04tTrMiwHy35 MJSE0rko+OBk9s7hkJBNkP9nTM8/1OOIbexUYXUTHnDSkR7ePa0VABpjoAjSp01SiU9z qv4t/g0E1nUhnohlJGy2TR4sJfP47C+uMJrXMohCXB/40MV21mEuE1CVqy3+sGu3fami qik59V8p9zey9rl9tsziz9xjvRrZcmSWzgHZ8wTr7Frwupvb6UTW/33mNL2yBgYGzCmo n2oFxHXC6WrndDe00ooIGRLEOtnM1gR6tqsS9cD2bQOw33l3WUhbEAA4d54ZuWQKFk+J x+Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:delivered-to; bh=IV02vyHWaPf6jlE4TZ1TRh3THtYP29cGe5IvCzB/lwM=; fh=OvZxoe0l5OQEr5hiks2YsWDyoZfSCuw/Wl/AnSjLRjU=; b=ffEHpLPl/1EF/PuHLH/4y+5Z6+udqAiHVWJDzJ0oa2Ms3YKLWf23cKeSmlvy/vbqDm 151mxFFwAl6/2nGpZFOokaXDa0sgXNjx2B9C4LgoFnMeQjJqaZEhW6ip1Owl4Er4bDGf H3kjPEs8hK1f4QkXJf09uyucUwzCB+mNRM0LzPnApeqCQ8PLBsOffVWIYN5lTxwwpLpe UFqNYiS3nP9KGEA8SZHjsp570vW/we/C+PzrC99e9TYLF656ny3rwYEXhIj8ojb07gUp lh7m0vIOOGmdJi67kl7kUjt9v4Ore9wH+n3nLbWHaOnhlvsMA6m6AnT+twyKhIHfSjdW FM2A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of dgibson@gandalf.ozlabs.org designates 150.107.74.76 as permitted sender) smtp.mailfrom=dgibson@gandalf.ozlabs.org Return-Path: Received: from us-smtp-inbound-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com. [205.139.110.120]) by mx.google.com with ESMTPS id af79cd13be357-792e8c40699si1719323185a.751.2024.05.20.22.57.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 May 2024 22:57:18 -0700 (PDT) Received-SPF: pass (google.com: domain of dgibson@gandalf.ozlabs.org designates 150.107.74.76 as permitted sender) client-ip=150.107.74.76; Authentication-Results: mx.google.com; spf=pass (google.com: domain of dgibson@gandalf.ozlabs.org designates 150.107.74.76 as permitted sender) smtp.mailfrom=dgibson@gandalf.ozlabs.org Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-16-VwuHtXYMNjekhF0AvB6KJg-1; Tue, 21 May 2024 01:57:16 -0400 X-MC-Unique: VwuHtXYMNjekhF0AvB6KJg-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6EE89800281 for ; Tue, 21 May 2024 05:57:16 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 6B439200A35C; Tue, 21 May 2024 05:57:16 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 330D9200A78F for ; Tue, 21 May 2024 05:57:16 +0000 (UTC) Received: from us-smtp-inbound-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [170.10.128.131]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1D8E1800994 for ; Tue, 21 May 2024 05:57:16 +0000 (UTC) Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-227-AmYK-_NdP0etQpEW-gr9dg-1; Tue, 21 May 2024 01:57:13 -0400 X-MC-Unique: AmYK-_NdP0etQpEW-gr9dg-1 Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4Vk3c55f2Bz4x11; Tue, 21 May 2024 15:57:09 +1000 (AEST) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Cc: David Gibson Subject: [PATCH 0/6] Final flow table preliminaries Date: Tue, 21 May 2024 15:57:02 +1000 Message-ID: <20240521055708.1150050-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition;Similar Internal Domain=false;Similar Monitored External Domain=false;Custom External Domain=false;Mimecast External Domain=false;Newly Observed Domain=false;Internal User Name=false;Custom Display Name List=false;Reply-to Address Mismatch=false;Targeted Threat Dictionary=false;Mimecast Threat Dictionary=false;Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: gibson.dropbear.id.au Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable List-Id: Here's a series of what I hope will be the last preliminaries for the flow table which can be applied before we take the cost of increasing the size of entries with generic address information. Changes since "Unified flow table v5": * Small fixes to state verification * New patch passing specific typed structures into deferred/timer callbacks * Terminology change from "forwarded side" to "target side" * Assorted wording and style tweaks based on Stefano's review David Gibson (6): flow: Properly type callbacks to protocol specific handlers inany: Better helpers for using inany and specific family addrs together flow: Clarify and enforce flow state transitions flow: Make side 0 always be the initiating side flow: Record the pifs for each side of each flow tcp: Remove interim 'tapside' field from connection flow.c | 209 ++++++++++++++++++++++++++++++++++----------------- flow.h | 118 +++++++++++++++++++++++++++-- flow_table.h | 10 +++ icmp.c | 18 ++--- icmp_flow.h | 2 +- inany.c | 17 +---- inany.h | 97 +++++++++++++++++++++++- pif.h | 1 - tcp.c | 68 ++++++++--------- tcp_conn.h | 7 +- tcp_splice.c | 25 +++--- 11 files changed, 417 insertions(+), 155 deletions(-) --=20 2.45.1