[ovs-dev] [PATCH v2] datapath: Remove tunnel header caching.
Jesse Gross
jesse at nicira.com
Sat Oct 27 00:15:51 UTC 2012
On Thu, Oct 25, 2012 at 11:14 AM, Pravin B Shelar <pshelar at nicira.com> wrote:
> Tunnel caching was added to reduce CPU utilization on TX path
> by caching packet header, So performance gain is directly proportional
> to number of skbs transferred. But with help of offloads skb are getting
> larger. So there are less number of skbs. Therefore header caching does
> not shows similar gains we seen in past. And now kernel 3.6 has removed
> dst caching from networking which makes header caching even more tricky.
> So this commit removes header caching from OVS tunnelling.
>
> Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
We should probably add a NEWS item.
> diff --git a/datapath/tunnel.h b/datapath/tunnel.h
> index 951a6f1..f296ecb 100644
> --- a/datapath/tunnel.h
> +++ b/datapath/tunnel.h
> - /*
> - * Updates the cached header of a packet to match the actual packet
> + * Updates the header of a packet to match the actual packet
> * data. Typical things that might need to be updated are length,
> * checksum, etc. The IP header will have already been updated and this
> * is the final step before transmission. Returns a linked list of
Is this still really updating the header now? It's really creating it
from scratch.
> diff --git a/datapath/vport-gre.c b/datapath/vport-gre.c
> index d02d4ec..3a877f3 100644
> --- a/datapath/vport-gre.c
> +++ b/datapath/vport-gre.c
> @@ -196,7 +162,6 @@ static struct sk_buff *gre_update_header(const struct vport *vport,
> * packet originally had DF set.
> */
> skb->local_df = 1;
> - __ip_select_ident(ip_hdr(skb), dst, 0);
Why is this no longer needed?
More information about the dev
mailing list