Subject: Re: [net-next,v3] GRE over IPv6

From: Timo Teras <[email-masked]>
Date: Mon, 30 Jul 2012 14:38:06 +0300

On Sat, 28 Jul 2012 22:12:42 -0000 [email-masked] wrote:

> GRE over IPv6 implementation.
> 
> Signed-off-by: Dmitry Kozlov <[email-masked]>
> 
> ---
> Changes:
> Initialize nt->dev before calling ip6gre_tnl_link_config in
> ip6gre_newlink.
> Add missing ip6gre.c
> 
>  include/linux/if_arp.h     |    1 +
>  include/linux/if_tunnel.h  |    3 +
>  include/linux/ip6_tunnel.h |   18 +
>  include/net/ip6_tunnel.h   |   40 +-
>  include/net/ipv6.h         |    1 +
>  net/ipv6/Kconfig           |   16 +
>  net/ipv6/Makefile          |    1 +
>  net/ipv6/ip6_gre.c         | 1817
> ++++++++++++++++++++++++++++++++++++++++++++
> net/ipv6/ip6_tunnel.c      |   86 ++- 9 files changed, 1958
> insertions(+), 25 deletions(-)

Would it be possible and/or feasible to instead modify ip_gre to support
also ipv6 as outer protocol? 

It already has ipv6 stuff in it for the inner protocol support. And it
would avoid duplicating most of the code.

And I would especially love that approach, since I could then on
per-target basis say if it should be contacted with IPv4 or IPv6. As in:
 
  ip addr add 10.0.0.1/24 dev gre1
  ip neigh add 10.0.0.2 lladdr 192.168.x.x dev gre1 nud permanent
  ip neigh add 10.0.0.3 lladdr fe80::xxxx:xxxx:xxxx:xxxx/64 dev gre1 nud permanent

- Timo