From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 6B7E54CB5 for ; Mon, 5 Nov 2018 18:38:03 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Nov 2018 09:38:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,468,1534834800"; d="scan'208";a="88738201" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.9.132]) by orsmga006.jf.intel.com with SMTP; 05 Nov 2018 09:37:59 -0800 Received: by (sSMTP sendmail emulation); Mon, 05 Nov 2018 17:37:58 +0000 Date: Mon, 5 Nov 2018 17:37:57 +0000 From: Bruce Richardson To: Chintan Inbay Cc: "dev@dpdk.org" Message-ID: <20181105173757.GA25968@bricha3-MOBL.ger.corp.intel.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Organization: Intel Research and Development Ireland Ltd. User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [dpdk-dev] Fwd: Disable receiving new flows on a core 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: , X-List-Received-Date: Mon, 05 Nov 2018 17:38:03 -0000 On Mon, Nov 05, 2018 at 12:08:48AM +0000, Chintan Inbay wrote: > > > > Begin forwarded message: > > From: chintaninbay@outlook.com > Date: November 1, 2018 at 6:19:49 PM PDT > To: users@dpdk.org > Subject: Disable receiving new flows on a core > > Hi, > > We use RSS for distributing flows across cores. Sometimes, in special cases we want to disable receiving new flows to a core. Only new flows. So say if RETA is programmed to receive on cores (0,1,2,3), then the new set would be (0,1,2). Existing flows going to (3) should be retained and forwarded. Only new flows should not be sent to (3). > > Eventually when core (3) is ready again, we need to re program RETA so that all four cores can take flows. So new set of cores would be (0,1,2,3) > > Is this possible? Not really, no. RSS does not track flows individually, only the hashes of the flow's key fields. Therefore there is no way to separate old and new flows, all you can do is move all flows that hash to value X to a new core. Some of those may be old flows and some of them new. Note too that the size of the RETA table limits the number of bits of that hash that are checked. It's generally less than 10 bits. /Bruce > > Also if the process on core 3 goes down or crashes, is there a way to notify RSS hardware or you’d have to reprogram RETA in a signal handler? > > Thanks, > Chintan