get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 54494,
    "url": "http://patches.dpdk.org/api/patches/54494/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190606115151.27805-4-konstantin.ananyev@intel.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<20190606115151.27805-4-konstantin.ananyev@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190606115151.27805-4-konstantin.ananyev@intel.com",
    "date": "2019-06-06T11:51:49",
    "name": "[v2,3/5] examples/ipsec-secgw: add multi-segment test cases",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "311fa9ee3cd0d4b7b43499059f9ac5815c680596",
    "submitter": {
        "id": 33,
        "url": "http://patches.dpdk.org/api/people/33/?format=api",
        "name": "Ananyev, Konstantin",
        "email": "konstantin.ananyev@intel.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190606115151.27805-4-konstantin.ananyev@intel.com/mbox/",
    "series": [
        {
            "id": 4928,
            "url": "http://patches.dpdk.org/api/series/4928/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=4928",
            "date": "2019-06-06T11:51:46",
            "name": "examples/ipsec-secgw: support packet",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/4928/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/54494/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/54494/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 A47DD1B9C8;\n\tThu,  6 Jun 2019 13:52:29 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n\tby dpdk.org (Postfix) with ESMTP id BCC2A1B9C8\n\tfor <dev@dpdk.org>; Thu,  6 Jun 2019 13:52:27 +0200 (CEST)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n\tby orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t06 Jun 2019 04:52:26 -0700",
            "from sivswdev08.ir.intel.com ([10.237.217.47])\n\tby orsmga008.jf.intel.com with ESMTP; 06 Jun 2019 04:52:25 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Konstantin Ananyev <konstantin.ananyev@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "akhil.goyal@nxp.com,\n\tKonstantin Ananyev <konstantin.ananyev@intel.com>",
        "Date": "Thu,  6 Jun 2019 12:51:49 +0100",
        "Message-Id": "<20190606115151.27805-4-konstantin.ananyev@intel.com>",
        "X-Mailer": "git-send-email 2.18.0",
        "In-Reply-To": "<20190606115151.27805-1-konstantin.ananyev@intel.com>",
        "References": "<20190527184448.21264-1-konstantin.ananyev@intel.com>\n\t<20190606115151.27805-1-konstantin.ananyev@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 3/5] examples/ipsec-secgw: add multi-segment\n\ttest cases",
        "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": "Enhance test scripts to support fragmentation/reassemble functionality.\n\nSigned-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>\n---\n examples/ipsec-secgw/test/common_defs.sh | 18 +++++++++++++++---\n examples/ipsec-secgw/test/data_rxtx.sh   | 18 ++++++++++--------\n examples/ipsec-secgw/test/linux_test4.sh | 17 ++++++++++++++++-\n examples/ipsec-secgw/test/linux_test6.sh | 17 ++++++++++++++++-\n examples/ipsec-secgw/test/run_test.sh    |  5 ++++-\n 5 files changed, 61 insertions(+), 14 deletions(-)",
    "diff": "diff --git a/examples/ipsec-secgw/test/common_defs.sh b/examples/ipsec-secgw/test/common_defs.sh\nindex 8dc574b50..ec15d8685 100644\n--- a/examples/ipsec-secgw/test/common_defs.sh\n+++ b/examples/ipsec-secgw/test/common_defs.sh\n@@ -55,10 +55,24 @@ SGW_CMD_PRM=\"-p 0x3 -u 1 -P --config=\\\"${SGW_CMD_CFG}\\\"\"\n \n SGW_CFG_FILE=$(mktemp)\n \n+# by default ipsec-secgw can't deal with multi-segment packets\n+# make sure our local/remote host wouldn't generate fragmented packets\n+# if reassmebly option is not enabled\n+DEF_MTU_LEN=1400\n+DEF_PING_LEN=1200\n+\n+#setup mtu on local iface\n+set_local_mtu()\n+{\n+\tmtu=$1\n+\tifconfig ${LOCAL_IFACE} mtu ${mtu}\n+\tsysctl -w net.ipv6.conf.${LOCAL_IFACE}.mtu=${mtu}\n+}\n+\n # configure local host/ifaces\n config_local_iface()\n {\n-\tifconfig ${LOCAL_IFACE} ${LOCAL_IPV4}/24 mtu 1400 up\n+\tifconfig ${LOCAL_IFACE} ${LOCAL_IPV4}/24 up\n \tifconfig ${LOCAL_IFACE}\n \n \tip neigh flush dev ${LOCAL_IFACE}\n@@ -73,8 +87,6 @@ config6_local_iface()\n \tsysctl -w net.ipv6.conf.${LOCAL_IFACE}.disable_ipv6=0\n \tip addr add  ${LOCAL_IPV6}/64 dev ${LOCAL_IFACE}\n \n-\tsysctl -w net.ipv6.conf.${LOCAL_IFACE}.mtu=1300\n-\n \tip -6 neigh add ${REMOTE_IPV6} dev ${LOCAL_IFACE} lladdr ${REMOTE_MAC}\n \tip neigh show dev ${LOCAL_IFACE}\n }\ndiff --git a/examples/ipsec-secgw/test/data_rxtx.sh b/examples/ipsec-secgw/test/data_rxtx.sh\nindex f23a6d594..9ba978a93 100644\n--- a/examples/ipsec-secgw/test/data_rxtx.sh\n+++ b/examples/ipsec-secgw/test/data_rxtx.sh\n@@ -5,14 +5,15 @@ TCP_PORT=22222\n ping_test1()\n {\n \tdst=$1\n+\ti=${2:-0}\n+\tend=${3:-1200}\n \n-\ti=0\n \tst=0\n-\twhile [[ $i -ne 1200 && $st -eq 0 ]];\n+\twhile [[ $i -ne $end && $st -eq 0 ]];\n \tdo\n-\t\tlet i++\n-\t\tping -c 1 -s ${i} ${dst}\n+\t\tping -c 1 -s ${i} -M dont ${dst}\n \t\tst=$?\n+\t\tlet i++\n \tdone\n \n \tif [[ $st -ne 0 ]]; then\n@@ -24,14 +25,15 @@ ping_test1()\n ping6_test1()\n {\n \tdst=$1\n+\ti=${2:-0}\n+\tend=${3:-1200}\n \n-\ti=0\n \tst=0\n-\twhile [[ $i -ne 1200 && $st -eq 0 ]];\n+\twhile [[ $i -ne $end && $st -eq 0 ]];\n \tdo\n-\t\tlet i++\n-\t\tping6 -c 1 -s ${i} ${dst}\n+\t\tping6 -c 1 -s ${i} -M dont ${dst}\n \t\tst=$?\n+\t\tlet i++\n \tdone\n \n \tif [[ $st -ne 0 ]]; then\ndiff --git a/examples/ipsec-secgw/test/linux_test4.sh b/examples/ipsec-secgw/test/linux_test4.sh\nindex d636f5604..85efc5d90 100644\n--- a/examples/ipsec-secgw/test/linux_test4.sh\n+++ b/examples/ipsec-secgw/test/linux_test4.sh\n@@ -15,6 +15,8 @@\n #  SGW_LCORE - lcore to run ipsec-secgw on (default value is 0)\n #  CRYPTO_DEV - crypto device to be used ('-w <pci-id>')\n #  if none specified appropriate vdevs will be created by the scrit\n+#  MULTI_SEG_TEST - ipsec-secgw option to enable reassembly support and\n+#  specify size of reassembly table (i.e. MULTI_SEG_TEST=\"--reassemble 128\")\n #\n # The purpose of the script is to automate ipsec-secgw testing\n # using another system running linux as a DUT.\n@@ -42,6 +44,17 @@ MODE=$1\n  . ${DIR}/common_defs.sh\n  . ${DIR}/${MODE}_defs.sh\n \n+#make linux to generate fragmented packets\n+if [[ -n \"${MULTI_SEG_TEST}\" && -n \"${SGW_CMD_XPRM}\" ]]; then\n+\techo \"multi-segment test is enabled\"\n+\tSGW_CMD_XPRM=\"${SGW_CMD_XPRM} ${MULTI_SEG_TEST}\"\n+\tPING_LEN=5000\n+\tMTU_LEN=1500\n+else\n+\tPING_LEN=${DEF_PING_LEN}\n+\tMTU_LEN=${DEF_MTU_LEN}\n+fi\n+\n config_secgw\n \n secgw_start\n@@ -52,9 +65,11 @@ config_remote_xfrm\n \n  . ${DIR}/data_rxtx.sh\n \n-ping_test1 ${REMOTE_IPV4}\n+set_local_mtu ${MTU_LEN}\n+ping_test1 ${REMOTE_IPV4} 0 ${PING_LEN}\n st=$?\n if [[ $st -eq 0 ]]; then\n+\tset_local_mtu ${DEF_MTU_LEN}\n \tscp_test1 ${REMOTE_IPV4}\n \tst=$?\n fi\ndiff --git a/examples/ipsec-secgw/test/linux_test6.sh b/examples/ipsec-secgw/test/linux_test6.sh\nindex e30f607d8..c749dcef8 100644\n--- a/examples/ipsec-secgw/test/linux_test6.sh\n+++ b/examples/ipsec-secgw/test/linux_test6.sh\n@@ -15,6 +15,8 @@\n #  SGW_LCORE - lcore to run ipsec-secgw on (default value is 0)\n #  CRYPTO_DEV - crypto device to be used ('-w <pci-id>')\n #  if none specified appropriate vdevs will be created by the scrit\n+#  MULTI_SEG_TEST - ipsec-secgw option to enable reassembly support and\n+#  specify size of reassembly table (i.e. MULTI_SEG_TEST=\"--reassemble 128\")\n #\n # The purpose of the script is to automate ipsec-secgw testing\n # using another system running linux as a DUT.\n@@ -43,6 +45,17 @@ MODE=$1\n  . ${DIR}/common_defs.sh\n  . ${DIR}/${MODE}_defs.sh\n \n+#make linux to generate fragmented packets\n+if [[ -n \"${MULTI_SEG_TEST}\" && -n \"${SGW_CMD_XPRM}\" ]]; then\n+\techo \"multi-segment test is enabled\"\n+\tSGW_CMD_XPRM=\"${SGW_CMD_XPRM} ${MULTI_SEG_TEST}\"\n+\tPING_LEN=5000\n+\tMTU_LEN=1500\n+else\n+\tPING_LEN=${DEF_PING_LEN}\n+\tMTU_LEN=${DEF_MTU_LEN}\n+fi\n+\n config_secgw\n \n secgw_start\n@@ -53,9 +66,11 @@ config6_remote_xfrm\n \n  . ${DIR}/data_rxtx.sh\n \n-ping6_test1 ${REMOTE_IPV6}\n+set_local_mtu ${MTU_LEN}\n+ping6_test1 ${REMOTE_IPV6} 0 ${PING_LEN}\n st=$?\n if [[ $st -eq 0 ]]; then\n+\tset_local_mtu ${DEF_MTU_LEN}\n \tscp_test1 ${REMOTE_IPV6}\n \tst=$?\n fi\ndiff --git a/examples/ipsec-secgw/test/run_test.sh b/examples/ipsec-secgw/test/run_test.sh\nindex 3a1a7d4b4..07c4c8f91 100644\n--- a/examples/ipsec-secgw/test/run_test.sh\n+++ b/examples/ipsec-secgw/test/run_test.sh\n@@ -11,7 +11,10 @@\n #  SGW_LCORE - lcore to run ipsec-secgw on (default value is 0)\n #  CRYPTO_DEV - crypto device to be used ('-w <pci-id>')\n #  if none specified appropriate vdevs will be created by the scrit\n-# refer to linux_test1.sh for more information\n+#  MULTI_SEG_TEST - ipsec-secgw option to enable reassembly support and\n+#  specify size of reassembly table (i.e. MULTI_SEG_TEST=\"--reassemble 128\")\n+# refer to linux_test[4,6].sh for more information\n+\n \n # All supported modes to test.\n # naming convention:\n",
    "prefixes": [
        "v2",
        "3/5"
    ]
}