Hi Thomas I have sent out v9 of this patch set, with adopting your comments. Thank you very much!
> -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Tuesday, January 20, 2015 3:54 PM > To: Zhang, Helin > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v8 3/4] i40e: support of controlling hash > functions > > Hi Helin, > > 2014-12-02 10:19, Helin Zhang: > > Hash filter control has been implemented for i40e. It includes > > getting/setting, > > - global hash configurations (hash function type, and symmetric > > hash enable per flow type) > > - symmetric hash enable per port > > > > Signed-off-by: Helin Zhang <helin.zhang at intel.com> > > --- > > lib/librte_ether/rte_eth_ctrl.h | 63 ++++++++ > > lib/librte_pmd_i40e/i40e_ethdev.c | 294 > > +++++++++++++++++++++++++++++++++++++- > > 2 files changed, 355 insertions(+), 2 deletions(-) > > Please, could you split ethdev and i40e parts while keeping Konstantin's ack? I have split it into two patches. Please forgive my typo (splitted->split) in changes logs which will not occur in commits. Do I need ask Konstantin to send out his Acked-by again? Or we can just add it? The only differences is just as below. --- a/lib/librte_ether/rte_eth_ctrl.h +++ b/lib/librte_ether/rte_eth_ctrl.h @@ -485,7 +485,7 @@ enum rte_eth_hash_function { * include symmetric hash enable per flow type and hash function type. * Each bit in sym_hash_enable_mask[] indicates if the symmetric hash of the * coresponding flow type is enabled or not. - * Each bit in valid_bit_mask[] indicates if the corresponding bit in + * Each bit in valid_bit_mask[] indicates if the coresponding bit in * sym_hash_enable_mask[] is valid or not. For the configurations gotten, it * also means if the flow type is supported by hardware or not. */ @@ -493,7 +493,7 @@ struct rte_eth_hash_global_conf { enum rte_eth_hash_function hash_func; /**< Hash function type */ /** Bit mask for symmetric hash enable per flow type */ uint32_t sym_hash_enable_mask[RTE_SYM_HASH_MASK_ARRAY_SIZE]; - /** Bit mask indicates if the corresponding bit is valid */ + /** Bit mask indicates if the coresponding bit is valid */ uint32_t valid_bit_mask[RTE_SYM_HASH_MASK_ARRAY_SIZE]; }; @@ -502,12 +502,12 @@ struct rte_eth_hash_global_conf { * type of 'RTE_ETH_FILTER_HASH' and its operations. */ struct rte_eth_hash_filter_info { - enum rte_eth_hash_filter_info_type info_type; /**< Information type */ - /** Details of hash filter information */ + enum rte_eth_hash_filter_info_type info_type; /**< Information type. */ + /** Details of hash filter infomation */ union { - /** For RTE_ETH_HASH_FILTER_SYM_HASH_ENA_PER_PORT */ + /* For RTE_ETH_HASH_FILTER_SYM_HASH_ENA_PER_PORT */ uint8_t enable; - /** Global configurations of hash filter */ + /* Global configurations of hash filter */ struct rte_eth_hash_global_conf global_conf; } info; }; > > [...] > > + * Each bit in valid_bit_mask[] indicates if the coresponding bit in > > Typo: corresponding Thanks, it is corrected in v9. > > [...] > > + /** Bit mask indicates if the coresponding bit is valid */ > > Same typo Thanks, it is corrected in v9. > > [...] > > + /** Details of hash filter infomation */ > > Typo: information Thanks, it is corrected in v9. > > > + union { > > + /* For RTE_ETH_HASH_FILTER_SYM_HASH_ENA_PER_PORT */ > > + uint8_t enable; > > + /* Global configurations of hash filter */ > > + struct rte_eth_hash_global_conf global_conf; > > + } info; > > Why these comments are not doxygen'ed? Thanks, it is enabled in v9. > > Sorry for nitpicking, that's the last review pass ;) Don't worry, it is not nitpicking from my point of view. I really appreciate your hard works! Thank you! Regards, Helin > -- > Thomas