Subject: Re: [PATCH] vti: remove GRE_KEY flag for vti tunnel

From: Steffen Klassert <[email-masked]>
Date: Thu, 5 Dec 2013 11:51:43 +0100

On Thu, Dec 05, 2013 at 05:47:08PM +0800, Hangbin Liu wrote:
> On Thu, Dec 05, 2013 at 09:47:27AM +0100, Steffen Klassert wrote:
> > 
> > I've already metntioned that I'am a bit disappointed on how the gre
> > keys and flags are used with vti. But I fear we need to keep it
> > as it is for now, because it would at least change the behaviour
> > of iproute2 if we remove the flags.
> 
> I submit this patch just beacuse iproute2 will return fail when we modify vti
> parameters. Code here
> 
> ip/iptunnel.c#L226:
>         if (p->iph.protocol == IPPROTO_IPIP || p->iph.protocol == IPPROTO_IPV6) {
>                 if ((p->i_flags & GRE_KEY) || (p->o_flags & GRE_KEY)) {
>                         fprintf(stderr, "Keys are not allowed with ipip and sit tunnels\n");
>                         return -1;
>                 }
>         }
> 
> So should we modify iproute2 or kernel code?

Update iproute2 to allow GRE_KEY if the VTI_ISVTI flag is set.

The handling of vti keys inside the kernel needs to be redesigned too,
but this requires a concept such that the existing userspace API still
works.