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