[dpdk-dev] Who can correct me about 82599 RSS Hash Function
Vladimir Medvedkin
medvedkinv at gmail.com
Thu Dec 12 16:17:10 CET 2013
Hi,
First, I hope you configure
port_conf->rx_adv_conf.rss_conf.rss_key and .rss_hf
properly.
Secondly,
-for(j=0;j<8;j++){
+for(j=7;j>=0;j--){
Regards,
Vladimir
2013/12/11 chen_lp at neusoft.com <chen_lp at neusoft.com>
>
> I want calculate the NIC rss hash result by function,but the result is not
> right, I don't know where the wrong.
>
>
> struct mbf_cb{
> uint32_t sip;
> uint32_t dip;
> uint16_t sport;
> uint16_t dport;
> };
>
> static uint8_t test_rss[]={
> 0x6d,0x5a,0x56,0xda,0x25,0x5b,0x0e,0xc2,
> 0x41,0x67,0x25,0x3d,0x43,0xa3,0x8f,0xb0,
> 0xd0,0xca,0x2b,0xcb,0xae,0x7b,0x30,0xb4,
> 0x77,0xcb,0x2d,0xa3,0x80,0x30,0xf2,0x0c,
> 0x6a,0x42,0xb7,0x3b,0xbe,0xac,0x01,0xfa,
> };
>
> static uint8_t input_mask[]={
> 0x01,0x02,0x04,0x08,
> 0x10,0x20,0x40,0x80,
> };
>
> mcb.sip=rte_cpu_to_be_32(IPv4(66,9,149,187));
> mcb.dip=rte_cpu_to_be_32(IPv4(161,142,100,80));
> mcb.sport=rte_cpu_to_be_16(2794);
> mcb.dport=rte_cpu_to_be_16(1766);
>
>
> uint32_t compute_hash(uint8_t *input, int n)
> {
> int i,j,k;
> uint32_t result=0;
> uint32_t *lk;
> uint8_t rss_key[40];
>
> memcpy(rss_key,test_rss,40);
>
> lk=(uint32_t *)rss_key;
> for(i=0;i<n;i++){
> for(j=0;j<8;j++){
> if((input_mask[j])&input[i]){
> result^=*lk;
> }
>
> // shift k left 1 bit
> rss_key[0]=rss_key[0]<<1;
> for(k=1;k<40;k++){
> if(rss_key[k]&0x80){
> rss_key[k-1]|=0x01;
> }
> rss_key[k]=rss_key[k]<<1;
> }
> }
> }
> return result;
> }
>
> printf("rss_hash=%#x\n",compute_hash((uint8_t *)&mcb,sizeof(struct
> mbf_cb)));
>
> rss_hash=0x57476eca
> but the right result is 0x51ccc178
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------------------------------------
> Confidentiality Notice: The information contained in this e-mail and any
> accompanying attachment(s)
> is intended only for the use of the intended recipient and may be
> confidential and/or privileged of
> Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader
> of this communication is
> not the intended recipient, unauthorized use, forwarding, printing,
> storing, disclosure or copying
> is strictly prohibited, and may be unlawful.If you have received this
> communication in error,please
> immediately notify the sender by return e-mail, and delete the original
> message and all copies from
> your system. Thank you.
>
> ---------------------------------------------------------------------------------------------------
>
More information about the dev
mailing list