From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id E55EC2A58 for ; Fri, 6 Jan 2017 17:26:09 +0100 (CET) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP; 06 Jan 2017 08:26:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,325,1477983600"; d="scan'208";a="46339391" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.38]) ([10.237.220.38]) by orsmga004.jf.intel.com with ESMTP; 06 Jan 2017 08:26:04 -0800 To: "Zhao1, Wei" , "dev@dpdk.org" References: <1480675394-59179-1-git-send-email-wei.zhao1@intel.com> <1480675394-59179-2-git-send-email-wei.zhao1@intel.com> Cc: "Lu, Wenzhuo" From: Ferruh Yigit Message-ID: <6ec950b1-f4e2-7343-8ba1-60c849695205@intel.com> Date: Fri, 6 Jan 2017 16:26:03 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 01/18] net/ixgbe: store SYN 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: , X-List-Received-Date: Fri, 06 Jan 2017 16:26:10 -0000 On 12/22/2016 9:48 AM, Zhao1, Wei wrote: > Hi, Yigit > >> -----Original Message----- >> From: Yigit, Ferruh >> Sent: Wednesday, December 21, 2016 12:56 AM >> To: Zhao1, Wei ; dev@dpdk.org >> Cc: Lu, Wenzhuo >> Subject: Re: [dpdk-dev] [PATCH 01/18] net/ixgbe: store SYN filter >> >> On 12/2/2016 10:42 AM, Wei Zhao wrote: >>> From: wei zhao1 >>> >>> Add support for storing SYN filter in SW. >> >> Do you think does it makes more clear to refer as TCP SYN filter? Or SYN filter >> is clear enough? >> > > Ok, I will change to " TCP SYN filter " to make it more clear > >>> >>> Signed-off-by: Wenzhuo Lu >>> Signed-off-by: wei zhao1 >> >> Can you please update sign-off to your actual name? >> > > Ok, I will change to " Signed-off-by: Wei Zhao " > >>> --- >>> drivers/net/ixgbe/ixgbe_ethdev.c | 12 ++++++++++-- >>> drivers/net/ixgbe/ixgbe_ethdev.h | 2 ++ >>> 2 files changed, 12 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c >>> b/drivers/net/ixgbe/ixgbe_ethdev.c >>> index edc9b22..7f10cca 100644 >>> --- a/drivers/net/ixgbe/ixgbe_ethdev.c >>> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c >>> @@ -1287,6 +1287,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev) >>> memset(filter_info->fivetuple_mask, 0, >>> sizeof(uint32_t) * IXGBE_5TUPLE_ARRAY_SIZE); >>> >>> + /* initialize SYN filter */ >>> + filter_info->syn_info = 0; >> >> can it be an option to memset all filter_info? (and of course move list init >> after memset) >> > > Maybe, change to the following code? > > memset(filter_info, 0, sizeof(struct ixgbe_filter_info)); > TAILQ_INIT(&filter_info->fivetuple_list); > > But that wiil mix /* initialize ether type filter */ and /* initialize 5tuple filter list */ two process together, > Because struct ixgbe_filter_info store two type info of ether and 5tuple. I see filter info consist of different filter types, but as far as I can see they are not used before this memset, so what is the problem of cleaning all struct? Currently memset a sub-set of struct, and assigns zero to other field explicitly, and rest remains undefined and unused. I am suggesting memset whole structure and get rid of zero assignment. > So, not to change ? > > struct ixgbe_filter_info { > uint8_t ethertype_mask; /* Bit mask for every used ethertype filter */ > /* store used ethertype filters*/ > struct ixgbe_ethertype_filter ethertype_filters[IXGBE_MAX_ETQF_FILTERS]; > /* Bit mask for every used 5tuple filter */ > uint32_t fivetuple_mask[IXGBE_5TUPLE_ARRAY_SIZE]; > struct ixgbe_5tuple_filter_list fivetuple_list; > /* store the SYN filter info */ > uint32_t syn_info; > }; > > <...>