get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 109364,
    "url": "http://patches.dpdk.org/api/patches/109364/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220407105706.18889-13-kevinx.liu@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": "<20220407105706.18889-13-kevinx.liu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220407105706.18889-13-kevinx.liu@intel.com",
    "date": "2022-04-07T10:56:39",
    "name": "[12/39] net/ice: add VXLAN support for switch filter",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "e318506776fa675d6796699d85b473c5ea3fcd48",
    "submitter": {
        "id": 2440,
        "url": "http://patches.dpdk.org/api/people/2440/?format=api",
        "name": "Kevin Liu",
        "email": "kevinx.liu@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220407105706.18889-13-kevinx.liu@intel.com/mbox/",
    "series": [
        {
            "id": 22387,
            "url": "http://patches.dpdk.org/api/series/22387/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=22387",
            "date": "2022-04-07T10:56:27",
            "name": "support full function of DCF",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/22387/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/109364/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/109364/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7BE58A0508;\n\tThu,  7 Apr 2022 04:59:20 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CADCA42886;\n\tThu,  7 Apr 2022 04:58:51 +0200 (CEST)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n by mails.dpdk.org (Postfix) with ESMTP id 5126342886\n for <dev@dpdk.org>; Thu,  7 Apr 2022 04:58:49 +0200 (CEST)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 06 Apr 2022 19:58:48 -0700",
            "from intel-cd-odc-kevin.cd.intel.com ([10.240.178.195])\n by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 06 Apr 2022 19:58:46 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1649300329; x=1680836329;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=GypuUfHl5KQvgLq0XITj/gqSyLC9O1aub31sne0FyNQ=;\n b=WiKCxrDP+BfypISXz3Hev1owU1ygSoTdMFCltpouPrqimxTPvDMR2Q7h\n h4lc48zplZWweDm6w8yFHRd7vHQeILLW/EOzAlbhu9Z+9/TXeaTyVUHJy\n vp6gtJA9yArsKZS9FN6VncRVF7f1A0DTjTgySryBrCy4iPMMvbAmUYsn4\n Yxlzn/EgKkQxTCvk6b9GLyisAfAttBaqXnj/R6Fsp+doyu0n3+XFedtAd\n s+VgWD1bCnCI2YEdkoWG/d3iH0qvleHLnF8fyd0gTl21oqWUf8JheTZ8s\n OpNXkuRZyUDeFmQjH3KE446V5kg7GOl/YQdJDM1ie8sj8nhWSViH7KJFu A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10309\"; a=\"248738358\"",
            "E=Sophos;i=\"5.90,241,1643702400\"; d=\"scan'208\";a=\"248738358\"",
            "E=Sophos;i=\"5.90,241,1643702400\"; d=\"scan'208\";a=\"570850572\""
        ],
        "From": "Kevin Liu <kevinx.liu@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "qiming.yang@intel.com, qi.z.zhang@intel.com, stevex.yang@intel.com,\n Junfeng Guo <junfeng.guo@intel.com>, Kevin Liu <kevinx.liu@intel.com>",
        "Subject": "[PATCH 12/39] net/ice: add VXLAN support for switch filter",
        "Date": "Thu,  7 Apr 2022 10:56:39 +0000",
        "Message-Id": "<20220407105706.18889-13-kevinx.liu@intel.com>",
        "X-Mailer": "git-send-email 2.33.1",
        "In-Reply-To": "<20220407105706.18889-1-kevinx.liu@intel.com>",
        "References": "<20220407105706.18889-1-kevinx.liu@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "From: Junfeng Guo <junfeng.guo@intel.com>\n\n1. Add profile rule for VXLAN on Switch Filter, including\n\tpattern_eth_ipv4_udp_vxlan_any\n\tpattern_eth_ipv6_udp_vxlan_any\n\tpattern_eth_ipv4_udp_vxlan_eth_ipv4\n\tpattern_eth_ipv4_udp_vxlan_eth_ipv6\n\tpattern_eth_ipv6_udp_vxlan_eth_ipv4\n\tpattern_eth_ipv6_udp_vxlan_eth_ipv6\n\n2. Add common rule for VXLAN on Switch Filter, including\n\n+-----------------+-----------------------------------------------------+\n|     Pattern     |                    Input Set                        |\n+-----------------+-----------------------------------------------------+\n| ipv4_vxlan_ipv4 | vni, inner dmac, inner dst/src ip, outer dst/src ip |\n| ipv4_vxlan_ipv6 | vni, inner dmac, inner dst/src ip                   |\n| ipv6_vxlan_ipv4 | vni, inner dmac, inner dst/src ip                   |\n| ipv6_vxlan_ipv6 | vni, inner dmac, inner dst/src ip                   |\n+-----------------+-----------------------------------------------------+\n\nSigned-off-by: Junfeng Guo <junfeng.guo@intel.com>\nSigned-off-by: Kevin Liu <kevinx.liu@intel.com>\n---\n drivers/net/ice/ice_generic_flow.c  | 20 ++++++++++\n drivers/net/ice/ice_generic_flow.h  |  4 ++\n drivers/net/ice/ice_switch_filter.c | 59 +++++++++++++++++++++++++++--\n 3 files changed, 80 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c\nindex 53b1c0b69a..1433094ed4 100644\n--- a/drivers/net/ice/ice_generic_flow.c\n+++ b/drivers/net/ice/ice_generic_flow.c\n@@ -375,6 +375,26 @@ enum rte_flow_item_type pattern_eth_ipv4_udp_vxlan_ipv4_icmp[] = {\n \tRTE_FLOW_ITEM_TYPE_END,\n };\n \n+/* IPv4 VXLAN ANY */\n+enum rte_flow_item_type pattern_eth_ipv4_udp_vxlan_any[] = {\n+\tRTE_FLOW_ITEM_TYPE_ETH,\n+\tRTE_FLOW_ITEM_TYPE_IPV4,\n+\tRTE_FLOW_ITEM_TYPE_UDP,\n+\tRTE_FLOW_ITEM_TYPE_VXLAN,\n+\tRTE_FLOW_ITEM_TYPE_ANY,\n+\tRTE_FLOW_ITEM_TYPE_END,\n+};\n+\n+/* IPv6 VXLAN ANY */\n+enum rte_flow_item_type pattern_eth_ipv6_udp_vxlan_any[] = {\n+\tRTE_FLOW_ITEM_TYPE_ETH,\n+\tRTE_FLOW_ITEM_TYPE_IPV6,\n+\tRTE_FLOW_ITEM_TYPE_UDP,\n+\tRTE_FLOW_ITEM_TYPE_VXLAN,\n+\tRTE_FLOW_ITEM_TYPE_ANY,\n+\tRTE_FLOW_ITEM_TYPE_END,\n+};\n+\n /* IPv4 VXLAN MAC IPv4 */\n enum rte_flow_item_type pattern_eth_ipv4_udp_vxlan_eth_ipv4[] = {\n \tRTE_FLOW_ITEM_TYPE_ETH,\ndiff --git a/drivers/net/ice/ice_generic_flow.h b/drivers/net/ice/ice_generic_flow.h\nindex 11f51a5c15..def7e2d6d6 100644\n--- a/drivers/net/ice/ice_generic_flow.h\n+++ b/drivers/net/ice/ice_generic_flow.h\n@@ -175,6 +175,10 @@ extern enum rte_flow_item_type pattern_eth_ipv6_icmp6[];\n extern enum rte_flow_item_type pattern_eth_vlan_ipv6_icmp6[];\n extern enum rte_flow_item_type pattern_eth_qinq_ipv6_icmp6[];\n \n+/* IPv4/IPv6 VXLAN ANY */\n+extern enum rte_flow_item_type pattern_eth_ipv4_udp_vxlan_any[];\n+extern enum rte_flow_item_type pattern_eth_ipv6_udp_vxlan_any[];\n+\n /* IPv4 VXLAN IPv4 */\n extern enum rte_flow_item_type pattern_eth_ipv4_udp_vxlan_ipv4[];\n extern enum rte_flow_item_type pattern_eth_ipv4_udp_vxlan_ipv4_udp[];\ndiff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c\nindex 36c9bffb73..e90e109eca 100644\n--- a/drivers/net/ice/ice_switch_filter.c\n+++ b/drivers/net/ice/ice_switch_filter.c\n@@ -85,6 +85,19 @@\n #define ICE_SW_INSET_DIST_VXLAN_IPV4 ( \\\n \tICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST | ICE_INSET_DMAC | \\\n \tICE_INSET_VXLAN_VNI)\n+#define ICE_SW_INSET_DIST_IPV4_VXLAN_IPV4 ( \\\n+\tICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST | \\\n+\tICE_INSET_DMAC | ICE_INSET_VXLAN_VNI | \\\n+\tICE_INSET_TUN_IPV4_SRC | ICE_INSET_TUN_IPV4_DST)\n+#define ICE_SW_INSET_DIST_IPV4_VXLAN_IPV6 ( \\\n+\tICE_INSET_DMAC | ICE_INSET_VXLAN_VNI | \\\n+\tICE_INSET_IPV6_SRC | ICE_INSET_IPV6_DST)\n+#define ICE_SW_INSET_DIST_IPV6_VXLAN_IPV4 ( \\\n+\tICE_INSET_DMAC | ICE_INSET_VXLAN_VNI | \\\n+\tICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST)\n+#define ICE_SW_INSET_DIST_IPV6_VXLAN_IPV6 ( \\\n+\tICE_INSET_DMAC | ICE_INSET_VXLAN_VNI | \\\n+\tICE_INSET_IPV6_SRC | ICE_INSET_IPV6_DST)\n #define ICE_SW_INSET_DIST_NVGRE_IPV4_TCP ( \\\n \tICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST | \\\n \tICE_INSET_TCP_SRC_PORT | ICE_INSET_TCP_DST_PORT | \\\n@@ -112,6 +125,9 @@\n \tICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST | \\\n \tICE_INSET_UDP_SRC_PORT | ICE_INSET_UDP_DST_PORT | \\\n \tICE_INSET_IPV4_TOS)\n+#define ICE_SW_INSET_PERM_TUNNEL_IPV6 ( \\\n+\tICE_INSET_IPV6_SRC | ICE_INSET_IPV6_DST | \\\n+\tICE_INSET_IPV6_NEXT_HDR | ICE_INSET_IPV6_TC)\n #define ICE_SW_INSET_MAC_PPPOE  ( \\\n \tICE_INSET_VLAN_OUTER | ICE_INSET_VLAN_INNER | \\\n \tICE_INSET_DMAC | ICE_INSET_ETHERTYPE | ICE_INSET_PPPOE_SESSION)\n@@ -217,9 +233,14 @@ ice_pattern_match_item ice_switch_pattern_dist_list[] = {\n \t{pattern_eth_ipv6,\t\t\t\tICE_SW_INSET_MAC_IPV6,\t\t\tICE_INSET_NONE,\t\t\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv6_udp,\t\t\t\tICE_SW_INSET_MAC_IPV6_UDP,\t\tICE_INSET_NONE,\t\t\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv6_tcp,\t\t\t\tICE_SW_INSET_MAC_IPV6_TCP,\t\tICE_INSET_NONE,\t\t\t\tICE_INSET_NONE},\n+\t{pattern_eth_ipv4_udp_vxlan_any, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},\n+\t{pattern_eth_ipv6_udp_vxlan_any, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},\n \t{pattern_eth_ipv4_udp_vxlan_eth_ipv4,\t\tICE_INSET_IPV4_DST,\t\t\tICE_SW_INSET_DIST_VXLAN_IPV4,\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,\tICE_INSET_IPV4_DST,\t\t\tICE_SW_INSET_DIST_VXLAN_IPV4_UDP,\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,\tICE_INSET_IPV4_DST,\t\t\tICE_SW_INSET_DIST_VXLAN_IPV4_TCP,\tICE_INSET_NONE},\n+\t{pattern_eth_ipv4_udp_vxlan_eth_ipv6, ICE_SW_INSET_DIST_IPV4_VXLAN_IPV6, ICE_INSET_NONE, ICE_INSET_NONE},\n+\t{pattern_eth_ipv6_udp_vxlan_eth_ipv4, ICE_SW_INSET_DIST_IPV6_VXLAN_IPV4, ICE_INSET_NONE, ICE_INSET_NONE},\n+\t{pattern_eth_ipv6_udp_vxlan_eth_ipv6, ICE_SW_INSET_DIST_IPV6_VXLAN_IPV6, ICE_INSET_NONE, ICE_INSET_NONE},\n \t{pattern_eth_ipv4_nvgre_eth_ipv4,\t\tICE_INSET_IPV4_DST,\t\t\tICE_SW_INSET_DIST_NVGRE_IPV4,\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_nvgre_eth_ipv4_udp,\t\tICE_INSET_IPV4_DST,\t\t\tICE_SW_INSET_DIST_NVGRE_IPV4_UDP,\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_nvgre_eth_ipv4_tcp,\t\tICE_INSET_IPV4_DST,\t\t\tICE_SW_INSET_DIST_NVGRE_IPV4_TCP,\tICE_INSET_NONE},\n@@ -301,9 +322,14 @@ ice_pattern_match_item ice_switch_pattern_perm_list[] = {\n \t{pattern_eth_ipv6,\t\t\t\tICE_SW_INSET_MAC_IPV6,\t\t\tICE_INSET_NONE,\t\t\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv6_udp,\t\t\t\tICE_SW_INSET_MAC_IPV6_UDP,\t\tICE_INSET_NONE,\t\t\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv6_tcp,\t\t\t\tICE_SW_INSET_MAC_IPV6_TCP,\t\tICE_INSET_NONE,\t\t\t\tICE_INSET_NONE},\n+\t{pattern_eth_ipv4_udp_vxlan_any,\tICE_INSET_NONE,\tICE_INSET_NONE,\tICE_INSET_NONE},\n+\t{pattern_eth_ipv6_udp_vxlan_any,\tICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},\n \t{pattern_eth_ipv4_udp_vxlan_eth_ipv4,\t\tICE_INSET_NONE,\t\t\t\tICE_SW_INSET_PERM_TUNNEL_IPV4,\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,\tICE_INSET_NONE,\t\t\t\tICE_SW_INSET_PERM_TUNNEL_IPV4_UDP,\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,\tICE_INSET_NONE,\t\t\t\tICE_SW_INSET_PERM_TUNNEL_IPV4_TCP,\tICE_INSET_NONE},\n+\t{pattern_eth_ipv4_udp_vxlan_eth_ipv6, ICE_SW_INSET_DIST_IPV4_VXLAN_IPV6, ICE_INSET_NONE, ICE_INSET_NONE},\n+\t{pattern_eth_ipv6_udp_vxlan_eth_ipv4, ICE_SW_INSET_DIST_IPV6_VXLAN_IPV4, ICE_INSET_NONE, ICE_INSET_NONE},\n+\t{pattern_eth_ipv6_udp_vxlan_eth_ipv6, ICE_SW_INSET_DIST_IPV6_VXLAN_IPV6, ICE_INSET_NONE, ICE_INSET_NONE},\n \t{pattern_eth_ipv4_nvgre_eth_ipv4,\t\tICE_INSET_NONE,\t\t\t\tICE_SW_INSET_PERM_TUNNEL_IPV4,\t\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_nvgre_eth_ipv4_udp,\t\tICE_INSET_NONE,\t\t\t\tICE_SW_INSET_PERM_TUNNEL_IPV4_UDP,\tICE_INSET_NONE},\n \t{pattern_eth_ipv4_nvgre_eth_ipv4_tcp,\t\tICE_INSET_NONE,\t\t\t\tICE_SW_INSET_PERM_TUNNEL_IPV4_TCP,\tICE_INSET_NONE},\n@@ -566,6 +592,11 @@ ice_switch_parse_pattern(const struct rte_flow_item pattern[],\n \tbool inner_ipv6_valid = 0;\n \tbool inner_tcp_valid = 0;\n \tbool inner_udp_valid = 0;\n+\tbool ipv4_ipv4_valid = 0;\n+\tbool ipv4_ipv6_valid = 0;\n+\tbool ipv6_ipv4_valid = 0;\n+\tbool ipv6_ipv6_valid = 0;\n+\tbool any_valid = 0;\n \tuint16_t j, k, t = 0;\n \n \tif (*tun_type == ICE_SW_TUN_AND_NON_TUN_QINQ ||\n@@ -586,6 +617,7 @@ ice_switch_parse_pattern(const struct rte_flow_item pattern[],\n \t\tswitch (item_type) {\n \t\tcase RTE_FLOW_ITEM_TYPE_ANY:\n \t\t\t*tun_type = ICE_SW_TUN_AND_NON_TUN;\n+\t\t\tany_valid = 1;\n \t\t\tbreak;\n \n \t\tcase RTE_FLOW_ITEM_TYPE_ETH:\n@@ -654,6 +686,10 @@ ice_switch_parse_pattern(const struct rte_flow_item pattern[],\n \t\tcase RTE_FLOW_ITEM_TYPE_IPV4:\n \t\t\tipv4_spec = item->spec;\n \t\t\tipv4_mask = item->mask;\n+\t\t\tif (ipv4_valid)\n+\t\t\t\tipv4_ipv4_valid = 1;\n+\t\t\tif (ipv6_valid)\n+\t\t\t\tipv6_ipv4_valid = 1;\n \t\t\tif (tunnel_valid) {\n \t\t\t\tinner_ipv4_valid = 1;\n \t\t\t\tinput = &inner_input_set;\n@@ -734,6 +770,10 @@ ice_switch_parse_pattern(const struct rte_flow_item pattern[],\n \t\tcase RTE_FLOW_ITEM_TYPE_IPV6:\n \t\t\tipv6_spec = item->spec;\n \t\t\tipv6_mask = item->mask;\n+\t\t\tif (ipv4_valid)\n+\t\t\t\tipv4_ipv6_valid = 1;\n+\t\t\tif (ipv6_valid)\n+\t\t\t\tipv6_ipv6_valid = 1;\n \t\t\tif (tunnel_valid) {\n \t\t\t\tinner_ipv6_valid = 1;\n \t\t\t\tinput = &inner_input_set;\n@@ -1577,9 +1617,7 @@ ice_switch_parse_pattern(const struct rte_flow_item pattern[],\n \t}\n \n \tif (*tun_type == ICE_NON_TUN) {\n-\t\tif (vxlan_valid)\n-\t\t\t*tun_type = ICE_SW_TUN_VXLAN;\n-\t\telse if (nvgre_valid)\n+\t\tif (nvgre_valid)\n \t\t\t*tun_type = ICE_SW_TUN_NVGRE;\n \t\telse if (ipv4_valid && tcp_valid)\n \t\t\t*tun_type = ICE_SW_IPV4_TCP;\n@@ -1591,6 +1629,21 @@ ice_switch_parse_pattern(const struct rte_flow_item pattern[],\n \t\t\t*tun_type = ICE_SW_IPV6_UDP;\n \t}\n \n+\tif (vxlan_valid) {\n+\t\tif (ipv4_ipv4_valid)\n+\t\t\t*tun_type = ICE_SW_TUN_PROFID_IPV4_VXLAN_IPV4;\n+\t\telse if (ipv4_ipv6_valid)\n+\t\t\t*tun_type = ICE_SW_TUN_PROFID_IPV4_VXLAN_IPV6;\n+\t\telse if (ipv6_ipv4_valid)\n+\t\t\t*tun_type = ICE_SW_TUN_PROFID_IPV6_VXLAN_IPV4;\n+\t\telse if (ipv6_ipv6_valid)\n+\t\t\t*tun_type = ICE_SW_TUN_PROFID_IPV6_VXLAN_IPV6;\n+\t\telse if (ipv6_valid && any_valid)\n+\t\t\t*tun_type = ICE_SW_TUN_PROFID_IPV6_VXLAN;\n+\t\telse if (ipv4_valid && any_valid)\n+\t\t\t*tun_type = ICE_SW_TUN_PROFID_IPV4_VXLAN;\n+\t}\n+\n \tif (input_set_byte > MAX_INPUT_SET_BYTE) {\n \t\trte_flow_error_set(error, EINVAL,\n \t\t\tRTE_FLOW_ERROR_TYPE_ITEM,\n",
    "prefixes": [
        "12/39"
    ]
}