get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/2233251/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2233251,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2233251/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/openvswitch/patch/20260505225239.2401918-2-i.maximets@ovn.org/",
    "project": {
        "id": 47,
        "url": "http://patchwork.ozlabs.org/api/1.2/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",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260505225239.2401918-2-i.maximets@ovn.org>",
    "list_archive_url": null,
    "date": "2026-05-05T22:52:10",
    "name": "[ovs-dev,1/5] appveyor: Disable Windows CI.",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "cff9f6bf58619248c53ae7f3f8d8bf7ebff3dbbe",
    "submitter": {
        "id": 76798,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/76798/?format=api",
        "name": "Ilya Maximets",
        "email": "i.maximets@ovn.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/openvswitch/patch/20260505225239.2401918-2-i.maximets@ovn.org/mbox/",
    "series": [
        {
            "id": 502908,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/502908/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/openvswitch/list/?series=502908",
            "date": "2026-05-05T22:52:10",
            "name": "Remove Windows support.",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502908/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2233251/comments/",
    "check": "success",
    "checks": "http://patchwork.ozlabs.org/api/patches/2233251/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<ovs-dev-bounces@openvswitch.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "ovs-dev@openvswitch.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "ovs-dev@lists.linuxfoundation.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)",
            "smtp1.osuosl.org;\n dmarc=none (p=none dis=none) header.from=ovn.org"
        ],
        "Received": [
            "from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\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 4g9DLs2XJqz1yJV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 08:53:09 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 1C1C240BD0;\n\tTue,  5 May 2026 22:53:07 +0000 (UTC)",
            "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id AWOYl03UVqky; Tue,  5 May 2026 22:53:05 +0000 (UTC)",
            "from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp4.osuosl.org (Postfix) with ESMTPS id B56FB40BE4;\n\tTue,  5 May 2026 22:53:05 +0000 (UTC)",
            "from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 925C8C04EB;\n\tTue,  5 May 2026 22:53:05 +0000 (UTC)",
            "from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists.linuxfoundation.org (Postfix) with ESMTP id F3675C04E7\n for <ovs-dev@openvswitch.org>; Tue,  5 May 2026 22:53:04 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id D923D80FA3\n for <ovs-dev@openvswitch.org>; Tue,  5 May 2026 22:53:04 +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 hbbQqL8ogyxm for <ovs-dev@openvswitch.org>;\n Tue,  5 May 2026 22:53:02 +0000 (UTC)",
            "from mail-wr1-f67.google.com (mail-wr1-f67.google.com\n [209.85.221.67])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 76FAA80D44\n for <ovs-dev@openvswitch.org>; Tue,  5 May 2026 22:53:02 +0000 (UTC)",
            "by mail-wr1-f67.google.com with SMTP id\n ffacd0b85a97d-43d77f6092eso3584211f8f.2\n for <ovs-dev@openvswitch.org>; Tue, 05 May 2026 15:53:02 -0700 (PDT)",
            "from im-t490s (37-48-40-237.nat.epc.tmcz.cz. [37.48.40.237])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-45055960811sm8060136f8f.27.2026.05.05.15.52.59\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 15:53:00 -0700 (PDT)"
        ],
        "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 smtp4.osuosl.org B56FB40BE4",
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 76FAA80D44"
        ],
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=209.85.221.67;\n helo=mail-wr1-f67.google.com; envelope-from=i.maximets.ovn@gmail.com;\n receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp1.osuosl.org 76FAA80D44",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778021580; x=1778626380;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=MwwoOSwb6nQR1D5T+CvLiGWan5lH4fjSaGmc/OiGQGw=;\n b=KDhopt5Yr+TDuFc4ZVEmMcN4+IEDMt9YQY4CxcjX2YGf0oTkMLkarpVrzQ/kgaYq0r\n WnPwYSs0aiIgC+QNQXhQDhqGZ4d2yYRaCMAdlEQpjvcGGOX3+fwffdq0qxYC2Bur76C9\n Md1d9Q1LL7zYUXtO/KwKoHFdtQ6nFrH1bPocvdZE4TZFl56k4ULxMF4FOIdui16B5lCf\n +lZ4SQsnVrUyQ4qn2mWRkIipGCvgdtjNSIPGhgvNPJye6J88CyDHnJDm7osgEwuXjHmE\n n4GvEJS16+B6ttjySAX/QjfscwQV1sxPHJAsH6MAINuZJe3ycLB6puGxYja0Y/NSbrYS\n qZug==",
        "X-Gm-Message-State": "AOJu0YwMH7hsjeMK6GPZ9vm8ajMNbFZ0P7RUjUQNC9wooEN0NxMWq3tc\n pkAIpGA3o2ECGpJHgqSpvsl9PJopt8QkFxI1e/uUeU4HwFmlgVXWZ2sUKilGhXiN",
        "X-Gm-Gg": "AeBDievCKXTRfTDSPEVpqX4mHXPE944VFBvsMA/q/e8sPJ+6c0s1IBifnYfGnklP59K\n L+JaBrq3yja9DLyCXgNrtSkbm52SNYEpYYMtU+WUqEW3XT3hDTQeESZQ8GgHRgjfieLVyJEbG9z\n l8eMSdCyviprbuMjy5S6chc1ld7tnolXESN1Ib4d1C9FdOFJI0slEW+AlkAlKuiJi/WEe3UGu0c\n T+fAuryDZmk7ws0n8G8Ve2O1adtkZsStDP+Z6x2XbZxqZ5n5f/A3L3SDZlLEOMsTF4vtB4D/AZ9\n 5e2nEc2y+bDb5S4z9AGBnn7yJzbEv7zrv4elCYod7ZKym5M6yzAagd7kucUprT2O11e9CX1YYd3\n +RzJK7gCx7EKeIojt+q2ya1uHXeAZx8QZQJf0frw67BQ71k6m7MlpP5swbw6OywDJr3OQhI38u5\n dGXB14NjwlJ9DNyz8NkcqTG2NQ/xqPlck52SkX0Pv4MhUZu/ul8IpWKFCwRaYj5S4lKg==",
        "X-Received": "by 2002:a5d:5d84:0:b0:43c:fe66:43ec with SMTP id\n ffacd0b85a97d-4515ad7670emr1794621f8f.14.1778021580323;\n Tue, 05 May 2026 15:53:00 -0700 (PDT)",
        "From": "Ilya Maximets <i.maximets@ovn.org>",
        "To": "ovs-dev@openvswitch.org",
        "Cc": "Ilya Maximets <i.maximets@ovn.org>",
        "Date": "Wed,  6 May 2026 00:52:10 +0200",
        "Message-ID": "<20260505225239.2401918-2-i.maximets@ovn.org>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<20260505225239.2401918-1-i.maximets@ovn.org>",
        "References": "<20260505225239.2401918-1-i.maximets@ovn.org>",
        "MIME-Version": "1.0",
        "Subject": "[ovs-dev] [PATCH 1/5] appveyor: Disable Windows CI.",
        "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>",
        "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": "Windows support was deprecated in v3.7, it's time to remove it,\nstarting with the CI integration.\n\nRemoving the yaml configuration file, CI build scripts and the\nmentions of AppVeyor in the docs.\n\nSigned-off-by: Ilya Maximets <i.maximets@ovn.org>\n---\n .ci/windows-build.sh                    | 17 -----\n .ci/windows-prepare.sh                  | 11 ----\n Documentation/intro/install/windows.rst |  9 ---\n Makefile.am                             |  3 -\n README.rst                              |  2 -\n appveyor.yml                            | 87 -------------------------\n utilities/checkpatch_dict.txt           |  1 -\n 7 files changed, 130 deletions(-)\n delete mode 100644 .ci/windows-build.sh\n delete mode 100644 .ci/windows-prepare.sh\n delete mode 100644 appveyor.yml",
    "diff": "diff --git a/.ci/windows-build.sh b/.ci/windows-build.sh\ndeleted file mode 100644\nindex e54fbacf4..000000000\n--- a/.ci/windows-build.sh\n+++ /dev/null\n@@ -1,17 +0,0 @@\n-#!/bin/bash\n-set -ex\n-\n-CONFIGURATION=$1\n-\n-./boot.sh\n-./configure CC=build-aux/cccl LD=\"$(which link)\" \\\n-    LIBS=\"-lws2_32 -lShlwapi -liphlpapi -lwbemuuid -lole32 -loleaut32\" \\\n-    --prefix=C:/openvswitch/usr --localstatedir=C:/openvswitch/var \\\n-    --sysconfdir=C:/openvswitch/etc --with-pthread=c:/PTHREADS-BUILT/ \\\n-    --enable-ssl --with-openssl=C:/OpenSSL-Win64 \\\n-    --with-vstudiotarget=\"${CONFIGURATION}\" || (cat config.log && exit 1)\n-\n-make -j4\n-make datapath_windows_analyze\n-make install\n-make windows_installer\ndiff --git a/.ci/windows-prepare.sh b/.ci/windows-prepare.sh\ndeleted file mode 100644\nindex 2d76add71..000000000\n--- a/.ci/windows-prepare.sh\n+++ /dev/null\n@@ -1,11 +0,0 @@\n-#!/bin/bash\n-set -ex\n-\n-mkdir -p /var/cache/pacman/pkg/\n-pacman -S --noconfirm --needed automake autoconf libtool make patch\n-\n-# Use an MSVC linker and a Windows version of Python.\n-mv $(which link) $(which link)_copy\n-mv $(which python3) $(which python3)_copy\n-\n-cd /c/pthreads4w-code && nmake all install\ndiff --git a/Documentation/intro/install/windows.rst b/Documentation/intro/install/windows.rst\nindex 2ca3a4e26..ef398e583 100644\n--- a/Documentation/intro/install/windows.rst\n+++ b/Documentation/intro/install/windows.rst\n@@ -1087,15 +1087,6 @@ To stop and delete the services, run:\n    > sc delete ovs-vswitchd\n    > sc delete ovsdb-server\n \n-Windows CI Service\n-------------------\n-\n-`AppVeyor <https://www.appveyor.com>`__ provides a free Windows autobuild\n-service for open source projects.  Open vSwitch has integration with AppVeyor\n-for continuous build.  A developer can build test his changes for Windows by\n-logging into appveyor.com using a github account, creating a new project by\n-linking it to his development repository in github and triggering a new build.\n-\n TODO\n ----\n \ndiff --git a/Makefile.am b/Makefile.am\nindex a805f21d1..e6ac79c51 100644\n--- a/Makefile.am\n+++ b/Makefile.am\n@@ -83,13 +83,10 @@ EXTRA_DIST = \\\n \t.ci/linux-prepare.sh \\\n \t.ci/osx-build.sh \\\n \t.ci/osx-prepare.sh \\\n-\t.ci/windows-build.sh \\\n-\t.ci/windows-prepare.sh \\\n \t.cirrus.yml \\\n \t.editorconfig \\\n \t.github/workflows/build-and-test.yml \\\n \t.readthedocs.yaml \\\n-\tappveyor.yml \\\n \tboot.sh \\\n \t$(MAN_FRAGMENTS) \\\n \t$(MAN_ROOTS) \\\ndiff --git a/README.rst b/README.rst\nindex 649dc1d38..186d21d07 100644\n--- a/README.rst\n+++ b/README.rst\n@@ -8,8 +8,6 @@ Open vSwitch\n \n .. image:: https://github.com/openvswitch/ovs/workflows/Build%20and%20Test/badge.svg\n     :target: https://github.com/openvswitch/ovs/actions\n-.. image:: https://ci.appveyor.com/api/projects/status/github/openvswitch/ovs?branch=main&svg=true&retina=true\n-    :target: https://ci.appveyor.com/project/blp/ovs/history\n .. image:: https://api.cirrus-ci.com/github/openvswitch/ovs.svg\n     :target: https://cirrus-ci.com/github/openvswitch/ovs\n .. image:: https://readthedocs.org/projects/openvswitch/badge/?version=latest\ndiff --git a/appveyor.yml b/appveyor.yml\ndeleted file mode 100644\nindex 28a75c3af..000000000\n--- a/appveyor.yml\n+++ /dev/null\n@@ -1,87 +0,0 @@\n-version: 1.0.{build}\n-image: Visual Studio 2019\n-branches:\n-  only:\n-  - main\n-configuration:\n-  - Debug\n-  - Release\n-clone_folder: C:\\openvswitch_compile\n-shallow_clone: true\n-\n-init:\n-- ps: $env:PATH =\"C:\\Python312-x64;C:\\Python312-x64\\Scripts;\"+$env:PATH\n-- ps: New-Item -Type HardLink -Path  \"C:\\Python312-x64\\python3.exe\"\n-                              -Value \"C:\\Python312-x64\\python.exe\"\n-\n-cache:\n-- C:\\ovs-build-downloads\n-\n-install:\n-- ps: |\n-    $OpenSSLPath = \"C:\\OpenSSL-Win64\"\n-    if (Test-Path $OpenSSLPath) {\n-        Remove-Item -Recurse -Force -Path $OpenSSLPath\n-    }\n-    New-Item -ItemType Directory -Force -Path C:\\ovs-build-downloads\n-\n-    # Find and download the latest stable OpenSSl 3.0.\n-    $URL = \"https://raw.githubusercontent.com/slproweb/opensslhashes/master/win32_openssl_hashes.json\"\n-    $webData = (Invoke-WebRequest -Uri $URL).content | ConvertFrom-Json\n-    $source = ($webData.files.PSObject.Properties | Where-Object {\n-        $_.Value.basever   -match \"^3\\.0\\.[0-9]+\" -and\n-        $_.Value.bits      -eq    \"64\"            -and\n-        $_.Value.arch      -eq    \"INTEL\"         -and\n-        $_.Value.installer -eq    \"exe\"           -and\n-        -not $_.Value.light\n-    } | Select-Object Value | Select -First 1).PSObject.Properties.Value\n-\n-    Write-Host \"Latest OpenSSL 3.0:\" ($source | Format-List | Out-String)\n-\n-    $destination = \"C:\\ovs-build-downloads\\Win64OpenSSL.exe\"\n-    if (Test-Path $destination) {\n-        $fileHash = (Get-FileHash $destination -Algorithm SHA256).Hash.ToLower()\n-        if ($fileHash -ne $source.sha256) {\n-            Write-Host \"Cache miss:\" $fileHash \"!=\" $source.sha256\n-            Remove-Item -Path $destination\n-        }\n-    }\n-\n-    if (Test-Path $destination) {\n-        Write-Host \"Using cached:\" $destination\n-    } else {\n-        Write-Host \"Downloading:\" $source.url\n-        Invoke-WebRequest $source.url -OutFile $destination\n-    }\n-\n-    Write-Host \"Installing:\" $destination\n-    $installArgs = @{\n-        FilePath     = $destination\n-        ArgumentList = '/silent /verysilent /sp- /suppressmsgboxes ' +\n-                       '/DIR=\"' + $OpenSSLPath + '\"'\n-        Wait         = $true\n-    }\n-    Start-Process @installArgs\n-\n-- ps: git clone -q https://git.code.sf.net/p/pthreads4w/code c:\\pthreads4w-code\n-- ps: python3 -m pip install pypiwin32 --disable-pip-version-check\n-- '\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Auxiliary\\Build\\vcvars64.bat\"'\n-- ps: C:\\msys64\\msys2_shell.cmd -here -defterm -no-start -use-full-path -c\n-        \".ci/windows-prepare.sh 2>&1\"\n-\n-build_script:\n-- ps: C:\\msys64\\msys2_shell.cmd -here -defterm -no-start -use-full-path -c\n-        \".ci/windows-build.sh $env:CONFIGURATION 2>&1\"\n-- ps: cp C:\\PTHREADS-BUILT\\bin\\pthreadVC3.dll C:\\openvswitch\\usr\\bin\n-- ps: cp C:\\PTHREADS-BUILT\\bin\\pthreadVC3.dll C:\\openvswitch\\usr\\sbin\n-- ps: mkdir C:\\openvswitch\\driver\n-- ps: cp datapath-windows\\x64\\Win10$env:CONFIGURATION\\package\\* C:\\openvswitch\\driver\n-- ps: cp datapath-windows\\x64\\Win10$env:CONFIGURATION\\package.cer C:\\openvswitch\\driver\n-- ps: cp datapath-windows\\misc\\* C:\\openvswitch\\driver\n-- ps: cp windows\\ovs-windows-installer\\bin\\x64\\Release\\OpenvSwitch.msi\n-         c:\\OpenvSwitch-$env:CONFIGURATION.msi\n-\n-after_build:\n-- ps: 7z a C:\\ovs-main-$env:CONFIGURATION.zip C:\\openvswitch\n-- ps: Push-AppveyorArtifact C:\\ovs-main-$env:CONFIGURATION.zip\n-- ps: Push-AppveyorArtifact C:\\OpenvSwitch-$env:CONFIGURATION.msi\ndiff --git a/utilities/checkpatch_dict.txt b/utilities/checkpatch_dict.txt\nindex c1f43e5af..dfd3bb594 100644\n--- a/utilities/checkpatch_dict.txt\n+++ b/utilities/checkpatch_dict.txt\n@@ -7,7 +7,6 @@ amd64\n api\n apis\n appctl\n-appveyor\n arg\n arp\n asan\n",
    "prefixes": [
        "ovs-dev",
        "1/5"
    ]
}