Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/51288/?format=api
https://patches.dpdk.org/api/patches/51288/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1552925103-2821-5-git-send-email-rasland@mellanox.com/", "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": "<1552925103-2821-5-git-send-email-rasland@mellanox.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1552925103-2821-5-git-send-email-rasland@mellanox.com", "date": "2019-03-18T16:05:27", "name": "[v3,4/4] net/failsafe: support secondary process", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "c86ebcac590596105860e09e4025641c1a1155fe", "submitter": { "id": 513, "url": "https://patches.dpdk.org/api/people/513/?format=api", "name": "Raslan Darawsheh", "email": "rasland@mellanox.com" }, "delegate": { "id": 319, "url": "https://patches.dpdk.org/api/users/319/?format=api", "username": "fyigit", "first_name": "Ferruh", "last_name": "Yigit", "email": "ferruh.yigit@amd.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/1552925103-2821-5-git-send-email-rasland@mellanox.com/mbox/", "series": [ { "id": 3785, "url": "https://patches.dpdk.org/api/series/3785/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=3785", "date": "2019-03-18T16:05:25", "name": "support secondary process for failsafe", "version": 3, "mbox": "https://patches.dpdk.org/series/3785/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/51288/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/51288/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id EE9194F90;\n\tMon, 18 Mar 2019 17:05:39 +0100 (CET)", "from EUR03-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr50087.outbound.protection.outlook.com [40.107.5.87])\n\tby dpdk.org (Postfix) with ESMTP id 5A92C3572\n\tfor <dev@dpdk.org>; Mon, 18 Mar 2019 17:05:29 +0100 (CET)", "from AM6PR05MB5926.eurprd05.prod.outlook.com (20.179.2.27) by\n\tAM6PR05MB5798.eurprd05.prod.outlook.com (20.178.94.11) with Microsoft\n\tSMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1709.14; Mon, 18 Mar 2019 16:05:28 +0000", "from AM6PR05MB5926.eurprd05.prod.outlook.com\n\t([fe80::ddb7:2093:62c0:59fb]) by\n\tAM6PR05MB5926.eurprd05.prod.outlook.com\n\t([fe80::ddb7:2093:62c0:59fb%2]) with mapi id 15.20.1709.015;\n\tMon, 18 Mar 2019 16:05:28 +0000" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=So/VYIZNXq0oC4A8chMbCsrakSaGti2yvMJQxKDWy78=;\n\tb=rQOE3LrCuF4ZSM/ouji33oIzyPU/0IfUnf+/WBAMV8l5yccNXBV+OkTCXDzU+V7wLuxMIOxiXRO1m8u1bs+QROCTKcaozeZRQhYl5cq1ABN3UrZHiuoqx5FkUwcefdDQUWd82/ZY1B8lEt95BNb5MGgGR1JqSvUx2H0ZwNvjpdQ=", "From": "Raslan Darawsheh <rasland@mellanox.com>", "To": "\"gaetan.rivet@6wind.com\" <gaetan.rivet@6wind.com>", "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, Thomas Monjalon <thomas@monjalon.net>,\n\tRaslan Darawsheh <rasland@mellanox.com>, \"stephen@networkplumber.org\"\n\t<stephen@networkplumber.org>", "Thread-Topic": "[PATCH v3 4/4] net/failsafe: support secondary process", "Thread-Index": "AQHU3aRniD5D+j9qxk2cwrqJBS+Xjg==", "Date": "Mon, 18 Mar 2019 16:05:27 +0000", "Message-ID": "<1552925103-2821-5-git-send-email-rasland@mellanox.com>", "References": "<1551779507-10857-1-git-send-email-rasland@mellanox.com>\n\t<1552925103-2821-1-git-send-email-rasland@mellanox.com>", "In-Reply-To": "<1552925103-2821-1-git-send-email-rasland@mellanox.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-mailer": "git-send-email 2.7.4", "x-clientproxiedby": "LNXP123CA0003.GBRP123.PROD.OUTLOOK.COM\n\t(2603:10a6:600:d2::15) To AM6PR05MB5926.eurprd05.prod.outlook.com\n\t(2603:10a6:20b:a9::27)", "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=rasland@mellanox.com; ", "x-ms-exchange-messagesentrepresentingtype": "1", "x-originating-ip": "[37.142.13.130]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-correlation-id": "02b95439-d086-4a22-af3c-08d6abbb89b0", "x-ms-office365-filtering-ht": "Tenant", "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:AM6PR05MB5798; ", "x-ms-traffictypediagnostic": "AM6PR05MB5798:", "x-ld-processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr", "x-microsoft-antispam-prvs": "<AM6PR05MB57985DC43D8B97D4D431BFB0C2470@AM6PR05MB5798.eurprd05.prod.outlook.com>", "x-forefront-prvs": "098076C36C", "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(39860400002)(376002)(136003)(346002)(366004)(396003)(189003)(199004)(68736007)(6486002)(36756003)(316002)(8936002)(50226002)(5640700003)(53936002)(6916009)(6436002)(71200400001)(97736004)(71190400001)(6512007)(256004)(3846002)(14444005)(6116002)(86362001)(66066001)(2906002)(76176011)(52116002)(5660300002)(5024004)(54906003)(2616005)(386003)(102836004)(81156014)(81166006)(478600001)(26005)(186003)(6506007)(8676002)(305945005)(14454004)(106356001)(4326008)(105586002)(2501003)(11346002)(446003)(2351001)(476003)(7736002)(99286004)(25786009)(486006);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB5798;\n\tH:AM6PR05MB5926.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; MX:1; A:1; ", "received-spf": "None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam-message-info": "+AYaKScaRrl7qOnswxmqaLpfvjyWHFIZ5nW+HHh0EwCAdDYvrJvXvxbsjr/fVuBOUkZPhYek5jqZ0d/91XBaPlqV1rR+o4wcFXSJWz9LmiPrzVtv+40BcoOeJdptmGu/+w4aH7tAvY8W6xrPlh81UAnOBeRb96M1YHQ0WBAKQHML/gJcyVnhytWyvvMALmRoktJy/BERIO8CXuDoMsPLFHLdxLF5EFnWJMTBHSPr2PicVFbq+tAoGbptjuWaeYt04mPqei75G8V3atFD0xtuGVw7YXM0fdU5fEkj0RiktLbvjBSE8UuKMWL1OzyDVpUUck4r+Ftgmft7Upmig+3vyM2i7Re3F8UN8jxewtsBPZ7lbPpUojaEP6OfV9yJa3MePQaYKGh58HXQlMz8yidZSiMCM2dE3bFMC4xAgZAc9Ro=", "Content-Type": "text/plain; charset=\"iso-8859-1\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "X-OriginatorOrg": "Mellanox.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "02b95439-d086-4a22-af3c-08d6abbb89b0", "X-MS-Exchange-CrossTenant-originalarrivaltime": "18 Mar 2019 16:05:27.9537\n\t(UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "a652971c-7d2e-4d9b-a6a4-d149256f461b", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM6PR05MB5798", "Subject": "[dpdk-dev] [PATCH v3 4/4] net/failsafe: support secondary process", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Add implementation for probe in secondary.\n\nFailsafe will attempt to attach all the sub-devices in\nsecondary process.\n\nSigned-off-by: Raslan Darawsheh <rasland@mellanox.com>\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\nv2: changed devargs_alread_listed return value to be bool.\n\n---\n drivers/net/failsafe/failsafe.c | 45 ++++++++++++++++++++++++++++++++++++++++-\n 1 file changed, 44 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c\nindex e53a89d..42dfaca 100644\n--- a/drivers/net/failsafe/failsafe.c\n+++ b/drivers/net/failsafe/failsafe.c\n@@ -3,6 +3,8 @@\n * Copyright 2017 Mellanox Technologies, Ltd\n */\n \n+#include <stdbool.h>\n+\n #include <rte_alarm.h>\n #include <rte_malloc.h>\n #include <rte_ethdev_driver.h>\n@@ -318,11 +320,28 @@ fs_rte_eth_free(const char *name)\n \treturn ret;\n }\n \n+static bool\n+devargs_already_listed(struct rte_devargs *devargs)\n+{\n+\tstruct rte_devargs *list_da;\n+\n+\tRTE_EAL_DEVARGS_FOREACH(devargs->bus->name, list_da) {\n+\t\tif (strcmp(list_da->name, devargs->name) == 0)\n+\t\t\t/* devargs already in the list */\n+\t\t\treturn true;\n+\t}\n+\treturn false;\n+}\n+\n static int\n rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)\n {\n \tconst char *name;\n \tstruct rte_eth_dev *eth_dev;\n+\tstruct sub_device *sdev;\n+\tstruct rte_devargs devargs;\n+\tuint8_t i;\n+\tint ret;\n \n \tname = rte_vdev_device_name(vdev);\n \tINFO(\"Initializing \" FAILSAFE_DRIVER_NAME \" for %s\",\n@@ -335,9 +354,33 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)\n \t\t\tERROR(\"Failed to probe %s\", name);\n \t\t\treturn -1;\n \t\t}\n-\t\t/* TODO: request info from primary to set up Rx and Tx */\n \t\teth_dev->dev_ops = &failsafe_ops;\n \t\teth_dev->device = &vdev->device;\n+\t\teth_dev->rx_pkt_burst = (eth_rx_burst_t)&failsafe_rx_burst;\n+\t\teth_dev->tx_pkt_burst = (eth_tx_burst_t)&failsafe_tx_burst;\n+\t\t/*\n+\t\t * Failsafe will attempt to probe all of its sub-devices.\n+\t\t * Any failure in sub-devices is not a fatal error.\n+\t\t * A sub-device can be plugged later.\n+\t\t */\n+\t\tFOREACH_SUBDEV(sdev, i, eth_dev) {\n+\t\t\t/* rebuild devargs to be able to get the bus name. */\n+\t\t\tret = rte_devargs_parse(&devargs,\n+\t\t\t\t\t\tsdev->devargs.name);\n+\t\t\tif (ret != 0) {\n+\t\t\t\tERROR(\"Failed to parse devargs %s\",\n+\t\t\t\t\tdevargs.name);\n+\t\t\t\tcontinue;\n+\t\t\t}\n+\t\t\tif (!devargs_already_listed(&devargs)) {\n+\t\t\t\tret = rte_dev_probe(devargs.name);\n+\t\t\t\tif (ret != 0) {\n+\t\t\t\t\tERROR(\"Failed to probe devargs %s\",\n+\t\t\t\t\t devargs.name);\n+\t\t\t\t\tcontinue;\n+\t\t\t\t}\n+\t\t\t}\n+\t\t}\n \t\trte_eth_dev_probing_finish(eth_dev);\n \t\treturn 0;\n \t}\n", "prefixes": [ "v3", "4/4" ] }{ "id": 51288, "url": "