Subject: Re: [PATCH net] geneve: initialize needed_headroom

From: Paolo Abeni <[email-masked]>
Date: Wed, 23 Dec 2015 16:39:36 +0100

On Wed, 2015-12-23 at 16:35 +0100, Hannes Frederic Sowa wrote:
> On 23.12.2015 16:21, Paolo Abeni wrote:
> > @@ -1187,6 +1187,14 @@ static int geneve_configure(struct net *net, struct net_device *dev,
> >  	if (t)
> >  		return -EBUSY;
> >  
> > +	/* make enough headroom for basic scenario */
> > +	encap_len = GENEVE_BASE_HLEN + ETH_HLEN;
> > +	if (remote->sa.sa_family == AF_INET)
> > +		encap_len += sizeof(struct iphdr);
> > +	else
> > +		encap_len += sizeof(struct ipv6hdr);
> > +	dev->needed_headroom = encap_len;
> > +
> 
> We are missing one time ETH_HLEN or hard_header_len of the lower_dev (if
> available) in here AFAIK.

You are right. Most probably performance numbers where good even with
the missing ETH_HLEN due to some rounding. I'll send a v2.

Paolo