Hi Helin,

On 02/03/2015 07:37 AM, Zhang, Helin wrote:
>>> When your application decapsulates tunnels, you can just do outer =
>>> inner and enter into the same code.
>> Expanding packet_type is not easy, as there is no free bits in the first 
>> cache
>> line.
>> Is there any tunnel type in inner packet? Is it a waste?
>> Is L2 type really needed? I don't know.
> If it is now not short of space in mbuf, the definition as yours might be 
> good.
> But tun_type is not required for inner packet, I'd prefer to define it as 
> needed
> with taking into account the Vector PMD support. It seems 32 bits might be 
> enough,
> like below,
> struct pkt_type {
>       uint32_t l2_type:4;
>       uint32_t l3_type:4;
>       uint32_t l4_type:4;
>       uint32_t tun_type:4;
>       uint32_t inner_l2_type:4;
>       uint32_t inner_l3_type:4;
>       uint32_t inner_l4_type:4;
> }

Yes, I think a structure like this would be much better!
Maybe a union with a u32 could also help to assign the value
in one operation.

Thanks,
Olivier

Reply via email to