Show a cover letter.

GET /api/covers/41887/
Content-Type: application/json
Vary: Accept

    "id": 41887,
    "url": "",
    "web_url": "",
    "project": {
        "id": 1,
        "url": "",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "",
        "list_email": "",
        "web_url": "",
        "scm_url": "git://",
        "webscm_url": ""
    "msgid": "<>",
    "date": "2018-06-28T22:45:13",
    "name": "[00/10] kni: Interface detach and link status fixes.",
    "submitter": {
        "id": 1040,
        "url": "",
        "name": "Dan Gora",
        "email": ""
    "mbox": "",
    "series": [
            "id": 301,
            "url": "",
            "web_url": "",
            "date": "2018-06-28T22:45:13",
            "name": "kni: Interface detach and link status fixes.",
            "version": 1,
            "mbox": ""
    "comments": "",
    "headers": {
        "X-Mailer": "git-send-email 2.18.0.rc1.1.g6f333ff2f",
        "List-Id": "DPDK patches and discussions <>",
        "From": "Dan Gora <>",
        "List-Help": "<>",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025;\n\th=sender:from:to:cc:subject:date:message-id;\n\tbh=0OH3qkUi3JqTridOs2pDS375bCfbGsbMtEGcifZiizQ=;\n\tb=A+VWgM3mdNcQNVUPnQwHIEb/UbOLJGEnTszMo+0Xhw1n26sOopqjc4rmO5R20EILw9\n\tc339V9KRwCKUH8lXdt+rtrjBL/uE2mA8U6n9IWSvDgZFzF/D8g4g7x6IKqxmzNT1hdu/\n\tNdeGpaHcKSvN8FpE4qLZ++xw9SFtTMafTxFi1GR7wQbHGC4hXtAWFHjFRP0oL6imn9MO\n\tSwc5hY0ScpUt6cZ8cPMXDNFQftQ6lwMEV26cIJ2fcF3oxEVnP9NC3IUqXJR5zMJtkcrp\n\tVNPPJi1Si4fFH1dTrRSOwQdLS0KMjJcY0vin3j9mc8/576B1l5NW81hQtq4M4WETiiN1\n\t9g8g==",
        "X-Mailman-Version": "2.1.15",
        "Delivered-To": "",
        "X-Gm-Message-State": "APt69E0zS1FEgfl+42tgBdbC3X6aW2sE+LB0ttA9Isr+sHDf48DPVCek\n\tEhgGY81s8eTJIU3wJQ1C4sb0Dg==",
        "List-Archive": "<>",
        "List-Subscribe": "<>,\n\t<>",
        "Cc": ",\n\tDan Gora <>",
        "To": "",
        "Errors-To": "",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\; s=20161025;\n\th=x-gm-message-state:sender:from:to:cc:subject:date:message-id;\n\tbh=0OH3qkUi3JqTridOs2pDS375bCfbGsbMtEGcifZiizQ=;\n\tb=DKe7Q8SH1BBYYlKPL2LOaPne81t0+BDocXEAURn/sWmDWHTvr5oqr/DCWtHixa98CT\n\tXHg04zuTyxOjg8/HNIvBXkzmVYyAbvZZA6HobJy0riYxwvDZJZy0+m20pUGgrEHe23k6\n\t/b9iaKJ/7STibVr7ptfY/Khn7FfUy4wd+oLDanRwvF3C8NggtUq8EKy9tcPUA34p54X8\n\tP2/94RIb8Wq/rE5G/gtzstCkRrPvJQ7pZszFcnq/zV8BunmzbRlFHm9+vKcxMp0s4+RN\n\tmtZ7bUuqaJ4N+c4azzFEj5DF6qBYWd6Qk8pvhYvYsmcj5pB6fM7vgMpnzYMEbnjdykZP\n\tBofA==",
        "Return-Path": "<>",
        "X-BeenThere": "",
        "List-Post": "<>",
        "Received": [
            "from [] (localhost [])\n\tby (Postfix) with ESMTP id 2826E8D8F;\n\tFri, 29 Jun 2018 00:45:38 +0200 (CEST)",
            "from (\n\t[]) by (Postfix) with ESMTP id B32B88D88\n\tfor <>; Fri, 29 Jun 2018 00:45:36 +0200 (CEST)",
            "by with SMTP id c15-v6so7947254otl.3\n\tfor <>; Thu, 28 Jun 2018 15:45:36 -0700 (PDT)",
            "from (\n\t[]) by with ESMTPSA id\n\tr131-v6sm3752925oih.16.2018.\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tThu, 28 Jun 2018 15:45:33 -0700 (PDT)"
        "Date": "Thu, 28 Jun 2018 15:45:13 -0700",
        "X-Received": "by 2002:a9d:1350:: with SMTP id\n\tq16-v6mr6934769otq.6.1530225934466; \n\tThu, 28 Jun 2018 15:45:34 -0700 (PDT)",
        "Sender": "\"dev\" <>",
        "Subject": "[dpdk-dev] [PATCH 00/10] kni: Interface detach and link status\n\tfixes.",
        "Message-Id": "<>",
        "Precedence": "list",
        "List-Unsubscribe": "<>,\n\t<>",
        "X-Original-To": "",
        "X-Google-Smtp-Source": "AAOMgpfPuDLUn0q8m5NJTF5LDNtCi3jT8RHVMuDPXssYYHUHiXXKEKdAx4JUNlMJceTwOh/nCv2ZHg=="
    "content": "Hi All,\n\nThe following patches are to fix a problem with detaching a KNI\ninterface using rte_kni_release and to add a new API function\nto allow users to change the link status (up/down, speed, etc)\nof the interface in the linux kernel.  In previous versions, it\nwas impossible to release a KNI interface without waiting for the\ntimeout in kni_net_process_request to expire if the interface is in\nthe UP state.  The solution to this issue was to separate the process\nof releasing the netdev device from the linux kernel from actually\nfreeing the KNI interface in the kernel and in the RTE library by\nintroducing a new API function, rte_kni_free().\n\nThe last patch : 'kni: add API to set link status on kernel interface'\nadds a new API function to allow the DPDK user to change the link\nspeed and status reported by the netdev in the linux kernel.\n\nThis resolves issues with allowing automatic network configuration\napplciations such as NetworkManager to assign addresses and for user\nspace applications to be able to open sockets on these interfaces,\nas some operations rely on the link status being up before they\nwork properly.\n\nThis last patch is included in this series because both new \"features\"\nintroduce new ioctls to the rte_kni kernel module, so the order in\nwhich the patches get applied affects which number each new ioctl gets.\nI thought it better to bundle them together to try to get them applied\nas a series to avoid any issues with this.\n\nPlease have a look!\n\nthanks\ndan\n\nDan Gora (10):\n  kni: remove unused variables from struct kni_dev\n  kni: separate releasing netdev from freeing KNI interface\n  kni: don't touch struct kni_dev after freeing\n  kni: add rte_kni_free to KNI library\n  kni: don't run rte_kni_handle_request after interface release\n  kni: increase length of timeout for KNI responses\n  kni: update kni test for rte_kni_free\n  kni: add rte_kni_free to KNI example app\n  kni: add rte_kni_free to KNI vdev driver\n  kni: add API to set link status on kernel interface\n\n drivers/net/kni/rte_eth_kni.c                 |   6 +-\n examples/kni/main.c                           |   4 +-\n kernel/linux/kni/kni_dev.h                    |   5 +-\n kernel/linux/kni/kni_misc.c                   | 156 ++++++++++++++++--\n kernel/linux/kni/kni_net.c                    |   7 +-\n .../eal/include/exec-env/rte_kni_common.h     |  20 +++\n lib/librte_kni/rte_kni.c                      |  75 ++++++++-\n lib/librte_kni/rte_kni.h                      |  51 +++++-\n test/test/test_kni.c                          |  20 +++\n 9 files changed, 313 insertions(+), 31 deletions(-)"