Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2680/?format=api
https://patches.dpdk.org/api/patches/2680/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1422509365-13596-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": "<1422509365-13596-15-git-send-email-jingjing.wu@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1422509365-13596-15-git-send-email-jingjing.wu@intel.com", "date": "2015-01-29T05:29:24", "name": "[dpdk-dev,14/15] testpmd: remove old commands for flow director", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "03ee8da28c8c852adcc7c20c7b1785624a8de930", "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/1422509365-13596-15-git-send-email-jingjing.wu@intel.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/2680/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/2680/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 0A4815AA1;\n\tThu, 29 Jan 2015 06:30:25 +0100 (CET)", "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby dpdk.org (Postfix) with ESMTP id 90CF85A8E\n\tfor <dev@dpdk.org>; Thu, 29 Jan 2015 06:30:05 +0100 (CET)", "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby fmsmga101.fm.intel.com with ESMTP; 28 Jan 2015 21:30:03 -0800", "from shvmail01.sh.intel.com ([10.239.29.42])\n\tby FMSMGA003.fm.intel.com with ESMTP; 28 Jan 2015 21:16:15 -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 t0T5TxBJ022951;\n\tThu, 29 Jan 2015 13:29:59 +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 t0T5TvBH013729; Thu, 29 Jan 2015 13:29:59 +0800", "(from wujingji@localhost)\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t0T5Tvx2013725; \n\tThu, 29 Jan 2015 13:29:57 +0800" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"4.97,862,1389772800\"; d=\"scan'208\";a=\"446836958\"", "From": "Jingjing Wu <jingjing.wu@intel.com>", "To": "dev@dpdk.org", "Date": "Thu, 29 Jan 2015 13:29:24 +0800", "Message-Id": "<1422509365-13596-15-git-send-email-jingjing.wu@intel.com>", "X-Mailer": "git-send-email 1.7.4.1", "In-Reply-To": "<1422509365-13596-1-git-send-email-jingjing.wu@intel.com>", "References": "<1422509365-13596-1-git-send-email-jingjing.wu@intel.com>", "Subject": "[dpdk-dev] [PATCH 14/15] testpmd: remove old commands for flow\n\tdirector", "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": "Following commands of flow director filter are removed:\n - add_signature_filter\n - upd_signature_filter\n - rm_signature_filter\n - add_perfect_filter\n - upd_perfect_filter\n - rm_perfect_filter\n - set_masks_filter\n - set_ipv6_masks_filter\n\nSigned-off-by: Jingjing Wu <jingjing.wu@intel.com>\n---\n app/test-pmd/cmdline.c | 573 +------------------------------------------------\n app/test-pmd/config.c | 124 -----------\n app/test-pmd/testpmd.h | 16 --\n 3 files changed, 1 insertion(+), 712 deletions(-)", "diff": "diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c\nindex 3671d25..fb7eff5 100644\n--- a/app/test-pmd/cmdline.c\n+++ b/app/test-pmd/cmdline.c\n@@ -115,7 +115,6 @@ static void cmd_help_brief_parsed(__attribute__((unused)) void *parsed_result,\n \t\t\"information.\\n\"\n \t\t\" help config : Configuration information.\\n\"\n \t\t\" help ports : Configuring ports.\\n\"\n-\t\t\" help flowdir : Flow Director filter help.\\n\"\n \t\t\" help registers : Reading and setting port registers.\\n\"\n \t\t\" help filters : Filters configuration help.\\n\"\n \t\t\" help all : All of the above sections.\\n\\n\"\n@@ -490,71 +489,6 @@ static void cmd_help_long_parsed(void *parsed_result,\n \t\t);\n \t}\n \n-\n-\tif (show_all || !strcmp(res->section, \"flowdir\")) {\n-\n-\t\tcmdline_printf(\n-\t\t\tcl,\n-\t\t\t\"\\n\"\n-\t\t\t\"Flow director mode:\\n\"\n-\t\t\t\"-------------------\\n\\n\"\n-\n-\t\t\t\"add_signature_filter (port_id) (ip|udp|tcp|sctp)\"\n-\t\t\t\" src (src_ip_address) (src_port)\"\n-\t\t\t\" dst (dst_ip_address) (dst_port)\"\n-\t\t\t\" flexbytes (flexbytes_values) vlan (vlan_id)\"\n-\t\t\t\" queue (queue_id)\\n\"\n-\t\t\t\" Add a signature filter.\\n\\n\"\n-\n-\t\t\t\"upd_signature_filter (port_id) (ip|udp|tcp|sctp)\"\n-\t\t\t\" src (src_ip_address) (src_port)\"\n-\t\t\t\" dst (dst_ip_address) (dst_port)\"\n-\t\t\t\" flexbytes (flexbytes_values) vlan (vlan_id)\"\n-\t\t\t\" queue (queue_id)\\n\"\n-\t\t\t\" Update a signature filter.\\n\\n\"\n-\n-\t\t\t\"rm_signature_filter (port_id) (ip|udp|tcp|sctp)\"\n-\t\t\t\" src (src_ip_address) (src_port)\"\n-\t\t\t\" dst (dst_ip_address) (dst_port)\"\n-\t\t\t\" flexbytes (flexbytes_values) vlan (vlan_id)\\n\"\n-\t\t\t\" Remove a signature filter.\\n\\n\"\n-\n-\t\t\t\"add_perfect_filter (port_id) (ip|udp|tcp|sctp)\"\n-\t\t\t\" src (src_ip_address) (src_port)\"\n-\t\t\t\" dst (dst_ip_address) (dst_port)\"\n-\t\t\t\" flexbytes (flexbytes_values) vlan (vlan_id)\"\n-\t\t\t\" queue (queue_id) soft (soft_id)\\n\"\n-\t\t\t\" Add a perfect filter.\\n\\n\"\n-\n-\t\t\t\"upd_perfect_filter (port_id) (ip|udp|tcp|sctp)\"\n-\t\t\t\" src (src_ip_address) (src_port)\"\n-\t\t\t\" dst (dst_ip_address) (dst_port)\"\n-\t\t\t\" flexbytes (flexbytes_values) vlan (vlan_id)\"\n-\t\t\t\" queue (queue_id)\\n\"\n-\t\t\t\" Update a perfect filter.\\n\\n\"\n-\n-\t\t\t\"rm_perfect_filter (port_id) (ip|udp|tcp|sctp)\"\n-\t\t\t\" src (src_ip_address) (src_port)\"\n-\t\t\t\" dst (dst_ip_address) (dst_port)\"\n-\t\t\t\" flexbytes (flexbytes_values) vlan (vlan_id)\"\n-\t\t\t\" soft (soft_id)\\n\"\n-\t\t\t\" Remove a perfect filter.\\n\\n\"\n-\n-\t\t\t\"set_masks_filter (port_id) only_ip_flow (0|1)\"\n-\t\t\t\" src_mask (ip_src_mask) (src_port_mask)\"\n-\t\t\t\" dst_mask (ip_dst_mask) (dst_port_mask)\"\n-\t\t\t\" flexbytes (0|1) vlan_id (0|1) vlan_prio (0|1)\\n\"\n-\t\t\t\" Set IPv4 filter masks.\\n\\n\"\n-\n-\t\t\t\"set_ipv6_masks_filter (port_id) only_ip_flow (0|1)\"\n-\t\t\t\" src_mask (ip_src_mask) (src_port_mask)\"\n-\t\t\t\" dst_mask (ip_dst_mask) (dst_port_mask)\"\n-\t\t\t\" flexbytes (0|1) vlan_id (0|1) vlan_prio (0|1)\"\n-\t\t\t\" compare_dst (0|1)\\n\"\n-\t\t\t\" Set IPv6 filter masks.\\n\\n\"\n-\t\t);\n-\t}\n-\n \tif (show_all || !strcmp(res->section, \"ports\")) {\n \n \t\tcmdline_printf(\n@@ -750,7 +684,7 @@ cmdline_parse_token_string_t cmd_help_long_help =\n \n cmdline_parse_token_string_t cmd_help_long_section =\n \tTOKEN_STRING_INITIALIZER(struct cmd_help_long_result, section,\n-\t\t\t\"all#control#display#config#flowdir#\"\n+\t\t\t\"all#control#display#config#\"\n \t\t\t\"ports#registers#filters\");\n \n cmdline_parse_inst_t cmd_help_long = {\n@@ -4361,503 +4295,6 @@ cmdline_parse_inst_t cmd_set_allmulti_mode_one = {\n \t},\n };\n \n-/* *** ADD/REMOVE A PKT FILTER *** */\n-struct cmd_pkt_filter_result {\n-\tcmdline_fixed_string_t pkt_filter;\n-\tuint8_t port_id;\n-\tcmdline_fixed_string_t protocol;\n-\tcmdline_fixed_string_t src;\n-\tcmdline_ipaddr_t ip_src;\n-\tuint16_t port_src;\n-\tcmdline_fixed_string_t dst;\n-\tcmdline_ipaddr_t ip_dst;\n-\tuint16_t port_dst;\n-\tcmdline_fixed_string_t flexbytes;\n-\tuint16_t flexbytes_value;\n-\tcmdline_fixed_string_t vlan;\n-\tuint16_t vlan_id;\n-\tcmdline_fixed_string_t queue;\n-\tint8_t queue_id;\n-\tcmdline_fixed_string_t soft;\n-\tuint8_t soft_id;\n-};\n-\n-static void\n-cmd_pkt_filter_parsed(void *parsed_result,\n-\t\t\t __attribute__((unused)) struct cmdline *cl,\n-\t\t\t __attribute__((unused)) void *data)\n-{\n-\tstruct rte_fdir_filter fdir_filter;\n-\tstruct cmd_pkt_filter_result *res = parsed_result;\n-\n-\tmemset(&fdir_filter, 0, sizeof(struct rte_fdir_filter));\n-\n-\tif (res->ip_src.family == AF_INET)\n-\t\tfdir_filter.ip_src.ipv4_addr = res->ip_src.addr.ipv4.s_addr;\n-\telse\n-\t\tmemcpy(&(fdir_filter.ip_src.ipv6_addr),\n-\t\t &(res->ip_src.addr.ipv6),\n-\t\t sizeof(struct in6_addr));\n-\n-\tif (res->ip_dst.family == AF_INET)\n-\t\tfdir_filter.ip_dst.ipv4_addr = res->ip_dst.addr.ipv4.s_addr;\n-\telse\n-\t\tmemcpy(&(fdir_filter.ip_dst.ipv6_addr),\n-\t\t &(res->ip_dst.addr.ipv6),\n-\t\t sizeof(struct in6_addr));\n-\n-\tfdir_filter.port_dst = rte_cpu_to_be_16(res->port_dst);\n-\tfdir_filter.port_src = rte_cpu_to_be_16(res->port_src);\n-\n-\tif (!strcmp(res->protocol, \"udp\"))\n-\t\tfdir_filter.l4type = RTE_FDIR_L4TYPE_UDP;\n-\telse if (!strcmp(res->protocol, \"tcp\"))\n-\t\tfdir_filter.l4type = RTE_FDIR_L4TYPE_TCP;\n-\telse if (!strcmp(res->protocol, \"sctp\"))\n-\t\tfdir_filter.l4type = RTE_FDIR_L4TYPE_SCTP;\n-\telse /* default only IP */\n-\t\tfdir_filter.l4type = RTE_FDIR_L4TYPE_NONE;\n-\n-\tif (res->ip_dst.family == AF_INET6)\n-\t\tfdir_filter.iptype = RTE_FDIR_IPTYPE_IPV6;\n-\telse\n-\t\tfdir_filter.iptype = RTE_FDIR_IPTYPE_IPV4;\n-\n-\tfdir_filter.vlan_id = rte_cpu_to_be_16(res->vlan_id);\n-\tfdir_filter.flex_bytes = rte_cpu_to_be_16(res->flexbytes_value);\n-\n-\tif (!strcmp(res->pkt_filter, \"add_signature_filter\"))\n-\t\tfdir_add_signature_filter(res->port_id, res->queue_id,\n-\t\t\t\t\t &fdir_filter);\n-\telse if (!strcmp(res->pkt_filter, \"upd_signature_filter\"))\n-\t\tfdir_update_signature_filter(res->port_id, res->queue_id,\n-\t\t\t\t\t &fdir_filter);\n-\telse if (!strcmp(res->pkt_filter, \"rm_signature_filter\"))\n-\t\tfdir_remove_signature_filter(res->port_id, &fdir_filter);\n-\telse if (!strcmp(res->pkt_filter, \"add_perfect_filter\"))\n-\t\tfdir_add_perfect_filter(res->port_id, res->soft_id,\n-\t\t\t\t\tres->queue_id,\n-\t\t\t\t\t(uint8_t) (res->queue_id < 0),\n-\t\t\t\t\t&fdir_filter);\n-\telse if (!strcmp(res->pkt_filter, \"upd_perfect_filter\"))\n-\t\tfdir_update_perfect_filter(res->port_id, res->soft_id,\n-\t\t\t\t\t res->queue_id,\n-\t\t\t\t\t (uint8_t) (res->queue_id < 0),\n-\t\t\t\t\t &fdir_filter);\n-\telse if (!strcmp(res->pkt_filter, \"rm_perfect_filter\"))\n-\t\tfdir_remove_perfect_filter(res->port_id, res->soft_id,\n-\t\t\t\t\t &fdir_filter);\n-\n-}\n-\n-\n-cmdline_parse_token_num_t cmd_pkt_filter_port_id =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t port_id, UINT8);\n-cmdline_parse_token_string_t cmd_pkt_filter_protocol =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t protocol, \"ip#tcp#udp#sctp\");\n-cmdline_parse_token_string_t cmd_pkt_filter_src =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t src, \"src\");\n-cmdline_parse_token_ipaddr_t cmd_pkt_filter_ip_src =\n-\tTOKEN_IPADDR_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t ip_src);\n-cmdline_parse_token_num_t cmd_pkt_filter_port_src =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t port_src, UINT16);\n-cmdline_parse_token_string_t cmd_pkt_filter_dst =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t dst, \"dst\");\n-cmdline_parse_token_ipaddr_t cmd_pkt_filter_ip_dst =\n-\tTOKEN_IPADDR_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t ip_dst);\n-cmdline_parse_token_num_t cmd_pkt_filter_port_dst =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t port_dst, UINT16);\n-cmdline_parse_token_string_t cmd_pkt_filter_flexbytes =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t flexbytes, \"flexbytes\");\n-cmdline_parse_token_num_t cmd_pkt_filter_flexbytes_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t flexbytes_value, UINT16);\n-cmdline_parse_token_string_t cmd_pkt_filter_vlan =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t vlan, \"vlan\");\n-cmdline_parse_token_num_t cmd_pkt_filter_vlan_id =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t vlan_id, UINT16);\n-cmdline_parse_token_string_t cmd_pkt_filter_queue =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t queue, \"queue\");\n-cmdline_parse_token_num_t cmd_pkt_filter_queue_id =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t queue_id, INT8);\n-cmdline_parse_token_string_t cmd_pkt_filter_soft =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t soft, \"soft\");\n-cmdline_parse_token_num_t cmd_pkt_filter_soft_id =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t soft_id, UINT16);\n-\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_add_signature_filter =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t pkt_filter, \"add_signature_filter\");\n-cmdline_parse_inst_t cmd_add_signature_filter = {\n-\t.f = cmd_pkt_filter_parsed,\n-\t.data = NULL,\n-\t.help_str = \"add a signature filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_add_signature_filter,\n-\t\t(void *)&cmd_pkt_filter_port_id,\n-\t\t(void *)&cmd_pkt_filter_protocol,\n-\t\t(void *)&cmd_pkt_filter_src,\n-\t\t(void *)&cmd_pkt_filter_ip_src,\n-\t\t(void *)&cmd_pkt_filter_port_src,\n-\t\t(void *)&cmd_pkt_filter_dst,\n-\t\t(void *)&cmd_pkt_filter_ip_dst,\n-\t\t(void *)&cmd_pkt_filter_port_dst,\n-\t\t(void *)&cmd_pkt_filter_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_vlan,\n-\t\t(void *)&cmd_pkt_filter_vlan_id,\n-\t\t(void *)&cmd_pkt_filter_queue,\n-\t\t(void *)&cmd_pkt_filter_queue_id,\n-\t\tNULL,\n-\t},\n-};\n-\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_upd_signature_filter =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t pkt_filter, \"upd_signature_filter\");\n-cmdline_parse_inst_t cmd_upd_signature_filter = {\n-\t.f = cmd_pkt_filter_parsed,\n-\t.data = NULL,\n-\t.help_str = \"update a signature filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_upd_signature_filter,\n-\t\t(void *)&cmd_pkt_filter_port_id,\n-\t\t(void *)&cmd_pkt_filter_protocol,\n-\t\t(void *)&cmd_pkt_filter_src,\n-\t\t(void *)&cmd_pkt_filter_ip_src,\n-\t\t(void *)&cmd_pkt_filter_port_src,\n-\t\t(void *)&cmd_pkt_filter_dst,\n-\t\t(void *)&cmd_pkt_filter_ip_dst,\n-\t\t(void *)&cmd_pkt_filter_port_dst,\n-\t\t(void *)&cmd_pkt_filter_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_vlan,\n-\t\t(void *)&cmd_pkt_filter_vlan_id,\n-\t\t(void *)&cmd_pkt_filter_queue,\n-\t\t(void *)&cmd_pkt_filter_queue_id,\n-\t\tNULL,\n-\t},\n-};\n-\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_rm_signature_filter =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t pkt_filter, \"rm_signature_filter\");\n-cmdline_parse_inst_t cmd_rm_signature_filter = {\n-\t.f = cmd_pkt_filter_parsed,\n-\t.data = NULL,\n-\t.help_str = \"remove a signature filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_rm_signature_filter,\n-\t\t(void *)&cmd_pkt_filter_port_id,\n-\t\t(void *)&cmd_pkt_filter_protocol,\n-\t\t(void *)&cmd_pkt_filter_src,\n-\t\t(void *)&cmd_pkt_filter_ip_src,\n-\t\t(void *)&cmd_pkt_filter_port_src,\n-\t\t(void *)&cmd_pkt_filter_dst,\n-\t\t(void *)&cmd_pkt_filter_ip_dst,\n-\t\t(void *)&cmd_pkt_filter_port_dst,\n-\t\t(void *)&cmd_pkt_filter_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_vlan,\n-\t\t(void *)&cmd_pkt_filter_vlan_id,\n-\t\tNULL\n-\t\t},\n-};\n-\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_add_perfect_filter =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t pkt_filter, \"add_perfect_filter\");\n-cmdline_parse_inst_t cmd_add_perfect_filter = {\n-\t.f = cmd_pkt_filter_parsed,\n-\t.data = NULL,\n-\t.help_str = \"add a perfect filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_add_perfect_filter,\n-\t\t(void *)&cmd_pkt_filter_port_id,\n-\t\t(void *)&cmd_pkt_filter_protocol,\n-\t\t(void *)&cmd_pkt_filter_src,\n-\t\t(void *)&cmd_pkt_filter_ip_src,\n-\t\t(void *)&cmd_pkt_filter_port_src,\n-\t\t(void *)&cmd_pkt_filter_dst,\n-\t\t(void *)&cmd_pkt_filter_ip_dst,\n-\t\t(void *)&cmd_pkt_filter_port_dst,\n-\t\t(void *)&cmd_pkt_filter_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_vlan,\n-\t\t(void *)&cmd_pkt_filter_vlan_id,\n-\t\t(void *)&cmd_pkt_filter_queue,\n-\t\t(void *)&cmd_pkt_filter_queue_id,\n-\t\t(void *)&cmd_pkt_filter_soft,\n-\t\t(void *)&cmd_pkt_filter_soft_id,\n-\t\tNULL,\n-\t},\n-};\n-\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_upd_perfect_filter =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t pkt_filter, \"upd_perfect_filter\");\n-cmdline_parse_inst_t cmd_upd_perfect_filter = {\n-\t.f = cmd_pkt_filter_parsed,\n-\t.data = NULL,\n-\t.help_str = \"update a perfect filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_upd_perfect_filter,\n-\t\t(void *)&cmd_pkt_filter_port_id,\n-\t\t(void *)&cmd_pkt_filter_protocol,\n-\t\t(void *)&cmd_pkt_filter_src,\n-\t\t(void *)&cmd_pkt_filter_ip_src,\n-\t\t(void *)&cmd_pkt_filter_port_src,\n-\t\t(void *)&cmd_pkt_filter_dst,\n-\t\t(void *)&cmd_pkt_filter_ip_dst,\n-\t\t(void *)&cmd_pkt_filter_port_dst,\n-\t\t(void *)&cmd_pkt_filter_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_vlan,\n-\t\t(void *)&cmd_pkt_filter_vlan_id,\n-\t\t(void *)&cmd_pkt_filter_queue,\n-\t\t(void *)&cmd_pkt_filter_queue_id,\n-\t\t(void *)&cmd_pkt_filter_soft,\n-\t\t(void *)&cmd_pkt_filter_soft_id,\n-\t\tNULL,\n-\t},\n-};\n-\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_rm_perfect_filter =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_result,\n-\t\t\t\t pkt_filter, \"rm_perfect_filter\");\n-cmdline_parse_inst_t cmd_rm_perfect_filter = {\n-\t.f = cmd_pkt_filter_parsed,\n-\t.data = NULL,\n-\t.help_str = \"remove a perfect filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_rm_perfect_filter,\n-\t\t(void *)&cmd_pkt_filter_port_id,\n-\t\t(void *)&cmd_pkt_filter_protocol,\n-\t\t(void *)&cmd_pkt_filter_src,\n-\t\t(void *)&cmd_pkt_filter_ip_src,\n-\t\t(void *)&cmd_pkt_filter_port_src,\n-\t\t(void *)&cmd_pkt_filter_dst,\n-\t\t(void *)&cmd_pkt_filter_ip_dst,\n-\t\t(void *)&cmd_pkt_filter_port_dst,\n-\t\t(void *)&cmd_pkt_filter_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_vlan,\n-\t\t(void *)&cmd_pkt_filter_vlan_id,\n-\t\t(void *)&cmd_pkt_filter_soft,\n-\t\t(void *)&cmd_pkt_filter_soft_id,\n-\t\tNULL,\n-\t},\n-};\n-\n-/* *** SETUP MASKS FILTER *** */\n-struct cmd_pkt_filter_masks_result {\n-\tcmdline_fixed_string_t filter_mask;\n-\tuint8_t port_id;\n-\tcmdline_fixed_string_t src_mask;\n-\tuint32_t ip_src_mask;\n-\tuint16_t ipv6_src_mask;\n-\tuint16_t port_src_mask;\n-\tcmdline_fixed_string_t dst_mask;\n-\tuint32_t ip_dst_mask;\n-\tuint16_t ipv6_dst_mask;\n-\tuint16_t port_dst_mask;\n-\tcmdline_fixed_string_t flexbytes;\n-\tuint8_t flexbytes_value;\n-\tcmdline_fixed_string_t vlan_id;\n-\tuint8_t vlan_id_value;\n-\tcmdline_fixed_string_t vlan_prio;\n-\tuint8_t vlan_prio_value;\n-\tcmdline_fixed_string_t only_ip_flow;\n-\tuint8_t only_ip_flow_value;\n-\tcmdline_fixed_string_t comp_ipv6_dst;\n-\tuint8_t comp_ipv6_dst_value;\n-};\n-\n-static void\n-cmd_pkt_filter_masks_parsed(void *parsed_result,\n-\t\t\t __attribute__((unused)) struct cmdline *cl,\n-\t\t\t __attribute__((unused)) void *data)\n-{\n-\tstruct rte_fdir_masks fdir_masks;\n-\tstruct cmd_pkt_filter_masks_result *res = parsed_result;\n-\n-\tmemset(&fdir_masks, 0, sizeof(struct rte_fdir_masks));\n-\n-\tfdir_masks.only_ip_flow = res->only_ip_flow_value;\n-\tfdir_masks.vlan_id = res->vlan_id_value;\n-\tfdir_masks.vlan_prio = res->vlan_prio_value;\n-\tfdir_masks.dst_ipv4_mask = res->ip_dst_mask;\n-\tfdir_masks.src_ipv4_mask = res->ip_src_mask;\n-\tfdir_masks.src_port_mask = res->port_src_mask;\n-\tfdir_masks.dst_port_mask = res->port_dst_mask;\n-\tfdir_masks.flexbytes = res->flexbytes_value;\n-\n-\tfdir_set_masks(res->port_id, &fdir_masks);\n-}\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_filter_mask =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t filter_mask, \"set_masks_filter\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_port_id =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t port_id, UINT8);\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_only_ip_flow =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t only_ip_flow, \"only_ip_flow\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_only_ip_flow_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t only_ip_flow_value, UINT8);\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_src_mask =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t src_mask, \"src_mask\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_ip_src_mask =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t ip_src_mask, UINT32);\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_port_src_mask =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t port_src_mask, UINT16);\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_dst_mask =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t dst_mask, \"dst_mask\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_ip_dst_mask =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t ip_dst_mask, UINT32);\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_port_dst_mask =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t port_dst_mask, UINT16);\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_flexbytes =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t flexbytes, \"flexbytes\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_flexbytes_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t flexbytes_value, UINT8);\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_vlan_id =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t vlan_id, \"vlan_id\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_vlan_id_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t vlan_id_value, UINT8);\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_vlan_prio =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t vlan_prio, \"vlan_prio\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_vlan_prio_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t vlan_prio_value, UINT8);\n-\n-cmdline_parse_inst_t cmd_set_masks_filter = {\n-\t.f = cmd_pkt_filter_masks_parsed,\n-\t.data = NULL,\n-\t.help_str = \"setup masks filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_masks_filter_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_port_id,\n-\t\t(void *)&cmd_pkt_filter_masks_only_ip_flow,\n-\t\t(void *)&cmd_pkt_filter_masks_only_ip_flow_value,\n-\t\t(void *)&cmd_pkt_filter_masks_src_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_ip_src_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_port_src_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_dst_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_ip_dst_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_port_dst_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_masks_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_id,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_id_value,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_prio,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_prio_value,\n-\t\tNULL,\n-\t},\n-};\n-\n-static void\n-cmd_pkt_filter_masks_ipv6_parsed(void *parsed_result,\n-\t\t\t __attribute__((unused)) struct cmdline *cl,\n-\t\t\t __attribute__((unused)) void *data)\n-{\n-\tstruct rte_fdir_masks fdir_masks;\n-\tstruct cmd_pkt_filter_masks_result *res = parsed_result;\n-\n-\tmemset(&fdir_masks, 0, sizeof(struct rte_fdir_masks));\n-\n-\tfdir_masks.set_ipv6_mask = 1;\n-\tfdir_masks.only_ip_flow = res->only_ip_flow_value;\n-\tfdir_masks.vlan_id = res->vlan_id_value;\n-\tfdir_masks.vlan_prio = res->vlan_prio_value;\n-\tfdir_masks.dst_ipv6_mask = res->ipv6_dst_mask;\n-\tfdir_masks.src_ipv6_mask = res->ipv6_src_mask;\n-\tfdir_masks.src_port_mask = res->port_src_mask;\n-\tfdir_masks.dst_port_mask = res->port_dst_mask;\n-\tfdir_masks.flexbytes = res->flexbytes_value;\n-\tfdir_masks.comp_ipv6_dst = res->comp_ipv6_dst_value;\n-\n-\tfdir_set_masks(res->port_id, &fdir_masks);\n-}\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_filter_mask_ipv6 =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t filter_mask, \"set_ipv6_masks_filter\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_src_mask_ipv6_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t ipv6_src_mask, UINT16);\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_dst_mask_ipv6_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t ipv6_dst_mask, UINT16);\n-\n-cmdline_parse_token_string_t cmd_pkt_filter_masks_comp_ipv6_dst =\n-\tTOKEN_STRING_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t\t comp_ipv6_dst, \"compare_dst\");\n-cmdline_parse_token_num_t cmd_pkt_filter_masks_comp_ipv6_dst_value =\n-\tTOKEN_NUM_INITIALIZER(struct cmd_pkt_filter_masks_result,\n-\t\t\t comp_ipv6_dst_value, UINT8);\n-\n-cmdline_parse_inst_t cmd_set_ipv6_masks_filter = {\n-\t.f = cmd_pkt_filter_masks_ipv6_parsed,\n-\t.data = NULL,\n-\t.help_str = \"setup ipv6 masks filter\",\n-\t.tokens = {\n-\t\t(void *)&cmd_pkt_filter_masks_filter_mask_ipv6,\n-\t\t(void *)&cmd_pkt_filter_masks_port_id,\n-\t\t(void *)&cmd_pkt_filter_masks_only_ip_flow,\n-\t\t(void *)&cmd_pkt_filter_masks_only_ip_flow_value,\n-\t\t(void *)&cmd_pkt_filter_masks_src_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_src_mask_ipv6_value,\n-\t\t(void *)&cmd_pkt_filter_masks_port_src_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_dst_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_dst_mask_ipv6_value,\n-\t\t(void *)&cmd_pkt_filter_masks_port_dst_mask,\n-\t\t(void *)&cmd_pkt_filter_masks_flexbytes,\n-\t\t(void *)&cmd_pkt_filter_masks_flexbytes_value,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_id,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_id_value,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_prio,\n-\t\t(void *)&cmd_pkt_filter_masks_vlan_prio_value,\n-\t\t(void *)&cmd_pkt_filter_masks_comp_ipv6_dst,\n-\t\t(void *)&cmd_pkt_filter_masks_comp_ipv6_dst_value,\n-\t\tNULL,\n-\t},\n-};\n-\n /* *** SETUP ETHERNET LINK FLOW CONTROL *** */\n struct cmd_link_flow_ctrl_set_result {\n \tcmdline_fixed_string_t set;\n@@ -8888,14 +8325,6 @@ cmdline_parse_ctx_t main_ctx[] = {\n \t(cmdline_parse_inst_t *)&cmd_write_reg_bit_field,\n \t(cmdline_parse_inst_t *)&cmd_write_reg_bit,\n \t(cmdline_parse_inst_t *)&cmd_read_rxd_txd,\n-\t(cmdline_parse_inst_t *)&cmd_add_signature_filter,\n-\t(cmdline_parse_inst_t *)&cmd_upd_signature_filter,\n-\t(cmdline_parse_inst_t *)&cmd_rm_signature_filter,\n-\t(cmdline_parse_inst_t *)&cmd_add_perfect_filter,\n-\t(cmdline_parse_inst_t *)&cmd_upd_perfect_filter,\n-\t(cmdline_parse_inst_t *)&cmd_rm_perfect_filter,\n-\t(cmdline_parse_inst_t *)&cmd_set_masks_filter,\n-\t(cmdline_parse_inst_t *)&cmd_set_ipv6_masks_filter,\n \t(cmdline_parse_inst_t *)&cmd_stop,\n \t(cmdline_parse_inst_t *)&cmd_mac_addr,\n \t(cmdline_parse_inst_t *)&cmd_set_qmap,\ndiff --git a/app/test-pmd/config.c b/app/test-pmd/config.c\nindex 4db9b9a..2046a8e 100644\n--- a/app/test-pmd/config.c\n+++ b/app/test-pmd/config.c\n@@ -1768,60 +1768,6 @@ set_qmap(portid_t port_id, uint8_t is_rx, uint16_t queue_id, uint8_t map_value)\n \t}\n }\n \n-void\n-fdir_add_signature_filter(portid_t port_id, uint8_t queue_id,\n-\t\t\t struct rte_fdir_filter *fdir_filter)\n-{\n-\tint diag;\n-\n-\tif (port_id_is_invalid(port_id))\n-\t\treturn;\n-\n-\tdiag = rte_eth_dev_fdir_add_signature_filter(port_id, fdir_filter,\n-\t\t\t\t\t\t queue_id);\n-\tif (diag == 0)\n-\t\treturn;\n-\n-\tprintf(\"rte_eth_dev_fdir_add_signature_filter for port_id=%d failed \"\n-\t \"diag=%d\\n\", port_id, diag);\n-}\n-\n-void\n-fdir_update_signature_filter(portid_t port_id, uint8_t queue_id,\n-\t\t\t struct rte_fdir_filter *fdir_filter)\n-{\n-\tint diag;\n-\n-\tif (port_id_is_invalid(port_id))\n-\t\treturn;\n-\n-\tdiag = rte_eth_dev_fdir_update_signature_filter(port_id, fdir_filter,\n-\t\t\t\t\t\t\tqueue_id);\n-\tif (diag == 0)\n-\t\treturn;\n-\n-\tprintf(\"rte_eth_dev_fdir_update_signature_filter for port_id=%d failed \"\n-\t \"diag=%d\\n\", port_id, diag);\n-}\n-\n-void\n-fdir_remove_signature_filter(portid_t port_id,\n-\t\t\t struct rte_fdir_filter *fdir_filter)\n-{\n-\tint diag;\n-\n-\tif (port_id_is_invalid(port_id))\n-\t\treturn;\n-\n-\tdiag = rte_eth_dev_fdir_remove_signature_filter(port_id, fdir_filter);\n-\tif (diag == 0)\n-\t\treturn;\n-\n-\tprintf(\"rte_eth_dev_fdir_add_signature_filter for port_id=%d failed \"\n-\t \"diag=%d\\n\", port_id, diag);\n-\n-}\n-\n static inline void\n print_fdir_mask(struct rte_eth_fdir_masks *mask)\n {\n@@ -1963,76 +1909,6 @@ fdir_get_infos(portid_t port_id)\n }\n \n void\n-fdir_add_perfect_filter(portid_t port_id, uint16_t soft_id, uint8_t queue_id,\n-\t\t\tuint8_t drop, struct rte_fdir_filter *fdir_filter)\n-{\n-\tint diag;\n-\n-\tif (port_id_is_invalid(port_id))\n-\t\treturn;\n-\n-\tdiag = rte_eth_dev_fdir_add_perfect_filter(port_id, fdir_filter,\n-\t\t\t\t\t\t soft_id, queue_id, drop);\n-\tif (diag == 0)\n-\t\treturn;\n-\n-\tprintf(\"rte_eth_dev_fdir_add_perfect_filter for port_id=%d failed \"\n-\t \"diag=%d\\n\", port_id, diag);\n-}\n-\n-void\n-fdir_update_perfect_filter(portid_t port_id, uint16_t soft_id, uint8_t queue_id,\n-\t\t\t uint8_t drop, struct rte_fdir_filter *fdir_filter)\n-{\n-\tint diag;\n-\n-\tif (port_id_is_invalid(port_id))\n-\t\treturn;\n-\n-\tdiag = rte_eth_dev_fdir_update_perfect_filter(port_id, fdir_filter,\n-\t\t\t\t\t\t soft_id, queue_id, drop);\n-\tif (diag == 0)\n-\t\treturn;\n-\n-\tprintf(\"rte_eth_dev_fdir_update_perfect_filter for port_id=%d failed \"\n-\t \"diag=%d\\n\", port_id, diag);\n-}\n-\n-void\n-fdir_remove_perfect_filter(portid_t port_id, uint16_t soft_id,\n-\t\t\t struct rte_fdir_filter *fdir_filter)\n-{\n-\tint diag;\n-\n-\tif (port_id_is_invalid(port_id))\n-\t\treturn;\n-\n-\tdiag = rte_eth_dev_fdir_remove_perfect_filter(port_id, fdir_filter,\n-\t\t\t\t\t\t soft_id);\n-\tif (diag == 0)\n-\t\treturn;\n-\n-\tprintf(\"rte_eth_dev_fdir_update_perfect_filter for port_id=%d failed \"\n-\t \"diag=%d\\n\", port_id, diag);\n-}\n-\n-void\n-fdir_set_masks(portid_t port_id, struct rte_fdir_masks *fdir_masks)\n-{\n-\tint diag;\n-\n-\tif (port_id_is_invalid(port_id))\n-\t\treturn;\n-\n-\tdiag = rte_eth_dev_fdir_set_masks(port_id, fdir_masks);\n-\tif (diag == 0)\n-\t\treturn;\n-\n-\tprintf(\"rte_eth_dev_set_masks_filter for port_id=%d failed \"\n-\t \"diag=%d\\n\", port_id, diag);\n-}\n-\n-void\n fdir_set_flex_mask(portid_t port_id, struct rte_eth_fdir_flex_mask *cfg)\n {\n \tstruct rte_port *port;\ndiff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h\nindex 8f5e6c7..25756e2 100644\n--- a/app/test-pmd/testpmd.h\n+++ b/app/test-pmd/testpmd.h\n@@ -518,23 +518,7 @@ void close_port(portid_t pid);\n int all_ports_stopped(void);\n int port_is_started(portid_t port_id);\n void pmd_test_exit(void);\n-\n-void fdir_add_signature_filter(portid_t port_id, uint8_t queue_id,\n-\t\t\t struct rte_fdir_filter *fdir_filter);\n-void fdir_update_signature_filter(portid_t port_id, uint8_t queue_id,\n-\t\t\t\t struct rte_fdir_filter *fdir_filter);\n-void fdir_remove_signature_filter(portid_t port_id,\n-\t\t\t\t struct rte_fdir_filter *fdir_filter);\n void fdir_get_infos(portid_t port_id);\n-void fdir_add_perfect_filter(portid_t port_id, uint16_t soft_id,\n-\t\t\t uint8_t queue_id, uint8_t drop,\n-\t\t\t struct rte_fdir_filter *fdir_filter);\n-void fdir_update_perfect_filter(portid_t port_id, uint16_t soft_id,\n-\t\t\t\tuint8_t queue_id, uint8_t drop,\n-\t\t\t\tstruct rte_fdir_filter *fdir_filter);\n-void fdir_remove_perfect_filter(portid_t port_id, uint16_t soft_id,\n-\t\t\t\tstruct rte_fdir_filter *fdir_filter);\n-void fdir_set_masks(portid_t port_id, struct rte_fdir_masks *fdir_masks);\n void fdir_set_flex_mask(portid_t port_id,\n \t\t\t struct rte_eth_fdir_flex_mask *cfg);\n void fdir_set_flex_payload(portid_t port_id,\n", "prefixes": [ "dpdk-dev", "14/15" ] }{ "id": 2680, "url": "