* [PATCH net] erspan: set erspan_ver to 1 by default when adding an erspan dev
@ 2018-08-27 10:41 Xin Long
2018-08-27 22:14 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Xin Long @ 2018-08-27 10:41 UTC (permalink / raw)
To: network dev; +Cc: davem, William Tu
After erspan_ver is introudced, if erspan_ver is not set in iproute, its
value will be left 0 by default. Since Commit 02f99df1875c ("erspan: fix
invalid erspan version."), it has broken the traffic due to the version
check in erspan_xmit if users are not aware of 'erspan_ver' param, like
using an old version of iproute.
To fix this compatibility problem, it sets erspan_ver to 1 by default
when adding an erspan dev in erspan_setup. Note that we can't do it in
ipgre_netlink_parms, as this function is also used by ipgre_changelink.
Fixes: 02f99df1875c ("erspan: fix invalid erspan version.")
Reported-by: Jianlin Shi <jishi@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
---
net/ipv4/ip_gre.c | 3 +++
net/ipv6/ip6_gre.c | 1 +
2 files changed, 4 insertions(+)
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 51a5d06..ae714ae 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -1508,11 +1508,14 @@ static int ipgre_fill_info(struct sk_buff *skb, const struct net_device *dev)
static void erspan_setup(struct net_device *dev)
{
+ struct ip_tunnel *t = netdev_priv(dev);
+
ether_setup(dev);
dev->netdev_ops = &erspan_netdev_ops;
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
ip_tunnel_setup(dev, erspan_net_id);
+ t->erspan_ver = 1;
}
static const struct nla_policy ipgre_policy[IFLA_GRE_MAX + 1] = {
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c
index 18a3794..e493b04 100644
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -1778,6 +1778,7 @@ static void ip6gre_netlink_parms(struct nlattr *data[],
if (data[IFLA_GRE_COLLECT_METADATA])
parms->collect_md = true;
+ parms->erspan_ver = 1;
if (data[IFLA_GRE_ERSPAN_VER])
parms->erspan_ver = nla_get_u8(data[IFLA_GRE_ERSPAN_VER]);
--
2.1.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net] erspan: set erspan_ver to 1 by default when adding an erspan dev
2018-08-27 10:41 [PATCH net] erspan: set erspan_ver to 1 by default when adding an erspan dev Xin Long
@ 2018-08-27 22:14 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2018-08-27 22:14 UTC (permalink / raw)
To: lucien.xin; +Cc: netdev, u9012063
From: Xin Long <lucien.xin@gmail.com>
Date: Mon, 27 Aug 2018 18:41:32 +0800
> After erspan_ver is introudced, if erspan_ver is not set in iproute, its
> value will be left 0 by default. Since Commit 02f99df1875c ("erspan: fix
> invalid erspan version."), it has broken the traffic due to the version
> check in erspan_xmit if users are not aware of 'erspan_ver' param, like
> using an old version of iproute.
>
> To fix this compatibility problem, it sets erspan_ver to 1 by default
> when adding an erspan dev in erspan_setup. Note that we can't do it in
> ipgre_netlink_parms, as this function is also used by ipgre_changelink.
>
> Fixes: 02f99df1875c ("erspan: fix invalid erspan version.")
> Reported-by: Jianlin Shi <jishi@redhat.com>
> Signed-off-by: Xin Long <lucien.xin@gmail.com>
Applied and queued up for -stable.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-08-28 2:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-27 10:41 [PATCH net] erspan: set erspan_ver to 1 by default when adding an erspan dev Xin Long
2018-08-27 22:14 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).