get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1419,
    "url": "https://patches.dpdk.org/api/patches/1419/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1416530816-2159-15-git-send-email-jingjing.wu@intel.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": "<1416530816-2159-15-git-send-email-jingjing.wu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1416530816-2159-15-git-send-email-jingjing.wu@intel.com",
    "date": "2014-11-21T00:46:48",
    "name": "[dpdk-dev,v6,14/22] ethdev: define structures for getting flow director information",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "b85174db9e74b1e9354864840fae88b3a37cd158",
    "submitter": {
        "id": 47,
        "url": "https://patches.dpdk.org/api/people/47/?format=api",
        "name": "Jingjing Wu",
        "email": "jingjing.wu@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1416530816-2159-15-git-send-email-jingjing.wu@intel.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/1419/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/1419/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 DCE007F9D;\n\tFri, 21 Nov 2014 01:37:12 +0100 (CET)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby dpdk.org (Postfix) with ESMTP id 9F6CD7F9D\n\tfor <dev@dpdk.org>; Fri, 21 Nov 2014 01:37:04 +0100 (CET)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby fmsmga101.fm.intel.com with ESMTP; 20 Nov 2014 16:47:35 -0800",
            "from shvmail01.sh.intel.com ([10.239.29.42])\n\tby FMSMGA003.fm.intel.com with ESMTP; 20 Nov 2014 16:38:06 -0800",
            "from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com\n\t[10.239.29.89])\n\tby shvmail01.sh.intel.com with ESMTP id sAL0lVTP004182;\n\tFri, 21 Nov 2014 08:47:31 +0800",
            "from shecgisg004.sh.intel.com (localhost [127.0.0.1])\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP\n\tid sAL0lT4T002292; Fri, 21 Nov 2014 08:47:31 +0800",
            "(from wujingji@localhost)\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id sAL0lTjS002288; \n\tFri, 21 Nov 2014 08:47:29 +0800"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"4.97,862,1389772800\"; d=\"scan'208\";a=\"419585473\"",
        "From": "Jingjing Wu <jingjing.wu@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Fri, 21 Nov 2014 08:46:48 +0800",
        "Message-Id": "<1416530816-2159-15-git-send-email-jingjing.wu@intel.com>",
        "X-Mailer": "git-send-email 1.7.4.1",
        "In-Reply-To": "<1416530816-2159-1-git-send-email-jingjing.wu@intel.com>",
        "References": "<1414654006-7472-1-git-send-email-jingjing.wu@intel.com>\n\t<1416530816-2159-1-git-send-email-jingjing.wu@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v6 14/22] ethdev: define structures for getting\n\tflow director information",
        "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": "define structures for getting flow director information includes:\n - mode\n - supported flow types\n - table space\n - flexible payload size and granularity\n - configured flexible payload and mask information\n\nSigned-off-by: jingjing.wu <jingjing.wu@intel.com>\n---\n lib/librte_ether/rte_eth_ctrl.h | 92 ++++++++++++++++++++++++++++++++++++++++-\n lib/librte_ether/rte_ethdev.h   |  9 ----\n 2 files changed, 90 insertions(+), 11 deletions(-)",
    "diff": "diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h\nindex 9856842..b05d9eb 100644\n--- a/lib/librte_ether/rte_eth_ctrl.h\n+++ b/lib/librte_ether/rte_eth_ctrl.h\n@@ -69,8 +69,7 @@ enum rte_filter_op {\n \tRTE_ETH_FILTER_FLUSH,    /**< flush all entries */\n \tRTE_ETH_FILTER_GET,      /**< get filter entry */\n \tRTE_ETH_FILTER_SET,      /**< configurations */\n-\tRTE_ETH_FILTER_INFO,\n-\t/**< get information of filter, such as status or statistics */\n+\tRTE_ETH_FILTER_INFO,     /**< retrieve information */\n \tRTE_ETH_FILTER_OP_MAX\n };\n \n@@ -322,6 +321,95 @@ struct rte_eth_fdir_filter {\n \tstruct rte_eth_fdir_action action;  /**< Action taken when match */\n };\n \n+/**\n+ * Payload type\n+ */\n+enum rte_eth_payload_type {\n+\tRTE_ETH_PAYLOAD_UNKNOWN = 0,\n+\tRTE_ETH_L2_PAYLOAD,\n+\tRTE_ETH_L3_PAYLOAD,\n+\tRTE_ETH_L4_PAYLOAD,\n+\tRTE_ETH_PAYLOAD_MAX = 8,\n+};\n+\n+/**\n+ * A structure used to select bytes extracted from the protocol layers to\n+ * flexible payload for filter\n+ */\n+struct rte_eth_flex_payload_cfg {\n+\tenum rte_eth_payload_type type;  /**< Payload type */\n+\tuint16_t src_offset[RTE_ETH_FDIR_MAX_FLEXLEN];\n+\t/**< Offset in bytes from the beginning of packet's payload\n+\t     src_offset[i] indicates the flexbyte i's offset in original\n+\t     packet payload. This value should be less than\n+\t     flex_payload_limit in struct rte_eth_fdir_info.*/\n+};\n+\n+/**\n+ * A structure used to define FDIR masks for flexible payload\n+ * for each flow type\n+ */\n+struct rte_eth_fdir_flex_mask {\n+\tenum rte_eth_flow_type flow_type;  /**< Flow type */\n+\tuint8_t mask[RTE_ETH_FDIR_MAX_FLEXLEN];\n+\t/**< Mask for the whole flexible payload */\n+};\n+\n+/**\n+ * A structure used to define all flexible payload related setting\n+ * include flexpay load and flex mask\n+ */\n+struct rte_eth_fdir_flex_conf {\n+\tuint16_t nb_payloads;  /**< The number of following payload cfg */\n+\tuint16_t nb_flexmasks; /**< The number of following mask */\n+\tstruct rte_eth_flex_payload_cfg flex_set[RTE_ETH_PAYLOAD_MAX];\n+\t/**< Flex payload configuration for each payload type */\n+\tstruct rte_eth_fdir_flex_mask flex_mask[RTE_ETH_FLOW_TYPE_MAX];\n+\t/**< Flex mask configuration for each flow type */\n+};\n+\n+/**\n+ *  Flow Director setting modes: none, signature or perfect.\n+ */\n+enum rte_fdir_mode {\n+\tRTE_FDIR_MODE_NONE      = 0, /**< Disable FDIR support. */\n+\tRTE_FDIR_MODE_SIGNATURE,     /**< Enable FDIR signature filter mode. */\n+\tRTE_FDIR_MODE_PERFECT,       /**< Enable FDIR perfect filter mode. */\n+};\n+\n+/**\n+ * A structure used to get the information of flow director filter.\n+ * It supports RTE_ETH_FILTER_FDIR with RTE_ETH_FILTER_INFO operation.\n+ * It includes the mode, flexible payload configuration information,\n+ * capabilities and supported flow types, flexible payload characters.\n+ * It can be gotten to help taking specific configurations per device.\n+ */\n+struct rte_eth_fdir_info {\n+\tenum rte_fdir_mode mode;     /**< Flow director mode */\n+\tstruct rte_eth_fdir_flex_conf flex_conf;\n+\t/**< Flex payload configuration information */\n+\tuint32_t guarant_spc;          /**< Guaranteed spaces.*/\n+\tuint32_t best_spc;             /**< Best effort spaces.*/\n+\tuint32_t flow_types_mask[RTE_ETH_FLOW_TYPE_MAX / sizeof(uint32_t)];\n+\t/**< Bit mask for every supported flow type. */\n+\tuint32_t max_flexpayload;      /**< Total flex payload in bytes. */\n+\tuint32_t flex_payload_unit;\n+\t/**< Flexible payload unit in bytes. Size and alignments of all flex\n+\t     payload segments should be multiplies of this value. */\n+\tuint32_t max_flex_payload_segment_num;\n+\t/**< Max number of flexible payload continuous segments.\n+\t     Each segment should be a multiple of flex_payload_unit.*/\n+\tuint16_t flex_payload_limit;\n+\t/**< Maximum src_offset in bytes allowed. It indicates that\n+\t     src_offset[i] in struct rte_eth_flex_payload_cfg should be\n+\t     less than this value. */\n+\tuint32_t flex_bitmask_unit;\n+\t/**< Flex bitmask unit in bytes. Size of flex bitmasks should\n+\t     be a multiply of this value. */\n+\tuint32_t max_flex_bitmask_num;\n+\t/**< Max supported size of flex bitmasks in flex_bitmask_unit */\n+};\n+\n #ifdef __cplusplus\n }\n #endif\ndiff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h\nindex c29525b..b658cf4 100644\n--- a/lib/librte_ether/rte_ethdev.h\n+++ b/lib/librte_ether/rte_ethdev.h\n@@ -683,15 +683,6 @@ struct rte_eth_pfc_conf {\n };\n \n /**\n- *  Flow Director setting modes: none (default), signature or perfect.\n- */\n-enum rte_fdir_mode {\n-\tRTE_FDIR_MODE_NONE      = 0, /**< Disable FDIR support. */\n-\tRTE_FDIR_MODE_SIGNATURE,     /**< Enable FDIR signature filter mode. */\n-\tRTE_FDIR_MODE_PERFECT,       /**< Enable FDIR perfect filter mode. */\n-};\n-\n-/**\n  *  Memory space that can be configured to store Flow Director filters\n  *  in the board memory.\n  */\n",
    "prefixes": [
        "dpdk-dev",
        "v6",
        "14/22"
    ]
}