Subject: Re: Possible regression: "gre: Use inner mac length when computing tunnel length"

From: Timo Teras <[email-masked]>
Date: Tue, 9 Dec 2014 08:44:25 +0200

On Tue, 9 Dec 2014 08:26:45 +0200
Timo Teras <[email-masked]> wrote:

> On Thu, 4 Dec 2014 08:00:19 -0800
> Tom Herbert <[email-masked]> wrote:
> 
> > A fix is pending for net. Please try if you can.
> 
> Finally got to testing this. Unfortunately, this does not seem to fix
> the issue I am experiencing.
> 
> Any suggestions?

I think this fix is required, but does not fix the issue.

I suspect my problem is with the fact that I have NBMA GRE tunnel.

In ipgre_xmit() it is gre_handle_offloads() that is called first.
However, in my case, the GRE header was already pushed earlier via
header_ops. That's why the packet is skb_pull()'ed in the
"if (dev->header_ops)" path, so that __gre_xmit can push back the
header again on it.

I wonder if it is correct to just move the gre_handle_offloads() call
after the if() block, or if additional fixing is needed to make
offloads work with nbma tunnels.

/Timo