From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Dmitry Popov <ixaphire@qrator.net>,
"David S. Miller" <davem@davemloft.net>,
Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
James Morris <jmorris@namei.org>,
Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
Patrick McHardy <kaber@trash.net>,
Steffen Klassert <steffen.klassert@secunet.com>,
Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ip_vti: Fix 'ip tunnel add' with 'key' parameters
Date: Sun, 08 Jun 2014 01:55:22 +0400 [thread overview]
Message-ID: <53938A4A.9010105@cogentembedded.com> (raw)
In-Reply-To: <20140608012518.39affaff049874520ae5a0cc@qrator.net>
hello.
On 06/08/2014 01:25 AM, Dmitry Popov wrote:
> ip tunnel add remote 10.2.2.1 local 10.2.2.2 mode vti ikey 1 okey 2
> translates to p->iflags = VTI_ISVTI|GRE_KEY and p->i_key = 1, but GRE_KEY !=
> TUNNEL_KEY, so ip_tunnel_ioctl would set i_key to 0 (same story with o_key)
> making us unable to create vti tunnels with [io]key via ip tunnel.
> We cannot simply translate GRE_KEY to TUNNEL_KEY (as GRE module does) because
> vti_tunnels with same local/remote addresses but different ikeys will be treated
> as different then. So, imo the best option here is to move p->i_flags&*_KEY
> check for vti tunnels from ip_tunnel.c to ip_vti.c and to think about [io]_mark
> field for ip_tunnel_parm in the future.
> Signed-off-by: Dmitry Popov <ixaphire@qrator.net>
> ---
> net/ipv4/ip_tunnel.c | 10 ++++++----
> net/ipv4/ip_vti.c | 8 +++++++-
> 2 files changed, 13 insertions(+), 5 deletions(-)
> diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
> index 2acc233..0a03ad1 100644
> --- a/net/ipv4/ip_tunnel.c
> +++ b/net/ipv4/ip_tunnel.c
> @@ -747,10 +747,12 @@ int ip_tunnel_ioctl(struct net_device *dev, struct ip_tunnel_parm *p, int cmd)
> goto done;
> if (p->iph.ttl)
> p->iph.frag_off |= htons(IP_DF);
> - if (!(p->i_flags&TUNNEL_KEY))
> - p->i_key = 0;
> - if (!(p->o_flags&TUNNEL_KEY))
> - p->o_key = 0;
> + if (!(p->i_flags&VTI_ISVTI)) {
> + if (!(p->i_flags&TUNNEL_KEY))
> + p->i_key = 0;
> + if (!(p->o_flags&TUNNEL_KEY))
Please surround & with spaces for consistency; this also would follow the
general kernel coding style.
[...]
WBR, Sergei
next prev parent reply other threads:[~2014-06-07 21:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-07 21:25 [PATCH] ip_vti: Fix 'ip tunnel add' with 'key' parameters Dmitry Popov
2014-06-07 21:55 ` Sergei Shtylyov [this message]
2014-06-07 22:01 ` Dmitry Popov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53938A4A.9010105@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=ixaphire@qrator.net \
--cc=jmorris@namei.org \
--cc=kaber@trash.net \
--cc=kuznet@ms2.inr.ac.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=steffen.klassert@secunet.com \
--cc=yoshfuji@linux-ipv6.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.