| From foo@baz Mon Jan 18 21:18:36 PST 2016 |
| From: Nicolas Dichtel <nicolas.dichtel@6wind.com> |
| Date: Thu, 3 Dec 2015 17:21:50 +0100 |
| Subject: gre6: allow to update all parameters via rtnl |
| Status: RO |
| Content-Length: 1091 |
| Lines: 38 |
| |
| From: Nicolas Dichtel <nicolas.dichtel@6wind.com> |
| |
| [ Upstream commit 6a61d4dbf4f54b5683e0f1e58d873cecca7cb977 ] |
| |
| Parameters were updated only if the kernel was unable to find the tunnel |
| with the new parameters, ie only if core pamareters were updated (keys, |
| addr, link, type). |
| Now it's possible to update ttl, hoplimit, flowinfo and flags. |
| |
| Fixes: c12b395a4664 ("gre: Support GRE over IPv6") |
| Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv6/ip6_gre.c | 8 +++----- |
| 1 file changed, 3 insertions(+), 5 deletions(-) |
| |
| --- a/net/ipv6/ip6_gre.c |
| +++ b/net/ipv6/ip6_gre.c |
| @@ -1541,13 +1541,11 @@ static int ip6gre_changelink(struct net_ |
| return -EEXIST; |
| } else { |
| t = nt; |
| - |
| - ip6gre_tunnel_unlink(ign, t); |
| - ip6gre_tnl_change(t, &p, !tb[IFLA_MTU]); |
| - ip6gre_tunnel_link(ign, t); |
| - netdev_state_change(dev); |
| } |
| |
| + ip6gre_tunnel_unlink(ign, t); |
| + ip6gre_tnl_change(t, &p, !tb[IFLA_MTU]); |
| + ip6gre_tunnel_link(ign, t); |
| return 0; |
| } |
| |