From patchwork Fri Apr 28 09:42:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ales Musil X-Patchwork-Id: 1774807 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Vs29Ac8D; dkim-atps=neutral Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Q771x14mwz23td for ; Fri, 28 Apr 2023 19:42:44 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id B9EE2840BD; Fri, 28 Apr 2023 09:42:42 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org B9EE2840BD Authentication-Results: smtp1.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Vs29Ac8D X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qaKh4QJCgpil; Fri, 28 Apr 2023 09:42:42 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp1.osuosl.org (Postfix) with ESMTPS id 0006C8403F; Fri, 28 Apr 2023 09:42:40 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 0006C8403F Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id B5957C0037; Fri, 28 Apr 2023 09:42:40 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 9A0E7C002A for ; Fri, 28 Apr 2023 09:42:39 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 6AE1941E54 for ; Fri, 28 Apr 2023 09:42:39 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 6AE1941E54 Authentication-Results: smtp2.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Vs29Ac8D X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ct7-4T07QOMZ for ; Fri, 28 Apr 2023 09:42:38 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org B502040018 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id B502040018 for ; Fri, 28 Apr 2023 09:42:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1682674957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=muy0SPVFppsZXXSZfj8jcdGZctv6LQOZHrA/Tz3pTj0=; b=Vs29Ac8DtS635FThF50o8gEtmeSL4ShHEUeds5k3Dlp0BdUrITRgJ+QJVk3hXxPXy9WUbv fdRoKmHpKWuRttYeIX3vXaQlhw6CihjqSTP5bdDIoBCHqrkEXPONKAcUajGJdb/rI3862S ECKBwu9xXll2tqtOqn6ZylguD10v2V8= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-262-G6qARYltOoCGXIxtLa9DVg-1; Fri, 28 Apr 2023 05:42:35 -0400 X-MC-Unique: G6qARYltOoCGXIxtLa9DVg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 37DA0281722A for ; Fri, 28 Apr 2023 09:42:35 +0000 (UTC) Received: from amusil.redhat.com (unknown [10.45.224.109]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3E6F82027043; Fri, 28 Apr 2023 09:42:33 +0000 (UTC) From: Ales Musil To: dev@openvswitch.org Date: Fri, 28 Apr 2023 11:42:27 +0200 Message-Id: <20230428094232.528745-1-amusil@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Cc: dceara@redhat.com Subject: [ovs-dev] [PATCH ovn v5 0/5] Prevent race in packet buffering X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" The series is split into 5 patches. It aims to simplify the packet buffering process and encapsulate it inside mac-learn module. This is done through refactoring and preparation. The last patch then fixes the race condition in packet buffering by utilizing I-P node. The difference between v4 and v5 is that the first patch was devided even further into four patches, the last two patches from v4 are squashed into v5 as this their separation didn't have any meaningful value. Ales Musil (5): mac-learn: Make the mac_binding struct more flexible ovn-util: Add helper function to parse ip into mapped ipv6 pinctrl: Simplify packet buffering structure controller: Move the packet buffering into mac-learn controller: Prevent race in packet buffering controller/mac-learn.c | 244 ++++++++++++++++++++---- controller/mac-learn.h | 88 +++++++-- controller/ovn-controller.c | 200 +++++++++++++++++++- controller/pinctrl.c | 356 ++++++++---------------------------- controller/pinctrl.h | 6 +- lib/ovn-util.c | 12 ++ lib/ovn-util.h | 2 + northd/northd.c | 32 +--- utilities/ovn-trace.c | 5 +- 9 files changed, 583 insertions(+), 362 deletions(-)