2014-11-06 03:41, Zhang, Helin: > > > +/** > > > + * A structure used to set or get filter swap information, to support > > > + * 'RTE_ETH_FILTER_HASH', 'RTE_ETH_FILTER_GET/RTE_ETH_FILTER_SET', > > > + * with information type 'RTE_ETH_HASH_FILTER_INFO_TYPE_FILTER_SWAP'. > > > + */ > > > +struct rte_eth_filter_swap_info { > > > + /**< Packet classification type, defined in rte_ethdev.h */ > > > + uint8_t pctype; > > > + /**< Offset of the 1st field of the 1st couple to be swapped. */ > > > + uint8_t off0_src0; > > > + /**< Offset of the 2nd field of the 1st couple to be swapped. */ > > > + uint8_t off0_src1; > > > + /**< Field length of the first couple. */ > > > + uint8_t len0; > > > + /**< Offset of the 1st field of the 2nd couple to be swapped. */ > > > + uint8_t off1_src0; > > > + /**< Offset of the 2nd field of the 2nd couple to be swapped. */ > > > + uint8_t off1_src1; > > > + /**< Field length of the second couple. */ > > > + uint8_t len1; > > > +}; > > > > I guess it would be easier to understand if > > RTE_ETH_HASH_FILTER_INFO_TYPE_FILTER_SWAP was defined previously. > > It has already been defined before this structure definition. > I don't think I have understood your idea. Could you help to explain more? > Thanks!
By "defined", I mean "explained". What is the action of swap filter? You offer new features in API without explaining them. It's probably obvious for you but not for me. -- Thomas