Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/2221003/?format=api
{ "id": 2221003, "url": "http://patchwork.ozlabs.org/api/1.1/covers/2221003/?format=api", "web_url": "http://patchwork.ozlabs.org/project/openvswitch/cover/20260408170613.587902-1-aconole@redhat.com/", "project": { "id": 47, "url": "http://patchwork.ozlabs.org/api/1.1/projects/47/?format=api", "name": "Open vSwitch", "link_name": "openvswitch", "list_id": "ovs-dev.openvswitch.org", "list_email": "ovs-dev@openvswitch.org", "web_url": "http://openvswitch.org/", "scm_url": "git@github.com:openvswitch/ovs.git", "webscm_url": "https://github.com/openvswitch/ovs" }, "msgid": "<20260408170613.587902-1-aconole@redhat.com>", "date": "2026-04-08T17:05:56", "name": "[ovs-dev,RFC,00/12] ct-offload: Introduce a conntrack offload infrastructure.", "submitter": { "id": 67184, "url": "http://patchwork.ozlabs.org/api/1.1/people/67184/?format=api", "name": "Aaron Conole", "email": "aconole@redhat.com" }, "mbox": "http://patchwork.ozlabs.org/project/openvswitch/cover/20260408170613.587902-1-aconole@redhat.com/mbox/", "series": [ { "id": 499163, "url": "http://patchwork.ozlabs.org/api/1.1/series/499163/?format=api", "web_url": "http://patchwork.ozlabs.org/project/openvswitch/list/?series=499163", "date": "2026-04-08T17:05:56", "name": "ct-offload: Introduce a conntrack offload infrastructure.", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/499163/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2221003/comments/", "headers": { "Return-Path": "<ovs-dev-bounces@openvswitch.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "dev@openvswitch.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "ovs-dev@lists.linuxfoundation.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=PweFl13j;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=140.211.166.136; helo=smtp3.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)", "smtp3.osuosl.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=PweFl13j", "smtp1.osuosl.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com", "smtp1.osuosl.org; dkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=PweFl13j" ], "Received": [ "from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frTxK4BbQz1xv0\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 03:06:29 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 14DF66067D;\n\tWed, 8 Apr 2026 17:06:27 +0000 (UTC)", "from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id kypRjI32w6eF; Wed, 8 Apr 2026 17:06:26 +0000 (UTC)", "from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp3.osuosl.org (Postfix) with ESMTPS id 0FF4D60F91;\n\tWed, 8 Apr 2026 17:06:26 +0000 (UTC)", "from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id E9C2BC054A;\n\tWed, 8 Apr 2026 17:06:25 +0000 (UTC)", "from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists.linuxfoundation.org (Postfix) with ESMTP id B0011C0549\n for <dev@openvswitch.org>; Wed, 8 Apr 2026 17:06:24 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id 9BD5E82287\n for <dev@openvswitch.org>; Wed, 8 Apr 2026 17:06:24 +0000 (UTC)", "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 11WrAewhSH51 for <dev@openvswitch.org>;\n Wed, 8 Apr 2026 17:06:23 +0000 (UTC)", "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 7541E82280\n for <dev@openvswitch.org>; Wed, 8 Apr 2026 17:06:22 +0000 (UTC)", "from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-673-xJsyNZD_M--v063JepmrdQ-1; Wed,\n 08 Apr 2026 13:06:18 -0400", "from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id EDCD818005B8; Wed, 8 Apr 2026 17:06:16 +0000 (UTC)", "from RHTRH0061144.redhat.com (unknown [10.22.89.172])\n by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id F1B51300019F; Wed, 8 Apr 2026 17:06:14 +0000 (UTC)" ], "X-Virus-Scanned": [ "amavis at osuosl.org", "amavis at osuosl.org" ], "X-Comment": "SPF check N/A for local connections - client-ip=140.211.9.56;\n helo=lists.linuxfoundation.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN> ", "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 smtp3.osuosl.org 0FF4D60F91", "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 7541E82280" ], "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124;\n helo=us-smtp-delivery-124.mimecast.com; envelope-from=aconole@redhat.com;\n receiver=<UNKNOWN>", "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp1.osuosl.org 7541E82280", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1775667981;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=4OUL4xmmrHRUX8F+k8ZpUZsDjkBB8eku2/eh8hZrBGM=;\n b=PweFl13j81VFV1GkkSWNYUwg98ZOdujoclRYgJ1RVfzUmjKa2rXtISBGpK7XtYnFblWXrP\n 4MXDux754cT9U0YL9y7BA3cjGnsAoLTatYrTzC67Ew2PzLKgzhy30w4UUDxbWvCbZjc2Mx\n hZx7KVF0oyzCG2oyFoWSNTRA25qiJp4=", "X-MC-Unique": "xJsyNZD_M--v063JepmrdQ-1", "X-Mimecast-MFC-AGG-ID": "xJsyNZD_M--v063JepmrdQ_1775667977", "To": "dev@openvswitch.org", "Date": "Wed, 8 Apr 2026 13:05:56 -0400", "Message-ID": "<20260408170613.587902-1-aconole@redhat.com>", "MIME-Version": "1.0", "X-Scanned-By": "MIMEDefang 3.4.1 on 10.30.177.4", "X-Mimecast-Spam-Score": "0", "X-Mimecast-MFC-PROC-ID": "uvFu7DQP__fd5aAxYI6YPkrrAggFL78T-AqhzypCQ3s_1775667977", "X-Mimecast-Originator": "redhat.com", "Subject": "[ovs-dev] [RFC 00/12] ct-offload: Introduce a conntrack offload\n infrastructure.", "X-BeenThere": "ovs-dev@openvswitch.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "<ovs-dev.openvswitch.org>", "List-Unsubscribe": "<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>", "List-Archive": "<http://mail.openvswitch.org/pipermail/ovs-dev/>", "List-Post": "<mailto:ovs-dev@openvswitch.org>", "List-Help": "<mailto:ovs-dev-request@openvswitch.org?subject=help>", "List-Subscribe": "<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=subscribe>", "From": "Aaron Conole via dev <ovs-dev@openvswitch.org>", "Reply-To": "Aaron Conole <aconole@redhat.com>", "Cc": "Eli Britstein <elibr@nvidia.com>, Florian Westphal <fwestpha@redhat.com>,\n Flavio Leitner <fbl@redhat.com>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "ovs-dev-bounces@openvswitch.org", "Sender": "\"dev\" <ovs-dev-bounces@openvswitch.org>" }, "content": "This series reworks the userspace connection tracker in Open vSwitch in\norder to introduce an infrastructure that future offload providers could\nuse to offload connections, similar to facilities provided in the TC offload\npath. The goal is to enable userspace datapath offloads to provide\nadditional connection tracking offload support.\n\nThe early patches do a slight rework of the existing connection tracker to\nprepare for the offload to be added. These are just split-outs and renames\nto make things clearer.\n\nPatches 5-10 are the meat of the offload infrastructure. They provide the\nbasic support - add/del/est/update primitives that give enough context into\nthe userspace connection tracking layers to actually inform the hardware and\nkeep the userspace updated. Additionally, we automatically disable tcp\nsequence number checking on connections that are 'offloaded'.\n\nPatch 11 shows a dummy offload implementation and some unit tests.\n\nPatch 12 is just documentation / NEWS.\n\nSubmitted as RFC because I'm sure I've forgotten something.\n\nAaron Conole (12):\n conntrack: Add per-conn storage for conntrack modules.\n conntrack: Introduce an observer pattern infrastructure as a hook.\n conntrack: Split the FTP and TFTP handling into separate files.\n conntrack-tcp: Convert to using the per-conn storage area.\n ct-offload: Add a new interface as an offload provider.\n ct-offload: Add batching support.\n ct-offload: Add a mark for offloaded connections.\n conntrack: Add calls to ct-offload infrastructure.\n ct-offload: Add configuration infrastructure.\n conntrack: Propagate input netdev pointer to conntrack.\n ct-offload-dummy: Introduce dummy ct offload.\n Documentation: Announce and describe the conntrack offload feature.\n\n Documentation/automake.mk | 1 +\n Documentation/topics/index.rst | 1 +\n .../topics/userspace-conntrack-offloading.rst | 76 ++\n NEWS | 1 +\n lib/automake.mk | 7 +\n lib/conntrack-ftp.c | 689 +++++++++++++\n lib/conntrack-private.h | 123 +++\n lib/conntrack-tcp.c | 72 +-\n lib/conntrack-tcp.h | 61 ++\n lib/conntrack-tftp.c | 47 +\n lib/conntrack.c | 904 ++++--------------\n lib/conntrack.h | 44 +-\n lib/ct-offload-dummy.c | 253 +++++\n lib/ct-offload-dummy.h | 64 ++\n lib/ct-offload.c | 603 ++++++++++++\n lib/ct-offload.h | 177 ++++\n lib/dpif-netdev.c | 14 +-\n lib/dpif-offload.c | 13 +\n lib/dpif-offload.h | 1 +\n tests/dpif-netdev.at | 72 ++\n tests/library.at | 54 ++\n tests/test-conntrack.c | 460 ++++++++-\n vswitchd/bridge.c | 4 +\n 23 files changed, 2974 insertions(+), 767 deletions(-)\n create mode 100644 Documentation/topics/userspace-conntrack-offloading.rst\n create mode 100644 lib/conntrack-ftp.c\n create mode 100644 lib/conntrack-tcp.h\n create mode 100644 lib/conntrack-tftp.c\n create mode 100644 lib/ct-offload-dummy.c\n create mode 100644 lib/ct-offload-dummy.h\n create mode 100644 lib/ct-offload.c\n create mode 100644 lib/ct-offload.h" }