get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 35318,
    "url": "http://patches.dpdk.org/api/patches/35318/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1519191430-19201-5-git-send-email-anoob.joseph@caviumnetworks.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": "<1519191430-19201-5-git-send-email-anoob.joseph@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1519191430-19201-5-git-send-email-anoob.joseph@caviumnetworks.com",
    "date": "2018-02-21T05:37:09",
    "name": "[dpdk-dev,4/5] examples/ipsec-secgw: handle ESN soft limit event",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "e7c96ce4742efa4e51c4a9502c0ed75e62c4a4e6",
    "submitter": {
        "id": 893,
        "url": "http://patches.dpdk.org/api/people/893/?format=api",
        "name": "Anoob Joseph",
        "email": "anoob.joseph@caviumnetworks.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1519191430-19201-5-git-send-email-anoob.joseph@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/35318/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/35318/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 2CF707CBA;\n\tWed, 21 Feb 2018 06:38:50 +0100 (CET)",
            "from NAM02-BL2-obe.outbound.protection.outlook.com\n\t(mail-bl2nam02on0065.outbound.protection.outlook.com [104.47.38.65])\n\tby dpdk.org (Postfix) with ESMTP id 52D611B023\n\tfor <dev@dpdk.org>; Wed, 21 Feb 2018 06:38:49 +0100 (CET)",
            "from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2)\n\tby DM2PR0701MB1066.namprd07.prod.outlook.com\n\t(2a01:111:e400:2472::19) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.506.18;\n\tWed, 21 Feb 2018 05:38:45 +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=pSTBONk06+1KXibljUcVzarqAksJL6j+rJEImaa2z2c=;\n\tb=h28HTRD86osd8oeLrUxzY/9+2wQuftEhoyWAmDJFAPAtgQNrGygDQy8QD+uJq9S1dA3cpjx2Qiatd3BiIrYhpGEoyHa5m/WPzxRaPxZeYyq+w0T90B0ma3bwLX890eTbctAirklx/nEtZ2HjiCzOJx41pdX6sKM6EPKGDY8kyMc=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Anoob.Joseph@cavium.com; ",
        "From": "Anoob Joseph <anoob.joseph@caviumnetworks.com>",
        "To": "Akhil Goyal <akhil.goyal@nxp.com>,\n\tDeclan Doherty <declan.doherty@intel.com>,\n\tRadu Nicolau <radu.nicolau@intel.com>",
        "Cc": "Anoob Joseph <anoob.joseph@caviumnetworks.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>,\n\tNarayana Prasad <narayanaprasad.athreya@caviumnetworks.com>,\n\tNelio Laranjeiro <nelio.laranjeiro@6wind.com>, dev@dpdk.org",
        "Date": "Wed, 21 Feb 2018 11:07:09 +0530",
        "Message-Id": "<1519191430-19201-5-git-send-email-anoob.joseph@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1519191430-19201-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "References": "<1516626668-9031-0-git-send-email-anoob.joseph@caviumnetworks.com>\n\t<1519191430-19201-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[115.113.156.2]",
        "X-ClientProxiedBy": "CY4PR22CA0059.namprd22.prod.outlook.com\n\t(2603:10b6:903:ae::21) To DM2PR0701MB1066.namprd07.prod.outlook.com\n\t(2a01:111:e400:2472::19)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "ec50af7c-6da9-4084-42f6-08d578ed614e",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);\n\tSRVR:DM2PR0701MB1066; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; DM2PR0701MB1066;\n\t3:36dv9zDfkpvaGs4FVVQOPfn6hMzJjdjmg58cPBosRlmyWFLBZaXcyFH6pubNbKDbcMxVsyL7nawjJAB4oUCCV+05Oj0r+Zb043LmnXgPcU7gvzR+HXGQf5Ej8Jy4TsNHjwSk5UE2DezlhxtEjZDtTJ26sfYZJHf2/YsJU9f831S5aX6w1RTEA9nekBm0b/25GAcGwr4hMP3KBLaJauNykKMQj8py1tPQQH4CJT08yf6rKXFd0YI5sxYrewtCKUZ6;\n\t25:+oVSRA1Z7HKfzZYE07F45MW+t2hbFVEl91L3qN/cjeBQcqVh2gwjkBCkgp2IVOOFqe7VPKPsAcZDJbBCcIz6GyKstm21w8GY1yFzN/oByHKb/fhtcpSzAAKGTX+fq2j/BPQO/7R3ZGZPx5MHRNlYWm6tln+UHUGKV+LZAoJ4Ypa1IkG9zkmre2zevCbyRQrWg5pzNZCyHSylyVEG2EXpS/UJap0peorsQ37Geg4doY8ExGv4vLOTFyweVsn7CVmOnL5qKAY1hzUECx3zY+qnhXI9naD95kmopw6xjFr5S4JV/sWBi7wAS0kdnJOchFtTun5NiW4AjNha/EpE2ZiIjQ==;\n\t31:NZuM38PVrkZDHny21pqQlNA+8wi/iXGEnSwSF5TzNmcXhPeEYh80BPCXSgXPmfdricfMcc/ox70G5uSX1nD7SDmPnO8u+UmY4AvmzyqpzexsGq6izx56CEK3DWQ3+C+VND+IsbG22sNW0lw3LGGYAd6alDD5O1zG2P3CZNN4MlLJ8r2LfyTnnYjX3i0qsgqv3qoTYxEjWszIBaOdtmL5inCakLd6ycG8V1InPBLcLe4=",
            "1; DM2PR0701MB1066;\n\t20:+Yvdww9f3bRRsQjWEhaRoDjGmODzCZuJTB8qOstDR6QEoDZjxUaIYcFz9XrTAzB+rJZ7zFQve7xor80hRAxYJ42dvncH1NLZzrf9B8VaMlFO7ePQTTqp2S3ePr5g1DThSCzs4WDBXiukmIz39v3szxAMWCzyosnA7Zto7HQcoSP6v5QyxzeYnfKs1PpqJOmkFdPcEY7qJw8oT2XV0q+rZBOdGhNCLr0k+2Eh6Q3nlZZojyL+jqBzs8+3Ss9b504KO7Rvmg4ik6Z8Mfl6UD293/kYzilb/GXD07fCMDXw7ffBkt/A6rjqxP2cZL7C2gfTO06op077qAoAxswfPJ8UQxKpGYi1+95mwybRaPe7Fk4ZHWbIqDW7iW27P9SprZwlehz3BIeu86LnRcEAkj7agXWZ0hYNnzm4Tj5Xe+XmM2Cyjoa6j1m9axxI+/BpwuIUq/pj4XgjldiGbSa0QwcL2emXLNJ6uNBIgXtnlLSKBtpI2w4IiU/gPKvIcqL7z8Mo+JMRkaoaJ5C+9dDyrMbnPpO7ufE5F7gyCEHOW3i1JrE8OuUJ0O+So7eKGTD54Dy4DBd/4bCuuiuWv2F/39wsTcQMArItypERtox0rxeTzXQ=;\n\t4:+vZfloc5acCqZxbgBUPSxHx/1xfxFmW9T7vZxhB04wqsnUJT9mZEykYFNtH05toZp8uGqSRryIuU8Ny2VpNrp9B/H0PmJQeIYQVnUeOLz/wHgA4JHpphDPNy7IpRRxv0vJtaGe8tJI3iwTMLED6SW/LkybuCPnUfTQYdghYKn2oV6NZdd5h5vOgBsJJQy+z3HjV95YCLduHxx2mkFJhf2GdUEjYofQga40FMugdZbRE1QjaDvhdNCI0KbQ3d9WDYZeqPvf6gBX/ZUoBV42VUYhvDGdNHYzCv6zdZ4EPVP7wde439aaIS0I8QsuUWnTv9",
            "=?us-ascii?Q?1; DM2PR0701MB1066;\n\t23:z9K6IQN+GdflY5LaPBg9j+eUgIla2R+8VDMCReT?=\n\tDhD9e9X6FyJbIX1CjM2VmNzP7aYAw/2wmhjEckwSm5AVjLrJUMbMez1NQLupaELAcwjrR1sV3vyt3OZLUMwtM3Z5U5t7rVIZVgqJU+en3ic+suntWHq5s6dr2crzMlElhPHbdKykT4lWCYYPzApTbWE57EaacQiqSnW6JQwu+6sY5SewLd3r12fMi3oylH/dPMYiKxmURXLu3lkipqC0N678XYAoSK+blALXmAGhynyxJOrdHh/Wbn1qitqTslmGG7VTaKZL0qaIN3HHBXnX0GDuLmYFIby8rvf1/yrKEqkWZwGFoKZO9tFkSHpu1xef0ro3vDquqLObQCQ11IY+UDZF60Gn6UzmkYPo9OFUSTJ1URh+ApJQpoI1hdpyIy/EZ8X040ZFVMxyfl3KB7cXXoztiyG1Gct2iCPEqkmXP4s0zWUEoA82X0gevOFcG6ub2ij14MBGnI2H6BDyFbcIzBhD2siYPuolIuM6kFBpcPBzHPT2/aIWVVZSGusImA+C25C/B/ttxoedfivY6UF447Sol+g9mRRhz76TvVY2FixEXfSrS98mGrBPJKPrNOHSyxSabnetR/hIZsVJfLMsqKkmdnCISCU6PAZbs+PQqF64BN4VQ40AlwglThMD0gJOKngQXgHIbS95j6RU7grJiI8eWULpOCKdzM1Akch1cVrhdcMOiHbBFh1o9+cMoA2j4eEkna6qJEyvz6MoOn3c4BTpQbvkRA4sJh9yfQz12yA5EV0KQzCYIgciFyX3rk4G8/dA9/bIvpVntL5KaHbSOrUOSLcvf029NlZR93evu4jx7F611eZ+9I4A20yLmfEmP3AH9j7uHgmcYKtGE/xnpmoxVSyuQdk7J6PMMG0MyO3EgQpNhGcHWwsvjOb1UHTmFAiF5TU+v9eDr5S//qG+hv8ihxx9wgqqShnhJO1SQ9ItExfuSkkSrbgKIF4xb4CkEAEFu5ov/qBqLdW280iv/2ufXZrr/RLRo1y3NbcxlzOYNQvYcxyhlO14r77gRu5kJTCSQ364qxtdB+8whEvxFx2uqh4q87xocKQ9hZpp7b/wXI8ophUPJiA8LFIZo0EmYAKPetTTtuflWxkF8XcFEjEk2+uwHVidpIMTP6IuNieTbZq54Lrl30PbgrU15X+00EemXece0ne+sghp0X8OO7b0J",
            "1; DM2PR0701MB1066;\n\t6:NvUBCJrB0y07DpOV0SOyGGf+7xh7/DL55sb99ujGE8ZxJAWvf6h8yEkPfduIfBPvSlzkGAFDk8M9RZAjDYUnNvbR0fzhjmiw44YtU7NeGuxsxvxUSJ6l7g6CGSlq/o23vg6u4Hlle4V5ir5Z1AWpFfuNUdHr/wq2G8MYcFp4PDqZaQR6HqPiA9ZlRzLe0EyiDKH42czHk9EUTsq0pBOjQaf0G8HntHuWmzK53uwT8yUW6lRUcgr3tRWqrRWVSVllgM5PwCj/bf0RSBY35IjHIH38glGWZQsuNdre7RVUJlnppr5ZePmYepcJsdN7AcaIxRIwuNYD3PaeF2NFZYcZfg3nOpk5RFCbONuyDQMerYM=;\n\t5:RPxN05E049UZQT2ivPNxk9etjE8sHmOMGKRyvP4aR5m+F9qpzeLs0gq+J7oqtijIESNlpjR8EQaP8ZLzR0Ym2TOMEmWEfsnlQvTRJe5rTeN/LKEI9SAn3MfL2hKxSNQhM9Zq+cP1EZri1xsDq/vV3jr8JbzzmttM04VhPRS3mHk=;\n\t24:wninszNwoOZIoOLxppU8tDCb6q3yee2gg7zMe20i/kJ0WVFOIMvbp+5/UiodAP08e2IUvn+V5wPPcxa8H1hHqwvveaOGbNeO29BzzUkzBQY=;\n\t7:E3CCQAhaznrpLvfpvbKmTWFMWTZHed3sHlfnMgZGBA3WN7ncoQt3Ref3PK5fNy8Cjfo9hzLazumEpwbHaawg2/912PXuhlQ35j2yMoJeO3wCxvlGdiOQymFrwCBPO6/q1By9TQiP6bkEgm1E8/CnyrttyW/B0SjPY+TfA+1fWBwaXN8+PbzO2PC02GPLIVGbFcaMq9HcbGhw3ommRQ7qk+RCEVGu5ZoL9wPDCLkL8jWdK0e3S+OyTv7J5SVPbZzB"
        ],
        "X-MS-TrafficTypeDiagnostic": "DM2PR0701MB1066:",
        "X-Microsoft-Antispam-PRVS": "<DM2PR0701MB106673EB03CCA0AD98ED4A98F8CE0@DM2PR0701MB1066.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(192374486261705);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001063)(6040501)(2401047)(5005006)(8121501046)(3002001)(93006095)(10201501046)(3231101)(944501161)(6041288)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(6072148)(201708071742011);\n\tSRVR:DM2PR0701MB1066; BCL:0; PCL:0; RULEID:; SRVR:DM2PR0701MB1066; ",
        "X-Forefront-PRVS": "0590BBCCBC",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(366004)(396003)(39380400002)(346002)(376002)(39860400002)(189003)(199004)(106356001)(386003)(76176011)(59450400001)(66066001)(47776003)(6512007)(478600001)(186003)(26005)(16526019)(2950100002)(72206003)(6666003)(42882006)(5660300001)(7736002)(105586002)(68736007)(36756003)(6506007)(305945005)(50466002)(81156014)(16586007)(6486002)(48376002)(4326008)(110136005)(8676002)(55236004)(53936002)(316002)(81166006)(2906002)(6116002)(51416003)(3846002)(52116002)(50226002)(25786009)(97736004)(8656006)(54906003)(8936002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0701MB1066;\n\tH:ajoseph83.caveonetworks.com.caveonetworks.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; MX:1; A: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": "21 Feb 2018 05:38:45.1957\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "ec50af7c-6da9-4084-42f6-08d578ed614e",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM2PR0701MB1066",
        "Subject": "[dpdk-dev] [PATCH 4/5] examples/ipsec-secgw: handle ESN soft limit\n\tevent",
        "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://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": "<https://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": "For inline protocol processing, the PMD/device is required to maintain\nthe ESN. But the application is required to monitor ESN overflow to\ninitiate SA expiry.\n\nFor such cases, application would set the ESN soft limit. An IPsec event\nwould be raised by rte_eth_event framework, when ESN hits the soft limit\nset by the application.\n\nSigned-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>\n---\n examples/ipsec-secgw/ipsec-secgw.c | 56 ++++++++++++++++++++++++++++++++++++++\n examples/ipsec-secgw/ipsec.c       | 10 +++++--\n examples/ipsec-secgw/ipsec.h       |  2 ++\n 3 files changed, 65 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c\nindex 3a8562e..5726fd3 100644\n--- a/examples/ipsec-secgw/ipsec-secgw.c\n+++ b/examples/ipsec-secgw/ipsec-secgw.c\n@@ -40,6 +40,7 @@\n #include <rte_hash.h>\n #include <rte_jhash.h>\n #include <rte_cryptodev.h>\n+#include <rte_security.h>\n \n #include \"ipsec.h\"\n #include \"parser.h\"\n@@ -1640,6 +1641,58 @@ pool_init(struct socket_ctx *ctx, int32_t socket_id, uint32_t nb_mbuf)\n \t\tprintf(\"Allocated mbuf pool on socket %d\\n\", socket_id);\n }\n \n+static inline int\n+inline_ipsec_event_esn_overflow(struct rte_security_ctx *ctx, uint64_t md)\n+{\n+\tstruct ipsec_sa *sa;\n+\n+\t/* For inline protocol processing, the metadata in the event will\n+\t * uniquely identify the security session which raised the event.\n+\t * Application would then need the userdata it had registered with the\n+\t * security session to process the event.\n+\t */\n+\n+\tsa = (struct ipsec_sa *)rte_security_get_userdata(ctx, md);\n+\n+\tif (sa == NULL) {\n+\t\t/* userdata could not be retrieved */\n+\t\treturn -1;\n+\t}\n+\n+\t/* Sequence number over flow. SA need to be re-established */\n+\tRTE_SET_USED(sa);\n+\treturn 0;\n+}\n+\n+static int\n+inline_ipsec_event_callback(uint16_t port_id, enum rte_eth_event_type type,\n+\t\t void *param, void *ret_param)\n+{\n+\tstruct rte_eth_event_ipsec_desc *event_desc = NULL;\n+\tstruct rte_security_ctx *ctx = (struct rte_security_ctx *)\n+\t\t\t\t\trte_eth_dev_get_sec_ctx(port_id);\n+\n+\tRTE_SET_USED(param);\n+\n+\tif (type != RTE_ETH_EVENT_IPSEC)\n+\t\treturn -1;\n+\n+\tevent_desc = ret_param;\n+\tif (event_desc == NULL) {\n+\t\tprintf(\"Event descriptor not set\\n\");\n+\t\treturn -1;\n+\t}\n+\n+\tif (event_desc->stype == RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW)\n+\t\treturn inline_ipsec_event_esn_overflow(ctx, event_desc->md);\n+\telse if (event_desc->stype >= RTE_ETH_EVENT_IPSEC_MAX) {\n+\t\tprintf(\"Invalid IPsec event reported\\n\");\n+\t\treturn -1;\n+\t}\n+\n+\treturn -1;\n+}\n+\n int32_t\n main(int32_t argc, char **argv)\n {\n@@ -1727,6 +1780,9 @@ main(int32_t argc, char **argv)\n \t\t */\n \t\tif (promiscuous_on)\n \t\t\trte_eth_promiscuous_enable(portid);\n+\n+\t\trte_eth_dev_callback_register(portid,\n+\t\t\tRTE_ETH_EVENT_IPSEC, inline_ipsec_event_callback, NULL);\n \t}\n \n \tcheck_all_ports_link_status(nb_ports, enabled_port_mask);\ndiff --git a/examples/ipsec-secgw/ipsec.c b/examples/ipsec-secgw/ipsec.c\nindex 5fb5bc1..acdd189 100644\n--- a/examples/ipsec-secgw/ipsec.c\n+++ b/examples/ipsec-secgw/ipsec.c\n@@ -36,6 +36,7 @@ set_ipsec_conf(struct ipsec_sa *sa, struct rte_security_ipsec_xform *ipsec)\n \t\t}\n \t\t/* TODO support for Transport and IPV6 tunnel */\n \t}\n+\tipsec->esn_soft_limit = IPSEC_OFFLOAD_ESN_SOFTLIMIT;\n }\n \n static inline int\n@@ -270,11 +271,14 @@ create_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa)\n \t\t\t * the packet is received, this userdata will be\n \t\t\t * retrieved using the metadata from the packet.\n \t\t\t *\n-\t\t\t * This is required only for inbound SAs.\n+\t\t\t * The PMD is expected to set similar metadata for other\n+\t\t\t * operations, like rte_eth_event, which are tied to\n+\t\t\t * security session. In such cases, the userdata could\n+\t\t\t * be obtained to uniquely identify the security\n+\t\t\t * parameters denoted.\n \t\t\t */\n \n-\t\t\tif (sa->direction == RTE_SECURITY_IPSEC_SA_DIR_INGRESS)\n-\t\t\t\tsess_conf.userdata = (void *) sa;\n+\t\t\tsess_conf.userdata = (void *) sa;\n \n \t\t\tsa->sec_session = rte_security_session_create(ctx,\n \t\t\t\t\t&sess_conf, ipsec_ctx->session_pool);\ndiff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h\nindex 6059f6c..c1450f6 100644\n--- a/examples/ipsec-secgw/ipsec.h\n+++ b/examples/ipsec-secgw/ipsec.h\n@@ -21,6 +21,8 @@\n \n #define MAX_DIGEST_SIZE 32 /* Bytes -- 256 bits */\n \n+#define IPSEC_OFFLOAD_ESN_SOFTLIMIT 0xffffff00\n+\n #define IV_OFFSET\t\t(sizeof(struct rte_crypto_op) + \\\n \t\t\t\tsizeof(struct rte_crypto_sym_op))\n \n",
    "prefixes": [
        "dpdk-dev",
        "4/5"
    ]
}