From patchwork Sat Sep 8 20:31:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 44453 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4E3775F17; Sat, 8 Sep 2018 22:32:06 +0200 (CEST) Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680074.outbound.protection.outlook.com [40.107.68.74]) by dpdk.org (Postfix) with ESMTP id 972B35323; Sat, 8 Sep 2018 22:31:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0nE3fbT7SQ1civeYea8k8KqFfUhpdj8sG4BRPGZoDmY=; b=A3ZFSmBFwmVizgSkgyHG59A07MwZpJ7uUIz8wqQ0fsJdOiAubEtVCr32SP5P9lgzoCEs0AqXt8VUsW3x5diu5t3o44O7QDBHdWniYQ9dSw5H11QKaJA50Id/TQc44vPoQUkbUfcUgRtuyLjWhmXbcPm/YPQgT/hl3zFBufO+w5A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.1.5) by DM6PR07MB5372.namprd07.prod.outlook.com (2603:10b6:5:44::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Sat, 8 Sep 2018 20:31:53 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Shahed Shaikh , ferruh.yigit@intel.com, Dept-EngDPDKDev@cavium.com, stable@dpdk.org Date: Sat, 8 Sep 2018 13:31:00 -0700 Message-Id: <1536438666-22184-12-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1536438666-22184-1-git-send-email-rasesh.mody@cavium.com> References: <1536438666-22184-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 X-Originating-IP: [198.186.1.5] X-ClientProxiedBy: BYAPR02CA0031.namprd02.prod.outlook.com (2603:10b6:a02:ee::44) To DM6PR07MB5372.namprd07.prod.outlook.com (2603:10b6:5:44::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 94ba0b31-fba5-4a85-e63c-08d615ca1d1c X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB5372; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5372; 3:xcNt6LlFAOY1RT7HDBvzl2OH2YtWBe1+WdyAy7Rs6fqkYKiOOYEGfJOW8o/vRrMuBDnlEhBOvNU+Ht59pqWA/FfnAiOp2IEmXCYiW79qh3aqLofaVx5Wp41LAyhRea3Qzx4wHZAkyu8fDa+bU3Hqv1bUJv2HOafhJPS2Yho0p1cDsicQ/Kf3TjeI/pKUFUsDGercxTEjsBNOjL2GmUrdx+PV4dvstoyvVi9Kf+BfCeSMDolDHpnxuCZChsQT6AfE; 25:q4fUAIpaK4WsbeKek8rGw40bzq3bQmQgxJyEPgvr9ICZ23Tl0NQ3BPD++eznG0ut9PaCNmTajftFTIWn+jtcRirO373swHtWJLc593f/jJGdn3mzom1iAoEU1xA5losV8LnItDnSpTEeU15iHt3bPZDamet/31OCrxtLMbfsgVX/y067T54sY0AVpa2Gk11gV5Yb3JGqph0GQIKtzTfkMW/eLFBOKaFdm6hSxNQt3be5QkBNum5LG2ohU94OCXlg2Kli7vBWUSEirkCivfuY6G9iGjnwgzuSeSGMqCtfDnTDDo2VEs2fju7fwYV6ob0oVkYt8A4fcnLUqCCROsO28A==; 31:UVnwqvrbKsBPSi4XlOka23RVVk+wsoWb2NexFEiNIzc95vS04aG+pbnZTjEJBSzqN0JJHWkJf5SfnCkDpzIEb/KsUn6V7i8SfylXC5IN1hUDty+h6Tp+7z5NEDPmRW6zIdbs2ySxbZ1j4t1lZeCbovHChlWwTTlvuzAMpobtOPeBKNiIvn9/oOui6429cYXvfDcORnG6MzZ+H0pPwBmK5q0jzHncFT1qOh1i39cDrGg= X-MS-TrafficTypeDiagnostic: DM6PR07MB5372: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5372; 20:osHwImoGtnHHwYXej0/teMMPMUUe1v+19zFLec7mujtH4C/g6Nl2ADZ0SNR1lWWwr28ESuvrcdrcG5+UgZlwE9MlXQgFzRiOOq85iV5ino7dA7ZhlYqVvBqP+bafpgXLoEmsCb2UMP+GjPSLZMaYd4uk1cRcYYJ1LIkaoNjfkW9YL473yZeu39pMrBTzAIsWIlcp4IgUE38TB/p8sVPfRXsMWsR2EyE+QRDMeAjc6DTqmXLnYhUP5ZhC9eLP1Lq5JFed5DA0PSP014CXsWTL5YTRVwbsbouM6akbJ9orjNzvutea1BPXrNXH2WnmWkjD8EtDZRvTtsYWpOHckupBecLJYA9wmJtlyyTXke6uPqw3gL9W06QTzlJkFDoRwD4cVrAwHB0WmKIyVX56FsMHVYEIx1aOwY1qhNeA51bHjF4tw3kXlOb/aRPV7FmkoZwq/uuJHwSV47giN1ItShJda+o3YkKczravc1vzOcEf0+fJp4HDn0FnP6nAm6YmxzpV; 4:oz7aKpsqtjuaCk1kdYTthY46SA2OJy2F9ouaK5OVEBFsjUM+3dm6Hal5izkDKLqBVOID/DbtPxjm8d41o8358erRT6StKaP9q7SAE+XiqDDxQrV4EiiHWom+UK/7lRfiTHCJIrrwn5qWd+LpnCwhbk5yWOkXkTRj737DhljtJmokjpvz+F+FywB1AKT8Jk7u5IeopcTjZk0HIeuONlvA13VsQBSNXlHB39RRzf9EZsrFolv8Qz3X0fjEYHF68Y//qmaxm1Qg/dEz7fM96LjQMA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(823301075)(3002001)(10201501046)(3231311)(944501410)(52105095)(93006095)(93001095)(149027)(150027)(6041310)(20161123562045)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050); SRVR:DM6PR07MB5372; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB5372; X-Forefront-PRVS: 07891BF289 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(136003)(346002)(376002)(39860400002)(199004)(189003)(4720700003)(97736004)(2351001)(106356001)(105586002)(72206003)(66066001)(47776003)(4326008)(50466002)(48376002)(25786009)(305945005)(7736002)(2361001)(8676002)(478600001)(316002)(52116002)(69596002)(186003)(50226002)(44832011)(16526019)(486006)(21086003)(2906002)(55016002)(26005)(8936002)(476003)(956004)(81156014)(81166006)(86362001)(5660300001)(6666003)(36756003)(16586007)(11346002)(446003)(2616005)(76176011)(3846002)(6116002)(6916009)(68736007)(386003)(51416003)(53936002)(7696005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB5372; H:cavium.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM6PR07MB5372; 23:K3HXGHk2CAVpkrwBuChsanaPCidAtxo7Dyx07BMCe?= LzAnHA5yLzb4eQ8yVFXVA4PmoN4Gte/lt4hMFHVAyd5P2Gi9seGLAjmfaRgwzlQBRlAw070b2DaExltT1VxVOHVnuC4ihujRYy009TEGEyTNFuD4t8+JKlYod6Sy7cfMnJwElwxnoBpvpQ4TJHo3ef9HsaJhJ2mse0Y0XdEhxnijxJCg4JIr7E65P7Quotix/z9+2mGZcFtsPXy1C8GrIF7jKKwjNiRi43wHxspzPTstLjebd9SigwS0xkws+Z4FazFfiy1rklHstlpjLWQO9X/m4+BBKs4x6Pab7c5HcTzxHI6o6S15qRhvVaOpyJqRAIxAv1zFV5HxDlE3VfwWYlE6FOADTU+7RSue0BdVUP19qZ/xTh/dNThb6Ikzy2gj8zkOB0UCkMAQR3tmZsgLHVUPa/fVYk1mWrseTd8T1R69zL9Peobnfnt9T91nEvHotpInAN98TAqBGAyViUyz+duEPkNhBcjXZxd46qZKnqQGIqlfJz+gyCcR4kyNmctwpsCfGkvlzbJOI5qrN3qRQrHg1Zg/iLYGD85BUQSAlXYJ/lIl/D+KLxYFv3qcgOtp53fbHtaHmq1IR+jDIZGORXDfYVJwbxDMudgU+IjId4CI0vkHH2Pr4dhfi+Rmd5k7V/KLulJstq3i71EwfWBKf5fy9FqoEjzUgLkyR6dcSSToqsqQChLP16dWOuGRaC8rWKO0ZZnt4N6/E/pErNuhyWKP82eVJPu43ppe4rOOrTQKI/mdPWcc6/K8U3bhAkTs6fUMcQAHWb2KjsBVivPhh3C9DpRiy977EZakXcs0XEIgfKnxg3V5HWAgpDL0PlnPoVHAlA99BO7ZvsJvxBGvmUI71tGpTZdGD6POcLegmYxLmcHFo4hBKC6KyQAkb3FRlj46fVEOTNWPB+IjQ39uskjpigmf2dyEGI3Ug6Mh07kDkoVOlMexXAxHQzCKlBGGpOBHQfEp4xaloLdfiPWhoOL28WUHU9ttKk5FTHYePGjwdyQYdAFSiIioTXO0709cBJF+uN28hStsRadvdYsD+TisSgR3Lt3E6bevm3Q7SMCl2Z86QPYZ8uCr7fWQH+k1y2ijt3GenKgx2+Ul+AR+PW1j+LzY/s9OGrIJQFZXYO3ZHa9o3Y+g+SqAMWr8813CARJm3PoZxqDfRUppFkWaGZXFwdWamOhl+EzKEK3NG2S+0vwmhgqDWd8NlkDtT2liiMPUwhP86xuPEn4/CHL2YTzR5frM/5bBfZkvCDeQQ4ePg== X-Microsoft-Antispam-Message-Info: 8GCFrV43naLBFaE8wuuJfee28rwSd4Qzg5hG2dE8UKPwk2t9kcjE3omeShlYiSiYr8jW9+N0q/OjUxyP81cuqptjQLu9COtjSiIs7r3SDdoxztYo9eTMG4JduWFScP0MeAEvaII+V26baJlSai+Ic5aPv1gLaTb9ohwuweWLDscSYbX6O4CIX5icTldSZLOpYej9IkHcIQRpGpZvD4mhlBpzyK35GiYen1pqGEHEGWQ/MZQ7jHxEgv3p4tCbgjB+QbKumZ/s1sVrJ1CwfAeKNX1gWr1aCstgNQpSBMxc0s//ZU4gs7k+GdTYZyiLf68Ebz3zlR8A0Q3PpTdgImPx+B6f+G5SLfqPm4xisJIC6fQ= X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5372; 6:AlR7XXklS9HhIFqR930cDTtAR25EQ5r7AZUiSJJ/R5FnctYtPn/RZ2R2+u2UWc9WNXieiedYlst+ISLSLOp9EG0KXYJJS+Kp644iE0j+sEry2qBM/HwGXIM7fq35ZSzOolIA6ESfZfjGplrillsy20ZBXVw2suGA2X/7GWN5zkh9kRI0fqSIFB4DN6ZmjSYpg77EqilR+xUn7ndMrKdnY2mlR/dz+RalgtQLtw1zS5cvV5ADc1SvXCG4w8erJo7I0U0fLsH869NRTnMA4hwmkMzcteQver07nIKYugSjqeXRaTgL+DgOUcqzY6RkusQ9MB0hqI+L7fOO0miVKGUvKIk4UBpPZz5aMIa4/btDBixLGyc2sTTnSJU+T7o0Thphsk/j+GjgU7muHFLyOYsq3H4utrdw9WwT0PbVrlFxkqNXWHDf/Q0Z8v6OCaUwhIsRDXRGhazHEGwaswIWwippsg==; 5:SsGrOXwf980AVgn4fR3Kq1s+pDS6Dax2Ocff+dj7rmyLKkwB7t/F23LkH5T6uFxY/ssPXxejtw4gL2Ab0Nn4EvjA80qCZNm3/Ds2dW7oJhKppqY80tt2DuL3qr840Ho426wd0q6qV5GhT6U2aYIzycpVHoQGv79YPmPFjwfOQKs=; 7:0bhYTQCgvVjlnURnXrB9h1RqILTdmeVc2F0dBaXhDWvEsGQeDCWrTHR1nWvBKLqwWy9Vvx3nPjYXM67Ub36TwuUD4FSPr72LxNR5z7PcRXkbLmUAT2lYeFrjGSr65fZygj9ziTvoFlEbFma43WTRNnBVIXcJxDpxw59QOrqsMw/2ZGX+Nu1qis3aOnFpgZAwmjAc1azfVh78MoYBJaSO4Cu57B+SK8YxVx6gPe4jmn52AvwfSbZ+xQvesb2dQuTe SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2018 20:31:53.1764 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 94ba0b31-fba5-4a85-e63c-08d615ca1d1c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB5372 Subject: [dpdk-dev] [PATCH 11/17] net/qede: fix flow director bug for IPv6 filter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Shahed Shaikh - PMD does not fill vtc_flow field of IPv6 header while constructing a packet for IPv6 filter. Hence filter was not getting applied properly. - IPv6 addresses got swapped while copying src and dst addresses. - Same issue with UDP and TCP port ids. Fixes: 622075356e8f ("net/qede: support ntuple and flow director filter") Cc: stable@dpdk.org Signed-off-by: Shahed Shaikh --- drivers/net/qede/qede_filter.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/net/qede/qede_filter.c b/drivers/net/qede/qede_filter.c index b8460a0..4b709e6 100644 --- a/drivers/net/qede/qede_filter.c +++ b/drivers/net/qede/qede_filter.c @@ -121,7 +121,7 @@ #define QEDE_FDIR_IP_DEFAULT_VERSION_IHL (IP_VERSION | IP_HDRLEN) #define QEDE_FDIR_TCP_DEFAULT_DATAOFF (0x50) #define QEDE_FDIR_IPV4_DEF_TTL (64) - +#define QEDE_FDIR_IPV6_DEFAULT_VTC_FLOW (0x60000000) /* Sum of length of header types of L2, L3, L4. * L2 : ether_hdr + vlan_hdr + vxlan_hdr * L3 : ipv6_hdr @@ -445,24 +445,28 @@ void qede_fdir_dealloc_resc(struct rte_eth_dev *eth_dev) ip6->proto = input->flow.ipv6_flow.proto ? input->flow.ipv6_flow.proto : next_proto[input->flow_type]; - rte_memcpy(&ip6->src_addr, &input->flow.ipv6_flow.dst_ip, + ip6->vtc_flow = + rte_cpu_to_be_32(QEDE_FDIR_IPV6_DEFAULT_VTC_FLOW); + + rte_memcpy(&ip6->src_addr, &input->flow.ipv6_flow.src_ip, IPV6_ADDR_LEN); - rte_memcpy(&ip6->dst_addr, &input->flow.ipv6_flow.src_ip, + rte_memcpy(&ip6->dst_addr, &input->flow.ipv6_flow.dst_ip, IPV6_ADDR_LEN); len += sizeof(struct ipv6_hdr); + params->ipv6 = true; raw_pkt = (uint8_t *)buff; /* UDP */ if (input->flow_type == RTE_ETH_FLOW_NONFRAG_IPV6_UDP) { udp = (struct udp_hdr *)(raw_pkt + len); - udp->src_port = input->flow.udp6_flow.dst_port; - udp->dst_port = input->flow.udp6_flow.src_port; + udp->src_port = input->flow.udp6_flow.src_port; + udp->dst_port = input->flow.udp6_flow.dst_port; len += sizeof(struct udp_hdr); params->udp = true; } else { /* TCP */ tcp = (struct tcp_hdr *)(raw_pkt + len); - tcp->src_port = input->flow.tcp4_flow.src_port; - tcp->dst_port = input->flow.tcp4_flow.dst_port; + tcp->src_port = input->flow.tcp6_flow.src_port; + tcp->dst_port = input->flow.tcp6_flow.dst_port; tcp->data_off = QEDE_FDIR_TCP_DEFAULT_DATAOFF; len += sizeof(struct tcp_hdr); params->tcp = true;