Show a cover letter.

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

{
    "id": 65966,
    "url": "https://patches.dpdk.org/api/covers/65966/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/cover/1582207174-31037-1-git-send-email-xiaojun.liu@silicom.co.il/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1582207174-31037-1-git-send-email-xiaojun.liu@silicom.co.il>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1582207174-31037-1-git-send-email-xiaojun.liu@silicom.co.il",
    "date": "2020-02-20T13:59:29",
    "name": "[v2,0/5] support switch management",
    "submitter": {
        "id": 1512,
        "url": "https://patches.dpdk.org/api/people/1512/?format=api",
        "name": "Xiaojun Liu",
        "email": "xiaojun.liu@silicom.co.il"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/cover/1582207174-31037-1-git-send-email-xiaojun.liu@silicom.co.il/mbox/",
    "series": [
        {
            "id": 8635,
            "url": "https://patches.dpdk.org/api/series/8635/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=8635",
            "date": "2020-02-20T13:59:29",
            "name": "support switch management",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/8635/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/covers/65966/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 50F25A0556;\n\tThu, 20 Feb 2020 15:00:14 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 9BF0A37B0;\n\tThu, 20 Feb 2020 15:00:13 +0100 (CET)",
            "from EUR04-HE1-obe.outbound.protection.outlook.com\n (mail-eopbgr70090.outbound.protection.outlook.com [40.107.7.90])\n by dpdk.org (Postfix) with ESMTP id E03C425B3\n for <dev@dpdk.org>; Thu, 20 Feb 2020 15:00:12 +0100 (CET)",
            "from DB7PR04MB5196.eurprd04.prod.outlook.com (20.176.234.140) by\n DB7PR04MB5354.eurprd04.prod.outlook.com (20.178.107.81) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.2750.18; Thu, 20 Feb 2020 14:00:10 +0000",
            "from DB7PR04MB5196.eurprd04.prod.outlook.com\n ([fe80::a400:f6b9:34b1:ed]) by DB7PR04MB5196.eurprd04.prod.outlook.com\n ([fe80::a400:f6b9:34b1:ed%5]) with mapi id 15.20.2729.033; Thu, 20 Feb 2020\n 14:00:10 +0000",
            "from xj-desktop.net-perf.com (119.139.198.174) by\n HK2PR06CA0007.apcprd06.prod.outlook.com (2603:1096:202:2e::19) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.2750.18 via Frontend Transport; Thu, 20 Feb 2020 14:00:08 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=La+8qIKR4Bwy0v3/tvVF8MELINK85tKYLF4Q0/yXxVcaFlPcd7sUJ93Fk4P7o+cAZE5il3fl1ff11GjLfnNd0zJbiKHOh5FtaWOP02ngTMD6W5pEKTl0Jven9TK3PDSbrZ+2PhQbV36YoDsFH24QZwND/Dz/N1ynNGrzreAulkIMzeEpcK1FPQQHc3UIT7C9nNapM+xHWn2SKSs/NBmvdq1bqtQdKzrk3SZxSmsNWgpcF54HLAQdPVj0KQ/W4mFrnaWinVvXZtUcLLgnSHBRSLKZ0NpCcUi7A/Jidq9Dit99vgMmRb/vys00K9UXPifsSBt2I+ez2v6Xk9sznNxEkw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=KWSFGn4aX9ruEIa9+sybU3So11JVgoSqrttVFEa1/FQ=;\n b=jM85KH9KZxCYhSlc2phUEl9L0HoQ6ZI+w/FSm8DtdRbqeyamCe/i1O7rx/x8zBvTsc8EKb6YdrR7oTcbJnXG9YkMqtRzIdMdU5LQTYDah6K+J3XV2rWoE3M0oFpcf9OU2EeiHx2zV7u4DuxsAS7teXMQv78z0mXqdVtOF2BY2M2b0T4jz+OiUc3KqN4e5DiCNVkfqluShP+8/OuNXnjfXzyVN9jR3awSEkjCJlK6ktw+bovvE3SCxK1274ZPrsPMI/6Foj141Iv0ZLekk7nNfYBvE8K+pr5KquubwLQ7ySNeYIzb4G6TwOPCwjwYFXUgsfpROJilFUb/9lGSMHDzHg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=silicom.co.il; dmarc=pass action=none\n header.from=silicom.co.il; dkim=pass header.d=silicom.co.il; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=SILICOMLTD.onmicrosoft.com; s=selector2-SILICOMLTD-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=KWSFGn4aX9ruEIa9+sybU3So11JVgoSqrttVFEa1/FQ=;\n b=EUiAR8jm+StWizzJ8xqI6ctqVuLrtgRattixArZcPUOG6ETGBP370t5swoE67JtXN6pv/qGXGOtyMCmW7mrhJXs9qvZ/DeKktk8j64fCWVSh4XZkg06rqueNkflbZtdD31VAA8fFpr5BHdqRHJKv4/ryc8vb9YvRk8x+QlJ17UU=",
        "Authentication-Results": "spf=none (sender IP is )\n smtp.mailfrom=xiaojun.liu@silicom.co.il;",
        "From": "Xiaojun Liu <xiaojun.liu@silicom.co.il>",
        "To": "xiao.w.wang@intel.com, qi.z.zhang@intel.com, ngai-mint.kwan@intel.com,\n jacob.e.keller@intel.com",
        "Cc": "dev@dpdk.org,\n\tXiaojun Liu <xiaojun.liu@silicom.co.il>",
        "Date": "Thu, 20 Feb 2020 21:59:29 +0800",
        "Message-Id": "<1582207174-31037-1-git-send-email-xiaojun.liu@silicom.co.il>",
        "X-Mailer": [
            "git-send-email 1.8.3.1",
            "git-send-email 1.8.3.1"
        ],
        "In-Reply-To": "<1576057875-7677-2-git-send-email-xiaojun.liu@silicom.co.il>",
        "References": "<1576057875-7677-2-git-send-email-xiaojun.liu@silicom.co.il>",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "HK2PR06CA0007.apcprd06.prod.outlook.com\n (2603:1096:202:2e::19) To DB7PR04MB5196.eurprd04.prod.outlook.com\n (2603:10a6:10:1a::12)",
        "MIME-Version": "1.0",
        "X-Originating-IP": "[119.139.198.174]",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "0d5e3c68-ae4f-4d60-7ba5-08d7b60d331a",
        "X-MS-TrafficTypeDiagnostic": "DB7PR04MB5354:",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-Microsoft-Antispam-PRVS": "\n <DB7PR04MB5354FD43F35AC612A764FB62BD130@DB7PR04MB5354.eurprd04.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:3968;",
        "X-Forefront-PRVS": "031996B7EF",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n SFS:(10019020)(396003)(39850400004)(136003)(376002)(346002)(366004)(199004)(189003)(36756003)(6512007)(86362001)(81166006)(2906002)(81156014)(52116002)(6506007)(8676002)(4326008)(8936002)(16526019)(316002)(6666004)(186003)(6486002)(5660300002)(44832011)(478600001)(66946007)(66476007)(107886003)(26005)(66556008)(2616005)(956004);\n DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR04MB5354;\n H:DB7PR04MB5196.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en;\n PTR:InfoNoRecords; A:1; MX:1;",
        "Received-SPF": "None (protection.outlook.com: silicom.co.il does not designate\n permitted sender hosts)",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n NABLk15grk01nxfmjbt96TepxtY86pKZE69mB6MUDoxkBi71H3M9sSjUvdPvSXy1hP4BoO8XCv8jHjsiel9Qjx92/3EthSSY5370jpNagCE7t0eKCa6Pkdq8Kp2bUCtgfqhX81RlipXJvyw6w4IM6I7Ad2rBdm6svjlWaZaCTaDdGhPQHC3IPLJPeqmDAsifZnLrRkUXWBGxlQYnGH+VBsBakEUSQYtTva+A+2zoULzozegiemZyr4ryCA4CiWjKdYlf5k3QVDiNZjqwctj+p5KciYF3EqYJazK+r0wS0ARR5x5gWiuVyT6zStCgUS4Z9e/hcIv5mhI+k93fFBHB2+oFc0erMchYiz7loqby6FT5HjU9FY+GGV8htIMiOMj1to2FVw8byLlaaUxO7k5u/NkfDsP5EWUHGalajt30r04Sj+gv+iZ0Dq0jSq2MPWbS",
        "X-MS-Exchange-AntiSpam-MessageData": "\n gKdPQtQSHTGQwuyHomrjP45ADJo3rwjfzNDhZUfe2z+Ew9SYh4TY26bq+dqEDZ3KBTbshzaZr4oHGD31jC90vEPiieQStpjUEWfanbOp+lc3eXxGMrMyiT03WWwmgx6yFC7WYJB0P5rNjcF3YveM5g==",
        "X-OriginatorOrg": "silicom.co.il",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 0d5e3c68-ae4f-4d60-7ba5-08d7b60d331a",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Feb 2020 14:00:10.5867 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "c9e326d8-ce47-4930-8612-cc99d3c87ad1",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n AiWkoOUR132UjFKonn3GB71cA1vA+DkRFiccBal51zchwvwC9p4knF//0FLBERz3Vytr+tOWp6xD/LOIoxVCrXp8Pivmx7+szHMeiri7pb8=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB7PR04MB5354",
        "Subject": "[dpdk-dev] [PATCH v2 0/5] support switch management",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "To avoid configuration for both kernel driver\nand userspace SDK outside DPDK, we add switch\nmanagement in FM10K DPDK PMD driver.\n\nSplit dev init to 2 parts.\nFirst only register the port in switch\nmanagement; second init hook will be\ncalled after all the pf are registered\nand switch initialization. It will finish\ndev init. Also add switch interrupt support.\nAdd fm10k_mirror_rule_set/fm10k_mirror_rule_reset\nto support mirror operation. Add fm10k_dev_filter_ctrl\nto support flow operation.\nAdd dpdk port and pf mapping, so\nthe dpdk port can map to a specific pf\nand 1 dpdk port can map to 2 pf to get\ntotal 100G throughput.\n\nAdd flow interface to support offload flow into HW.\nIt supports parse vlan and parse mpls, all these\ndata will be transffered to ffu data.\nAdd switch management, includes initialization,\nport mapping, epl port link, LED controller, interrupt handler.\nIt create 3 threads. One for interrupt handler, one for\nLED controller, one for statistics.\n\nAdd ffu to support offload flow into HW.\nIt supports forward, mirror, push VLAN, pop VLAN.\nIt also supports flowset for a group flow definition.\nThe config file can configure debug log, port speed,\nepl port mapping dpdk port, flowset. All these configuration\nwill be used by switch management.\nStatistics includes epl port, ffu rule, dpdk port, and error.\nAll these statistics data are read from HW.\nModify switch header file to support getting logical port\nand glort and device info.\n\nAdd epl serdes include loading spico,\ncontroling pcsl, dma, dfe, ical. Add spico code.\nAdd state machine for epl lane and port, it creates\na pthread to handle the state changing event.\nAdd external port management, which will use\nstate machine to handle the event from lane and port.\nThe lane state will change between DOWN, WAIT_PLL_LOCK,\nWAIT_SIGNAL_OK, WAIT_DFE_ICAL, WAIT_DFE_PCAL, UP.\nThe port state will change between DOWN, WAIT_LANE_UP, UP.\n\nAdd I2C to control the inside LED and PHY.\nAll the operations of I2C are using fm10k I2C register.\nAdd SBUS to communicate with spico(micro code in serdes)\nby using fm10k SBUS register. This is like I2C operations.\nAdd registers defination, which include all the registers\nwill be used in the driver. Add switch management log API.\nAdd switch management structures. Modify Makefile to add\nnew files building\n\n\nXiaojun Liu (5):\n  net/fm10k: add basic functions for switch management\n  net/fm10k: add epl serdes and port control functions\n  net/fm10k: add ffu and statistics and config file functions\n  net/fm10k: add flow interface and switch management\n  net/fm10k: add switch management support\n\n drivers/net/fm10k/Makefile                  |   25 +\n drivers/net/fm10k/fm10k_ethdev.c            |  587 +++++-\n drivers/net/fm10k/switch/fm10k_config.c     |  863 ++++++++\n drivers/net/fm10k/switch/fm10k_config.h     |  178 ++\n drivers/net/fm10k/switch/fm10k_debug.h      |   19 +\n drivers/net/fm10k/switch/fm10k_ext_port.c   |  841 ++++++++\n drivers/net/fm10k/switch/fm10k_ext_port.h   |  136 ++\n drivers/net/fm10k/switch/fm10k_ffu.c        | 1253 +++++++++++\n drivers/net/fm10k/switch/fm10k_ffu.h        |   31 +\n drivers/net/fm10k/switch/fm10k_flow.c       |  872 ++++++++\n drivers/net/fm10k/switch/fm10k_flow.h       |   26 +\n drivers/net/fm10k/switch/fm10k_i2c.c        |  310 +++\n drivers/net/fm10k/switch/fm10k_i2c.h        |   54 +\n drivers/net/fm10k/switch/fm10k_regs.h       | 2302 +++++++++++++++++++++\n drivers/net/fm10k/switch/fm10k_sbus.c       |  292 +++\n drivers/net/fm10k/switch/fm10k_sbus.h       |   40 +\n drivers/net/fm10k/switch/fm10k_serdes.c     | 1936 +++++++++++++++++\n drivers/net/fm10k/switch/fm10k_serdes.h     |   32 +\n drivers/net/fm10k/switch/fm10k_sm.c         |  190 ++\n drivers/net/fm10k/switch/fm10k_sm.h         |   81 +\n drivers/net/fm10k/switch/fm10k_spico_code.c | 2966 +++++++++++++++++++++++++++\n drivers/net/fm10k/switch/fm10k_spico_code.h |   21 +\n drivers/net/fm10k/switch/fm10k_stats.c      | 1242 +++++++++++\n drivers/net/fm10k/switch/fm10k_stats.h      |  257 +++\n drivers/net/fm10k/switch/fm10k_switch.c     | 2376 +++++++++++++++++++++\n drivers/net/fm10k/switch/fm10k_switch.h     |  475 +++++\n 26 files changed, 17364 insertions(+), 41 deletions(-)\n create mode 100644 drivers/net/fm10k/switch/fm10k_config.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_config.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_debug.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_ext_port.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_ext_port.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_ffu.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_ffu.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_flow.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_flow.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_i2c.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_i2c.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_regs.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_sbus.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_sbus.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_serdes.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_serdes.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_sm.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_sm.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_spico_code.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_spico_code.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_stats.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_stats.h\n create mode 100644 drivers/net/fm10k/switch/fm10k_switch.c\n create mode 100644 drivers/net/fm10k/switch/fm10k_switch.h"
}