Re: [PATCH v5] rps: Receive Packet Steering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date: Fri, 15 Jan 2010 07:57:56 +0100

> Le 15/01/2010 07:39, Changli Gao a écrit :
>> The code bellow is from my ifb-mq.patch
>> #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
>>         case __constant_htons(ETH_P_IPV6):
>> process_ipv6:
>>                 if (unlikely(!pskb_may_pull(skb, sizeof(struct ipv6hdr))))
>>                         goto process_other;
>>                 addr1 = ipv6_hdr(skb)->saddr.s6_addr32[3];
>>                 addr2 = ipv6_hdr(skb)->daddr.s6_addr32[3];
>>                 ihl = ipv6_skip_exthdr(skb, sizeof(struct ipv6hdr), &ip_proto);
>>                 if (unlikely(ihl < 0))
>>                         goto process_other_trans;
>>                 break;
>> #endif
>> 
>> 
> 
> Thanks Changli !

Actually, no thanks.  Have you actually taken a look at
ipv6_skip_exthdr()?

Do that, then tell me that you want the extra function call, plus all
of the processing and data touching that that function does, just to
handle the case that there "might" be ipv6 extension headers there.

It is the exception rather than the rule, and I think it's just
assume we have a real protocol header next.

And that's what skb_tx_hash() used to do too before we started using
the recorded RX queue and socket hash values.

Nobody cared and nobody complained.  Guess why?  Because in practice
it doesn't matter.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux