Show a cover letter.

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

{
    "id": 818954,
    "url": "http://patchwork.ozlabs.org/api/covers/818954/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/cover/20170927062322.5476-1-jiri@resnulli.us/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/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": "<20170927062322.5476-1-jiri@resnulli.us>",
    "list_archive_url": null,
    "date": "2017-09-27T06:23:10",
    "name": "[net-next,v3,00/12] mlxsw: Add support for offloading IPv4 multicast routes",
    "submitter": {
        "id": 15321,
        "url": "http://patchwork.ozlabs.org/api/people/15321/?format=api",
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/cover/20170927062322.5476-1-jiri@resnulli.us/mbox/",
    "series": [
        {
            "id": 5290,
            "url": "http://patchwork.ozlabs.org/api/series/5290/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=5290",
            "date": "2017-09-27T06:23:12",
            "name": "mlxsw: Add support for offloading IPv4 multicast routes",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/5290/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/818954/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=\"JP0iWEwn\"; dkim-atps=neutral"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y278P64X8z9sRg\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 27 Sep 2017 16:24:37 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752038AbdI0GYf (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 27 Sep 2017 02:24:35 -0400",
            "from mail-wm0-f66.google.com ([74.125.82.66]:32951 \"EHLO\n\tmail-wm0-f66.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750805AbdI0GXZ (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 27 Sep 2017 02:23:25 -0400",
            "by mail-wm0-f66.google.com with SMTP id m127so10553682wmm.0\n\tfor <netdev@vger.kernel.org>; Tue, 26 Sep 2017 23:23:24 -0700 (PDT)",
            "from localhost (jirka.pirko.cz. [84.16.102.26])\n\tby smtp.gmail.com with ESMTPSA id\n\t6sm12093941wru.33.2017.09.26.23.23.22\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tTue, 26 Sep 2017 23:23:23 -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=7+icT5XbIisO+8g/QY5jKE1WJ8UK0GhqU19Mn1rIR/s=;\n\tb=JP0iWEwn0aZ/X0qsg4nyrGVTiXnZ3RhvuzpQpL4qMOJmBRUF657zHxJxTmCLaOM2X7\n\txfOQvRXi4VkcHTZK9QYIMOPL9xy5a+VzTdzSptkvcchdrNDItK7D1pOJRpLgQCE99Yi4\n\toLGlMiF9+ys+K74B5jXvjowYAGuFmiFYrdQTLzCG0jxlaEiemyYEhvJJqsIt/9hH1nbg\n\t2LjsDfU00zOC75BmbrduYUfjvK6Nj8E9vMwCqLg7xb/zunrRbU0lAK/YpmtpB0dQvflZ\n\tdTmBxmmaiZbnKM4mzM9shp9A5KV9r7Bgz9yEzsc9HLa7xARpucp+ysnoO08lgVqgmlNX\n\tKcbQ==",
        "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=7+icT5XbIisO+8g/QY5jKE1WJ8UK0GhqU19Mn1rIR/s=;\n\tb=fMkLYK6qS2ycAIy/i1+JaPKRMRXP0iScBANhx9tvXJ2E+IaNR3mxamLxVFafB2C1wl\n\twx3uc3besCne5/Aa18YuZ5NRn4nbB8QAedgjsG0jzPGD/VUd6Wjo+HCvxsFjnaFmcq6g\n\tE5Mmjhos5BIbdUfW5B3QmnQj3O/yFKnz2gs46SpY6lKn0h3KA49G5NlHnBcS77q6lmmJ\n\tYrlQdXDF6g0OE15ByhGMHKZZ9xFcFEipjdHH2aPYhCN0hmhCrSbRUNJw+60OMCCRshfh\n\t84KTqiQSwxS2NRDMFYXSpLAMYLJMUcWMyZaf4WoYNj/1QuY5jGieseJzCy7+ZiCpHpdv\n\tJj5A==",
        "X-Gm-Message-State": "AHPjjUg7za+I85gmQ6HcX1OCpUMYLIQRGMe88kb9e3XlqyxJ2gCm4U6t\n\tpdZqsCotOzg+Ix0bbyxkPgQcXy34",
        "X-Google-Smtp-Source": "AOwi7QAuGmmaHyp5ieBMbUxure7A91qHXf9qTHHPOnvwzQ5/HTktfAzezPQtrRJr0OxYr0YgkUFmLw==",
        "X-Received": "by 10.28.29.129 with SMTP id d123mr534270wmd.130.1506493403785; \n\tTue, 26 Sep 2017 23:23:23 -0700 (PDT)",
        "From": "Jiri Pirko <jiri@resnulli.us>",
        "To": "netdev@vger.kernel.org",
        "Cc": "davem@davemloft.net, yotamg@mellanox.com, idosch@mellanox.com,\n\tmlxsw@mellanox.com, nikolay@cumulusnetworks.com, andrew@lunn.ch,\n\tlinyunsheng@huawei.com",
        "Subject": "[patch net-next v3 00/12] mlxsw: Add support for offloading IPv4\n\tmulticast routes",
        "Date": "Wed, 27 Sep 2017 08:23:10 +0200",
        "Message-Id": "<20170927062322.5476-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\nYotam says:\n\nThis patch-set introduces offloading of the kernel IPv4 multicast router\nlogic in the Spectrum driver.\n\nThe first patch makes the Spectrum driver ignore FIB notifications that are\nnot of address family IPv4 or IPv6. This is needed in order to prevent\ncrashes while the next patches introduce the RTNL_FAMILY_IPMR FIB\nnotifications.\n\nPatches 2-5 update ipmr to use the FIB notification chain for both MFC and\nVIF notifications, and patches 8-12 update the Spectrum driver to register\nto these notifications and offload the routes.\n\nSimilarly to IPv4 and IPv6, any failure will trigger the abort mechanism\nwhich is updated in this patch-set to eject multicast route tables too.\n\nAt this stage, the following limitations apply:\n - A multicast MFC route will be offloaded by the driver if all the output\n   interfaces are Spectrum router interfaces (RIFs). In any other case\n   (which includes pimreg device, tunnel devices and management ports) the\n   route will be trapped to the CPU and the packets will be forwarded by\n   software.\n - ipmr proxy routes are not supported and will trigger the abort\n   mechanism.\n - The MFC TTL values are currently treated as boolean: if the value is\n   different than 255, the traffic is forwarded to the interface and if the\n   value is 255 it is not forwarded. Dropping packets based on their TTL isn't\n   currently supported.\n\nTo allow users to have visibility on which of the routes are offloaded and\nwhich are not, patch 6 introduces a per-route offload indication similar to\nIPv4 and IPv6 routes which is sent to the user via the RTNetlink interface.\n\nThe Spectrum driver multicast router offloading support, which is\nintroduced in patches 8 and 9, is divided into two parts:\n - The hardware logic which abstracts the Spectrum hardware and provides a\n   simple API for the upper levels.\n - The offloading logic which gets the MFC and VIF notifications from the\n   kernel and updates the hardware using the hardware logic part.\n\nFinally, the last patch makes the Spectrum router logic not ignore the\nmulticast FIB notifications and call the corresponding functions in the\nmulticast router offloading logic.\n\n---\nv2->v3:\n - Move the ipmr_rule_default function definition to be inside the already\n   existing CONFIG_IP_MROUTE_MULTIPLE_TABLES ifdef block (patch 6)\n - Remove double =0 initialization in spectrum_mr.c (patch 7)\n - Fix route4 allocation size (patch 7)\nv1->v2:\n - Add comments for struct fields in mroute.h\n - Take the mrt_lock while dumping VIFs in the fib_notifier dump callback\n - Update the MFC lastuse field too\n\nYotam Gigi (12):\n  fib: notifier: Add VIF add and delete event types\n  ipmr: Add reference count to MFC entries\n  ipmr: Add FIB notification access functions\n  ipmr: Send FIB notifications on MFC and VIF entries\n  net: ipmr: Add MFC offload indication\n  net: mroute: Check if rule is a default rule\n  mlxsw: spectrum: Add the multicast routing offloading logic\n  mlxsw: spectrum: Add the multicast routing hardware logic\n  mlxsw: spectrum: router: Squash the default route table to main\n  mlxsw: spectrum_router: Add multicast routes notification handling\n    functionality\n  mlxsw: spectrum: Notify multicast router on RIF MTU changes\n  mlxsw: spectrum: router: Don't ignore IPMR notifications\n\n drivers/net/ethernet/mellanox/mlxsw/Makefile       |    3 +-\n drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |    2 +\n drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c  | 1014 ++++++++++++++++++++\n drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h  |  133 +++\n .../net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c |  828 ++++++++++++++++\n .../net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.h |   43 +\n .../net/ethernet/mellanox/mlxsw/spectrum_router.c  |  205 +++-\n include/linux/mroute.h                             |   45 +\n include/net/fib_notifier.h                         |    2 +\n include/net/netns/ipv4.h                           |    3 +\n net/ipv4/ipmr.c                                    |  213 +++-\n 11 files changed, 2480 insertions(+), 11 deletions(-)\n create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c\n create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h\n create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c\n create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.h"
}