From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-f170.google.com (mail-ob0-f170.google.com [209.85.214.170]) by dpdk.org (Postfix) with ESMTP id 3643B3F9 for ; Thu, 18 Dec 2014 02:28:34 +0100 (CET) Received: by mail-ob0-f170.google.com with SMTP id wp18so379959obc.1 for ; Wed, 17 Dec 2014 17:28:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sidebandnetworks.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=U3UpuIcPamvpIts25+LrksdOEjMEwhMAfAkzw0+R4p4=; b=FfRoov1DHAheB3WTj/38eNHWbrz19ncHRCoS5qurm9L/2vrfAIbsKpbfpzl06rsuUO jKuQGuhe57+G84R8vB2swUIQHXG3J6qP5eyTv7BLNcwcNTwesI/krPNvJuOa63t6fT2H bhJHEIwq9WD4ULpeBSwRlzMr8ONC1sKiZmzpw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=U3UpuIcPamvpIts25+LrksdOEjMEwhMAfAkzw0+R4p4=; b=IWr7I6MpqjZimXduMfdgSWDIkP97lu24xZaJQNNRNXF1xuAVVCBbB5VZmH4V8im66/ bOvjOj3HqHgwdnhhk06DlgxEUgPC0nrj8+EPggQyrsdx8UDVQw6JOUfHSuwh8RpoGw0V PqFwDkrslO9+8qbjCE4p2kczD+mjuFrJEPVHjY6cKg1bheJj/UOZ7FBOUz6HQWtmr2LO C/X+C9MPAc7VBnt2ZQRVTGsi/hzTIdHWnfWqdkrXd32OU6d5piQWT25dQxcBwS9DH9lT RTehofjsSFe3u5LdQDoeWK1+CuiyFeUvFNjk+UsjHSwKtBIQdpeiZLofXqR70ZLKmVWd BLGQ== X-Gm-Message-State: ALoCoQlmsU+THXnLPwt1ltgUyBuyTDfMMw80DHTCASb+bfUiYuMV3HCRFNPspfw6cIq1D9x0/SaX MIME-Version: 1.0 X-Received: by 10.182.1.172 with SMTP id 12mr28158536obn.6.1418866113501; Wed, 17 Dec 2014 17:28:33 -0800 (PST) Received: by 10.202.48.79 with HTTP; Wed, 17 Dec 2014 17:28:33 -0800 (PST) In-Reply-To: References: Date: Wed, 17 Dec 2014 20:28:33 -0500 Message-ID: From: Kamraan Nasim To: Jeriel Smith , dev@dpdk.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: Steve Noble Subject: Re: [dpdk-dev] Symmetric RSS Hashing in DPDK X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 01:28:34 -0000 Hi DPDK community, Any better RSS hash keys out there? --Kam On Wed, Dec 17, 2014 at 2:12 PM, Kamraan Nasim wrote: > > Thank you Jeriel. 0x00 0x01 works and I can get bi-directional symmetry > but you are right, it compromises the packet distribution. I am seeing > vastly different 5 tuples hashed with the same value. > > Will let you know if I find a better alternative. > > --Kam > > On Tue, Dec 16, 2014 at 5:17 PM, Jeriel Smith wrote: >> >> Hi Kamraan, >> Even i noticed it with "0x6d5a". Currently, I use a continuous >> pattern of "0x00 0x01" which helps in getting a symmetrical hashing. But, >> the packet spraying is not that good as "0x6d5a". Please let me know if you >> find a alternative. >> Thanks, >> Jeriel >> >> >>> ---------- Forwarded message ---------- >>> From: Kamraan Nasim >>> Date: Tue, Dec 16, 2014 at 11:52 AM >>> Subject: [dpdk-dev] Symmetric RSS Hashing in DPDK >>> To: dev@dpdk.org >>> Cc: Steve Noble , Jun Du < >>> jdu@sidebandnetworks.com>, Ashish Juneja >>> >>> Hello, >>> >>> My DPDK application requires bidirectional TCP flows to have the same RSS >>> hash however default RSS hashing is *asymmetric*. >>> >>> >>> There are posts such as: >>> http://dpdk.info/ml/archives/dev/2014-February/001460.html >>> >>> which point to a symmetric RSS key(0x6d5a). I have tried using it but it >>> is >>> still hashing bi-directional flows separately. I am using an 82599 NIC. >>> >>> Have others come across this? What other options are available(I presume >>> S/W hashing)? >>> >>> Appreciate any help I can get on this :) >>> >>> #define RSS_HASH_KEY_LENGTH 40 >>> static uint8_t hash_key[RSS_HASH_KEY_LENGTH] = { >>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, >>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, >>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, >>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, >>> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, >>> }; >>> // ethernet rx config >>> static struct rte_eth_conf port_conf = { >>> .rxmode = { >>> .mq_mode = ETH_MQ_RX_RSS, >>> .split_hdr_size = 0, >>> .header_split = 0, /**< Header Split disabled */ >>> .hw_ip_checksum = 1, /**< IP checksum offload enabled */ >>> .hw_vlan_filter = 0, /**< VLAN filtering disabled */ >>> .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ >>> .hw_strip_crc = 0, /**< CRC stripped by hardware */ >>> }, >>> .rx_adv_conf = { >>> .rss_conf = { >>> .rss_key = hash_key, >>> .rss_hf = ETH_RSS_PROTO_MASK, >>> }, >>> }, >>> .txmode = { >>> .mq_mode = ETH_MQ_TX_NONE, >>> }, >>> }; >>> >>> >>> Thanks, >>> Kam >>> >>