get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 13309,
    "url": "https://patches.dpdk.org/api/patches/13309/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1465317632-11471-4-git-send-email-jerin.jacob@caviumnetworks.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": "<1465317632-11471-4-git-send-email-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1465317632-11471-4-git-send-email-jerin.jacob@caviumnetworks.com",
    "date": "2016-06-07T16:40:15",
    "name": "[dpdk-dev,v3,03/20] thunderx/nicvf: add link status and link update support",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "a8a51871986c427e9d6b5c4b9f968b236ff57f99",
    "submitter": {
        "id": 305,
        "url": "https://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@caviumnetworks.com"
    },
    "delegate": {
        "id": 10,
        "url": "https://patches.dpdk.org/api/users/10/?format=api",
        "username": "bruce",
        "first_name": "Bruce",
        "last_name": "Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1465317632-11471-4-git-send-email-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/13309/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/13309/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 6F44D9AC3;\n\tTue,  7 Jun 2016 18:41:33 +0200 (CEST)",
            "from na01-bn1-obe.outbound.protection.outlook.com\n\t(mail-bn1bon0083.outbound.protection.outlook.com [157.56.111.83])\n\tby dpdk.org (Postfix) with ESMTP id 295B39AC2\n\tfor <dev@dpdk.org>; Tue,  7 Jun 2016 18:41:31 +0200 (CEST)",
            "from localhost.caveonetworks.com (111.93.218.67) by\n\tBN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18) with\n\tMicrosoft SMTP\n\tServer (TLS) id 15.1.511.8; Tue, 7 Jun 2016 16:41:26 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=1PHkEo7Obq7vPgZgrsDhGivvXiTiaFKWkOGMpvKRZWU=;\n\tb=JHPvfOLv9WBaTEBZ7/9QaBy6EK8EnMDZpz2F3qzaAWKre8yjWg+9r05sFBBefdSVSj5h1cosWlarjtpYyJ/U+U5aktbDdUpThBPOJ8tHLpO7Tn7vnVmCrB+Ic+DxC51P3DxbBgXAkpk3sxBvoJCjcBiaBIl7kZInsK+eQzagpSk=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Jerin.Jacob@cavium.com; ",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>, Jerin Jacob\n\t<jerin.jacob@caviumnetworks.com>, Maciej Czekaj\n\t<maciej.czekaj@caviumnetworks.com>, Kamil Rytarowski\n\t<Kamil.Rytarowski@caviumnetworks.com>,\n\tZyta Szpak <zyta.szpak@semihalf.com>, \n\tSlawomir Rosek <slawomir.rosek@semihalf.com>, Radoslaw Biernacki\n\t<rad@semihalf.com>",
        "Date": "Tue, 7 Jun 2016 22:10:15 +0530",
        "Message-ID": "<1465317632-11471-4-git-send-email-jerin.jacob@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.5.5",
        "In-Reply-To": "<1465317632-11471-1-git-send-email-jerin.jacob@caviumnetworks.com>",
        "References": "<1464540424-12631-1-git-send-email-jerin.jacob@caviumnetworks.com>\n\t<1465317632-11471-1-git-send-email-jerin.jacob@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[111.93.218.67]",
        "X-ClientProxiedBy": "MAXPR01CA0054.INDPRD01.PROD.OUTLOOK.COM (10.164.146.154)\n\tTo\n\tBN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18)",
        "X-MS-Office365-Filtering-Correlation-Id": "f66a940c-a4d7-4812-320b-08d38ef29364",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN3PR0701MB1719;\n\t2:00VVX3duDjr3P6xHYtyVmo+SROeZccOHQ7wKk7uMfXw56U4F0G2guHanGlOC4Z6gH2Tz6V7/1//WNIEzRz+CtatGK9wB9Ma/G/yy+9Yy4c6LLzoXWiVm7avRkc8auRgWOMdT77HeHtnAU864ZjgWtCzd1wBfQzXZ5Hr8JZHW1MLCa5JbSFXOZ/0nEj97cRKn;\n\t3:4+EHDbxsynFCapPhEoG1g7hFCxIbjxfA2qYkb/I1KwmbDpVj/ZL0E2fV8YqexK71LvLYdr6A1g3dnOM0auzSdURJZRVpKK6uQYH1DucVEocsKB+CrIjSgx4riWvqDd7Q",
            "1; BN3PR0701MB1719;\n\t25:BNhtENDHAKCvcNpKBzOwGlEQOt5HEFqJsiyYnAeIGQzYLAnkFFiEq14/mpKsR7aproq+VerjEptwDR6rCB82R5MizRwcrrALMEH+03d0uEeSU+TDUQsr5GGaDseivXclw5zhjHGj5gEuYVdm2ARFPQ5D3CShKXD+yPkGKGFPL7Hq232SCnvXV6wPRlBf+7dt66XU2ip9ZQ15piCB22LSqdaPIn+R+MjPN2dLjfRdEYmjhHCRjsf9rO3NjZ0FugHo0+sTZQux3W9De7/yW89El7xu+mJ/8WIXpaX8dqdzAtj+af5VvHjkcc3bwxdvlK/qWXKXrxcQSuUdFXOOsLWuNOTKQlVaMow4e/PvAMYHonCVJJkJrovVe2EbroClGqaocZOV7oDKgXCF2iVsl8OszzLH2BmOlswhqsgLSrzh0el2fl80TcIYYlJP6oDxqZQr7AhK7tkgU1ebSFTzbso8NXcf6DB1GmzdrDFOZD+54pRShgy0CgwbeCHOvPot5jZj4/4pF0zEuO9Mf9Zqu7zFIsFpsbO7hOhnHYylZ55giNSrOfVCDSNzwptXF0fZ9lHZdNT2GeRMuoh0KU3tb8qLMWIu3jnMY5h3i59W0Og8W1BVZXkl9yA/fg3sj1xLv/f7TA34OTeMcNxvZKtGaokl+NXOt3oqSiKKOJ3oLTUDW4y1FyZ1jjFkujiutwviiX5oSacD/mpsQ+h5fy1Shl5ruCgk0BTXy8/LdcFgC/+wcrH5dwEqrlpIgsbkA452VFMf",
            "1; BN3PR0701MB1719;\n\t20:+RlIHRLqB19MWYDjUHAv88I4V7Jtok3BLGL/7RKtgLJtiAO/10Ijcd13Jx/CqR4b+zexZ+IqLR/dzui6DY4ou3h2FDGgKqQdmOLfdMyHNHvqlSXFLGnrQy/MAA8C3ZardMkYOigcUKGOQYE2GvRr/fiJ2OzOqwzpCNJvmgqWcZVUr8RqYDJko/qZNFtGwB1aHcMbxYQ5PBMocd4aAZSD6r3uX6EsMqzaxvGLpSplRgZaMFrwxwSW1N1zpIz3awgN/nyNL9Jk7iW2+Zk4QNqgXj3nPDBL62o+JJQzCM4b9qbWpTyMvhRoBMCmcYiXdvLs8/9tlKEsCJhC7E/6zB/RBYjBtPbkx8uIzRogp3t539ZY/PwZ8qpdfeDnbYmbD0YVjHoVzWee26Y17dmq/BXNkeq3JBwZddlJ8H2GCnVFnqeUi98uSXknIHy58LZwuWBUzpmlEokhgi3fuT/bZJSdwmESGc3MAR0Rhz0cTerdNh58yq4NH3x/2K2329avLhgg/aWgA3OtqhFNFgDZz/BfFhsSfRmDNIXaQAfNA76N4XbsKjv36Z/sG82cTbg655OsOhykStcdgOX1TD/X7rd+vihzFIjTJ4s7wZsuzuwfFE8=",
            "1; BN3PR0701MB1719;\n\t4:2zBQ7A8eWOhhIWlqetrilWETTssjPTAel5W9lR/EqMF2FGVkujUYf0njeCIBoaSNzYvx4Vh6fM/5VX+j7cBw0hbsYim2PlWMHDK1if58tYv5/SdPRmWraRGnnM1l7FqLCZ0K3CCXolYsepkc2fFmHWpqJNw1AlambhOJNdujeIWsvoBf8n6MiHO3V42Z5cChilqejyOUD0tdPK/5KpT/UhQgSQGyryTKQ4PQMW3phvUsedU0+JTYa86+U3QPANfLfeeeho4oVwF9Gm8sU3FFoL2gqLamIOpLYcFIHX322+ZX4upGJKYIZFCRpB7njZytXqMxMLr76E+AYieOE0fWfzjdazG3wzSUXTc3czT2mKgwf7wJ/6XkSr68OTQfhVew",
            "=?us-ascii?Q?1; BN3PR0701MB1719;\n\t23:tBqARdPa+/csH/N5WFTtEvznG9uLBXO8fcvsHxx?=\n\t=?us-ascii?Q?g1FmmbpVLQeWwgcWlB8XUGqAU0YONctF41d7Ebuh9i/QLRjobJhsXd/pT5Ik?=\n\t=?us-ascii?Q?U7b7vnkgxeyRt3XnTs3jbA7amItT5oVp31WgccQY1McL9ufZbpPuiDjDSsLP?=\n\t=?us-ascii?Q?9YJqicE3K15teq7C1iZx1q9sYDq8CpEqT4R9c3tKfagijGkwJCY3TmQAnwGa?=\n\t=?us-ascii?Q?7CddX27BnVpf1IZXIUZNq666qz+N2HkG1FtBb8U1iT9MVxw0ysrlaJJER/nr?=\n\t=?us-ascii?Q?hyJVg42SWCnuuYOqH6gwjiYZrvnsEGgwf3O6mEGxnIezRyNApHtoU2TyTqge?=\n\t=?us-ascii?Q?fC/+xWxihZm3j4RbJHSwJsnwHaKz79odfPIxQEZXpGdXUo5/kegHe0MzLfpl?=\n\t=?us-ascii?Q?WTymT6ZdsuU7qkTevHsbPBf9n+seE5eAM5C3VTuq7ZuvPbkS6V6yLSYEGWvg?=\n\t=?us-ascii?Q?xWqmQ5vbGAVAMEckDFtAG7hrEKdZtBQm2IT4CeVpPVE2+oJpQldZeozJQChs?=\n\t=?us-ascii?Q?lBCoHDoFjQhDVBA1RLdqM1Lhlbc2NGRswCis2B3/xAOJ4xh2o+7A1guICtdi?=\n\t=?us-ascii?Q?o9WyCa+ZVCiL4yzVZ2bagv8An32VkY3/BAOrT8KaF4mNFZQBT7GQcm8rw2x+?=\n\t=?us-ascii?Q?58FxKp7yvoeZIsU1PZ1MWFcDc4vA5d2pinQ56rukPEQl1mhgPK0IjdNVsXrp?=\n\t=?us-ascii?Q?1o+PJI15+01Ut3npbS+Hmfwr9VAZhNqhAMd+ctj27WyxNMrXhvGNunMqrR08?=\n\t=?us-ascii?Q?MSuOm1r+oP7swNufmbqX/iafrUeP4xlYONxLV0sA2xYOPbY1AeMRVgyOT/Ot?=\n\t=?us-ascii?Q?DAzAj0x7BOsgppe/cKWZqqV5777GnSdo5xHrKJkXdVKB2LU6thjzaRFrvmGe?=\n\t=?us-ascii?Q?cWfkZ+DHiIj3iQZXf2vXlmKFBBm3qjUTvanAQPMz39uOxRJrSz6fZB/DOmUN?=\n\t=?us-ascii?Q?KCjRKkd95J4kA6VVWStXYYcs24MdHWAr8ZlQmpOKg1sXo9PYF0WexpseVYU9?=\n\t=?us-ascii?Q?WKTAq2BGjyyhSNj4d5mUp/fUBajN+DxSppAc+ae1EaviSKL6pIdFTIMNBrBd?=\n\t=?us-ascii?Q?WrgPvKNYYTEazlT0YLZ3jNC/rEp5G2wEsX16GlFTbvlEVxG6qiIJI4K/hzCU?=\n\t=?us-ascii?Q?g17Ox3rscvnltl+6gPNpOgPU3LSKpDFSYUSNDZBPfZBD+cJA7gLj8Qoxd3t9?=\n\t=?us-ascii?Q?hTQIfMMi65Pno3wc=3D?=",
            "1; BN3PR0701MB1719;\n\t5:AnVBWBMdeayaD0rRRnRmM/oveLaOVbanSXdVCUSz7SeLQtp73ERXAFWSQbCgHE0h4mGCz5uVTtl1vPlm1FBYu03Qq8PRcGntOBqlPrfabjbWs1tZBThayV4HCkIQSXkHxMMRNJds8TQIMwb1+Go3XA==;\n\t24:J4XAqFUwQtzSuFDvsmNWBeYemcM0fhhg4GHlBfU/01jYitUqy2fDqhXONwH15fkYYMXqwzhZEwoOHmIv10Z4LA1p9voMWeKI52t0RLq6Lto=;\n\t7:nI5m+w6S1C5M3hhYHge+JDxlt0Up3iA96ly+EEMJEu3CPsUrBFZKsXOYOlMK82yRTwqaCEqVZ5McNpC8+ShwOKB2THCW1Ov2PA/94lNnALMVl8ERoLOvzhpopjSDyLY6CWkCwkpRrhx97BJkS2SFH8IrJQbdhaeAzmx5sw54G6Js2x41W4sKn2G9BXrXjfJ8Cq21QAfaydc6awtFPbQc0NvyhgaQfnQih2x7nfIRu1g="
        ],
        "X-Microsoft-Antispam": "UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1719;",
        "X-Microsoft-Antispam-PRVS": "<BN3PR0701MB17191714A390B095314B84C9815D0@BN3PR0701MB1719.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); \n\tSRVR:BN3PR0701MB1719; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1719; ",
        "X-Forefront-PRVS": "09669DB681",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6069001)(6009001)(199003)(189002)(81166006)(8676002)(81156014)(47776003)(66066001)(36756003)(92566002)(2950100001)(586003)(2351001)(48376002)(76506005)(42186005)(50466002)(4326007)(77096005)(3846002)(6116002)(5003940100001)(53416004)(5004730100002)(105586002)(97736004)(2906002)(5008740100001)(106356001)(189998001)(15650500001)(19580395003)(69596002)(101416001)(110136002)(19580405001)(68736007)(33646002)(76176999)(50986999)(229853001)(50226002)(5009440100003)(7099028);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1719;\n\tH:localhost.caveonetworks.com; \n\tFPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "07 Jun 2016 16:41:26.6808\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN3PR0701MB1719",
        "Subject": "[dpdk-dev] [PATCH v3 03/20] thunderx/nicvf: add link status and\n\tlink update support",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Extended the nicvf_interrupt function to respond\nNIC_MBOX_MSG_BGX_LINK_CHANGE mbox message from PF and update\nstruct rte_eth_link accordingly.\n\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\nSigned-off-by: Maciej Czekaj <maciej.czekaj@caviumnetworks.com>\nSigned-off-by: Kamil Rytarowski <Kamil.Rytarowski@caviumnetworks.com>\nSigned-off-by: Zyta Szpak <zyta.szpak@semihalf.com>\nSigned-off-by: Slawomir Rosek <slawomir.rosek@semihalf.com>\nSigned-off-by: Radoslaw Biernacki <rad@semihalf.com>\n---\n drivers/net/thunderx/nicvf_ethdev.c | 55 ++++++++++++++++++++++++++++++++++++-\n drivers/net/thunderx/nicvf_ethdev.h |  4 +++\n 2 files changed, 58 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c\nindex 45bfc13..5d28eea 100644\n--- a/drivers/net/thunderx/nicvf_ethdev.c\n+++ b/drivers/net/thunderx/nicvf_ethdev.c\n@@ -69,12 +69,47 @@\n \n #include \"nicvf_logs.h\"\n \n+static int nicvf_dev_link_update(struct rte_eth_dev *dev, int wait_to_complete);\n+\n+static inline int\n+nicvf_atomic_write_link_status(struct rte_eth_dev *dev,\n+\t\t\t       struct rte_eth_link *link)\n+{\n+\tstruct rte_eth_link *dst = &dev->data->dev_link;\n+\tstruct rte_eth_link *src = link;\n+\n+\tif (rte_atomic64_cmpset((uint64_t *)dst, *(uint64_t *)dst,\n+\t\t*(uint64_t *)src) == 0)\n+\t\treturn -1;\n+\n+\treturn 0;\n+}\n+\n+static inline void\n+nicvf_set_eth_link_status(struct nicvf *nic, struct rte_eth_link *link)\n+{\n+\tlink->link_status = nic->link_up;\n+\tlink->link_duplex = ETH_LINK_AUTONEG;\n+\tif (nic->duplex == NICVF_HALF_DUPLEX)\n+\t\tlink->link_duplex = ETH_LINK_HALF_DUPLEX;\n+\telse if (nic->duplex == NICVF_FULL_DUPLEX)\n+\t\tlink->link_duplex = ETH_LINK_FULL_DUPLEX;\n+\tlink->link_speed = nic->speed;\n+\tlink->link_autoneg = ETH_LINK_SPEED_AUTONEG;\n+}\n+\n static void\n nicvf_interrupt(void *arg)\n {\n \tstruct nicvf *nic = (struct nicvf *)arg;\n \n-\tnicvf_reg_poll_interrupts(nic);\n+\tif (nicvf_reg_poll_interrupts(nic) == NIC_MBOX_MSG_BGX_LINK_CHANGE) {\n+\t\tif (nic->eth_dev->data->dev_conf.intr_conf.lsc)\n+\t\t\tnicvf_set_eth_link_status(nic,\n+\t\t\t\t\t&nic->eth_dev->data->dev_link);\n+\t\t_rte_eth_dev_callback_process(nic->eth_dev,\n+\t\t\t\tRTE_ETH_EVENT_INTR_LSC);\n+\t}\n \n \trte_eal_alarm_set(NICVF_INTR_POLL_INTERVAL_MS * 1000,\n \t\t\t\tnicvf_interrupt, nic);\n@@ -93,8 +128,26 @@ nicvf_periodic_alarm_stop(struct nicvf *nic)\n \treturn rte_eal_alarm_cancel(nicvf_interrupt, nic);\n }\n \n+/*\n+ * Return 0 means link status changed, -1 means not changed\n+ */\n+static int\n+nicvf_dev_link_update(struct rte_eth_dev *dev,\n+\t\t      int wait_to_complete __rte_unused)\n+{\n+\tstruct rte_eth_link link;\n+\tstruct nicvf *nic = nicvf_pmd_priv(dev);\n+\n+\tPMD_INIT_FUNC_TRACE();\n+\n+\tmemset(&link, 0, sizeof(link));\n+\tnicvf_set_eth_link_status(nic, &link);\n+\treturn nicvf_atomic_write_link_status(dev, &link);\n+}\n+\n /* Initialize and register driver with DPDK Application */\n static const struct eth_dev_ops nicvf_eth_dev_ops = {\n+\t.link_update              = nicvf_dev_link_update,\n };\n \n static int\ndiff --git a/drivers/net/thunderx/nicvf_ethdev.h b/drivers/net/thunderx/nicvf_ethdev.h\nindex d4d2071..8189856 100644\n--- a/drivers/net/thunderx/nicvf_ethdev.h\n+++ b/drivers/net/thunderx/nicvf_ethdev.h\n@@ -38,6 +38,10 @@\n #define THUNDERX_NICVF_PMD_VERSION      \"1.0\"\n \n #define NICVF_INTR_POLL_INTERVAL_MS\t50\n+#define NICVF_HALF_DUPLEX\t\t0x00\n+#define NICVF_FULL_DUPLEX\t\t0x01\n+#define NICVF_UNKNOWN_DUPLEX\t\t0xff\n+\n \n static inline struct nicvf *\n nicvf_pmd_priv(struct rte_eth_dev *eth_dev)\n",
    "prefixes": [
        "dpdk-dev",
        "v3",
        "03/20"
    ]
}