Show a cover letter.

GET /api/1.2/covers/833717/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 833717,
    "url": "http://patchwork.ozlabs.org/api/1.2/covers/833717/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/cover/20171103090344.19444-1-jiri@resnulli.us/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/7/?format=api",
        "name": "Linux network development",
        "link_name": "netdev",
        "list_id": "netdev.vger.kernel.org",
        "list_email": "netdev@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20171103090344.19444-1-jiri@resnulli.us>",
    "list_archive_url": null,
    "date": "2017-11-03T09:03:28",
    "name": "[net-next,00/16] mlxsw: Handle changes in GRE configuration",
    "submitter": {
        "id": 15321,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/15321/?format=api",
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/cover/20171103090344.19444-1-jiri@resnulli.us/mbox/",
    "series": [
        {
            "id": 11677,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/11677/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=11677",
            "date": "2017-11-03T09:03:28",
            "name": "mlxsw: Handle changes in GRE configuration",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/11677/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/833717/comments/",
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=resnulli-us.20150623.gappssmtp.com\n\theader.i=@resnulli-us.20150623.gappssmtp.com\n\theader.b=\"u+PM9gnR\"; dkim-atps=neutral"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3ySwx34W9mz9sNV\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  3 Nov 2017 20:03:51 +1100 (AEDT)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S932173AbdKCJDs (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 3 Nov 2017 05:03:48 -0400",
            "from mail-wm0-f47.google.com ([74.125.82.47]:44391 \"EHLO\n\tmail-wm0-f47.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750821AbdKCJDq (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Fri, 3 Nov 2017 05:03:46 -0400",
            "by mail-wm0-f47.google.com with SMTP id n74so2134345wmi.1\n\tfor <netdev@vger.kernel.org>; Fri, 03 Nov 2017 02:03:45 -0700 (PDT)",
            "from localhost (ip-94-113-127-32.net.upcbroadband.cz.\n\t[94.113.127.32]) by smtp.gmail.com with ESMTPSA id\n\tk105sm5723942wrc.90.2017.11.03.02.03.44\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tFri, 03 Nov 2017 02:03:44 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=resnulli-us.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id;\n\tbh=TZjpqqZioVeJ186rdqBkMulx/ydgL9twJdX0hs0yMvY=;\n\tb=u+PM9gnRK7uEwqkQQhPdyiJdAjtot2UWw1r0SXOcO8dFJQkQF8zZyf04WZSwHp5YnP\n\t1sP8Mig6ngmIpva1rK4s2mOp2VkJZTGK8+AhWkxjjgipQXeMvVKWHpIs+DBCRAxi1pE4\n\ttEFfXkQIdlccS3KNQVIysuwWU+R49rva9VKRnLYQbGnkMGX7dOwiY3wIFePyhmoLGfqI\n\tC6caYl7JkBIn7Bg/OdwPA8d+2/SjimZj1qTu+STgyjNvgXNH54iQ3EkDVDpUYWoaA0c/\n\tIjKAlRkeaT+QC3rdVu9zA7iYojNLdQoQICdrpTrRQY5wvMw2H68Ml3F4OqfBYLOpasow\n\t6ciw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=TZjpqqZioVeJ186rdqBkMulx/ydgL9twJdX0hs0yMvY=;\n\tb=DKp/02aFe6P9iSN0ejuxFBe7t9GT7rBvN9536s7kg3rTzDStCzFZLmi4hdZTGvyagM\n\tV5e0/l4sLLt5Yv22wuF0LzyPtJQknqjvieMgo9BbW/hP+2FL0RiftM0ze9lxifBRFWph\n\tixiQoHmWBQ2P5P/UBABzrHDh+g/TFSAX26DuJBAiA/akKFtkJ5FxdnLchiHuwFNH2P6l\n\tFFDr245bGwtmn8IlNCeatfYC7ejTOx3AzroZaSVtIwufB0bNx31bwLyE63m5ybHe3n6k\n\t1+/mS+zHtnnbHStJtzjC11o5SkCHnhPX8EDB4yqhDx1mCHYLaOg29valNQhmAqO7o10C\n\tX5tw==",
        "X-Gm-Message-State": "AMCzsaVBNbAB1Bs4fEVFkAtGazp/q6SsOe0gssGn/YoOk/8piKwyxjyp\n\tSyN8smYnx4f8yvgKWSJNHGeG5kqv",
        "X-Google-Smtp-Source": "ABhQp+QzA2KFybEkQkGqPsUphmWc4r0wHQmpGJAWW2f00uehs8ReUqdyzCRNCWtMx7th4uDF8ByaOA==",
        "X-Received": "by 10.28.100.4 with SMTP id y4mr3697922wmb.46.1509699825077;\n\tFri, 03 Nov 2017 02:03:45 -0700 (PDT)",
        "From": "Jiri Pirko <jiri@resnulli.us>",
        "To": "netdev@vger.kernel.org",
        "Cc": "davem@davemloft.net, petrm@mellanox.com, idosch@mellanox.com,\n\tmlxsw@mellanox.com",
        "Subject": "[patch net-next 00/16] mlxsw: Handle changes in GRE configuration",
        "Date": "Fri,  3 Nov 2017 10:03:28 +0100",
        "Message-Id": "<20171103090344.19444-1-jiri@resnulli.us>",
        "X-Mailer": "git-send-email 2.9.5",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "From: Jiri Pirko <jiri@mellanox.com>\n\nPetr says:\n\nUntil now, when an IP tunnel was offloaded by the mlxsw driver, the\noffload was pretty much static, and changes in Linux configuration were\nnot reflected in the hardware. That led to discrepancies between traffic\nflows in slow path and fast path. The work-around used to be to remove\nall routes that forward to the netdevice and re-add them. This is\nclearly suboptimal, but actually, as of the decap-only patchset, it's\nnot even enough anymore, and one needs to go all the way and simply drop\nthe tunnel and recreate it correctly.\n\nWith this patchset, the NETDEV_CHANGE events that are generated for\nchanges of up'd tunnel netdevices are captured and interpreted to\ncorrectly reconfigure the HW in accordance with changes requested at the\nsoftware layer. In addition, NETDEV_CHANGEUPPER, NETDEV_UP and\nNETDEV_DOWN are now handled not only for tunnel devices themselves, but\nalso for their bound devices. Each change is then translated to one or\nmore of the following updates to the HW configuration:\n\n- refresh of offload of local route that corresponds to tunnel's local\n  address\n- refresh of the loopback RIF\n- refresh of offloads of routes that forward to the changed tunnel\n- removal of tunnel offloads\n\nThese tools are used to implement the following configuration changes:\n\n- addition of a new offloadable tunnel with local address that conflicts\n  with that of an already-offloaded tunnel (the existing tunnel is\n  onloaded, the new one isn't offloaded)\n- changes to TTL, TOS that make tunnel unsuitable for offloading\n- changes to ikey, okey, remote\n- changes to local, which when they cause conflict with another\n  tunnel, lead to onloading of both newly-conflicting tunnels\n- migration of a bound device of an offloaded tunnel device to a\n  different VRF\n- changes to what device is bound to a tunnel device (i.e. like what\n  \"ip tunnel change name g dev another\" does)\n- changes to up / down state of a bound device. A down bound device\n  doesn't forward encapsulated traffic anymore, but decap still works.\n\nThis patchset starts with a suite of patches that adapt the existing\ncode base step by step to facilitate introduction of the offloading\ncode. The five substantial patches at the end then implement the changes\nmentioned above.\n\nPetr Machata (16):\n  mlxsw: spectrum: Rename IPIP-related netdevice handlers\n  mlxsw: spectrum_router: Extract mlxsw_sp_netdevice_ipip_can_offload()\n  mlxsw: spectrum: Move mlxsw_sp_ipip_netdev_{s,d}addr{,4}()\n  mlxsw: spectrum_ipip: Split accessor functions\n  mlxsw: spectrum_router: Extract mlxsw_sp_ipip_entry_ol_down_event()\n  mlxsw: spectrum_router: Make mlxsw_sp_netdevice_ipip_ol_up_event()\n    void\n  mlxsw: spectrum_router: Extract mlxsw_sp_ipip_entry_ol_up_event()\n  mlxsw: spectrum: Propagate extack for tunnel events\n  mlxsw: spectrum_router: Extract __mlxsw_sp_ipip_entry_update_tunnel()\n  mlxsw: spectrum_router: Generalize\n    __mlxsw_sp_ipip_entry_update_tunnel()\n  mlxsw: spectrum_router: Fix saddr deduction in\n    mlxsw_sp_ipip_entry_create()\n  mlxsw: spectrum_router: Onload conflicting tunnels\n  mlxsw: spectrum: Support IPIP underlay VRF migration\n  mlxsw: spectrum: Handle NETDEV_CHANGE on L3 tunnels\n  mlxsw: spectrum_ipip: Handle underlay device change\n  mlxsw: spectrum_router: Handle down of tunnel underlay\n\n drivers/net/ethernet/mellanox/mlxsw/spectrum.c     |   8 +-\n drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |  18 +-\n .../net/ethernet/mellanox/mlxsw/spectrum_ipip.c    | 183 ++++++-\n .../net/ethernet/mellanox/mlxsw/spectrum_ipip.h    |  12 +\n .../net/ethernet/mellanox/mlxsw/spectrum_router.c  | 539 +++++++++++++++------\n .../net/ethernet/mellanox/mlxsw/spectrum_router.h  |  29 +-\n 6 files changed, 614 insertions(+), 175 deletions(-)"
}