Subject: Re: [IPV4]: Add an 'rtable' field in struct sk_buff to alias 'dst' field and avoid casts

From: Eric Dumazet <[email-masked]>
Date: Tue, 04 Mar 2008 08:36:43 +0100

David Miller a écrit :
> From: Eric Dumazet <[email-masked]>
> Date: Tue, 04 Mar 2008 08:15:41 +0100
> 
>> @@ -223,7 +223,7 @@ static int br_nf_pre_routing_finish_ipv6(struct sk_buff *skb)
>>  	}
>>  	nf_bridge->mask ^= BRNF_NF_BRIDGE_PREROUTING;
>>  
>> -	skb->dst = (struct dst_entry *)&__fake_rtable;
>> +	skb->dst = &__fake_rtable.u.dst;
>>  	dst_hold(skb->dst);
>>  
>>  	skb->dev = nf_bridge->physindev;
> 
> Any reason this case (and the next 3 hunks) can't simply
> use just plain "&__fake_rtable"?  That would probably
> look nicer and match the rest of this patch.
> 
> 
> 

Yes, I had this idea, but felt that it was better in this case to have a 
dst_hold() that refers to the above affectation.

skb->dst = &__fake_rtable.u.dst;
dst_hold(skb->dst);

instead of

skb->rtable = &__fake_rtable;
dst_hold(skb->dst);

Do you prefer the later ?