summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
diff options
context:
space:
mode:
authorPetr Machata2018-03-11 08:45:48 +0100
committerDavid S. Miller2018-03-12 16:07:15 +0100
commit36a1c3bd4a1503ee5561d7c2714b6f0fce049089 (patch)
treee3bd6836786daec66bfc573f4f5747cb2c7111e6 /drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
parentnet: ipv6: Introduce ip6_multipath_hash_policy() (diff)
downloadkernel-qcow2-linux-36a1c3bd4a1503ee5561d7c2714b6f0fce049089.tar.gz
kernel-qcow2-linux-36a1c3bd4a1503ee5561d7c2714b6f0fce049089.tar.xz
kernel-qcow2-linux-36a1c3bd4a1503ee5561d7c2714b6f0fce049089.zip
mlxsw: spectrum: Move mlxsw_sp_span_gretap4_route()
Move the function next to the rest of gretap4 functions. Thus the generic functions shared between gretap4 and gretap6 are in one block at the beginning, followed by a gretap4 block, followed by a gretap6 block. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c66
1 files changed, 33 insertions, 33 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
index f537e1de11d9..e82f5f4d66aa 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
@@ -133,39 +133,6 @@ struct mlxsw_sp_span_entry_ops mlxsw_sp_span_entry_ops_phys = {
.deconfigure = mlxsw_sp_span_entry_phys_deconfigure,
};
-static struct net_device *
-mlxsw_sp_span_gretap4_route(const struct net_device *to_dev,
- __be32 *saddrp, __be32 *daddrp)
-{
- struct ip_tunnel *tun = netdev_priv(to_dev);
- struct net_device *dev = NULL;
- struct ip_tunnel_parm parms;
- struct rtable *rt = NULL;
- struct flowi4 fl4;
-
- /* We assume "dev" stays valid after rt is put. */
- ASSERT_RTNL();
-
- parms = mlxsw_sp_ipip_netdev_parms4(to_dev);
- ip_tunnel_init_flow(&fl4, parms.iph.protocol, *daddrp, *saddrp,
- 0, 0, parms.link, tun->fwmark);
-
- rt = ip_route_output_key(tun->net, &fl4);
- if (IS_ERR(rt))
- return NULL;
-
- if (rt->rt_type != RTN_UNICAST)
- goto out;
-
- dev = rt->dst.dev;
- *saddrp = fl4.saddr;
- *daddrp = rt->rt_gateway;
-
-out:
- ip_rt_put(rt);
- return dev;
-}
-
static int mlxsw_sp_span_dmac(struct neigh_table *tbl,
const void *pkey,
struct net_device *l3edev,
@@ -227,6 +194,39 @@ mlxsw_sp_span_entry_tunnel_parms_common(struct net_device *l3edev,
return 0;
}
+static struct net_device *
+mlxsw_sp_span_gretap4_route(const struct net_device *to_dev,
+ __be32 *saddrp, __be32 *daddrp)
+{
+ struct ip_tunnel *tun = netdev_priv(to_dev);
+ struct net_device *dev = NULL;
+ struct ip_tunnel_parm parms;
+ struct rtable *rt = NULL;
+ struct flowi4 fl4;
+
+ /* We assume "dev" stays valid after rt is put. */
+ ASSERT_RTNL();
+
+ parms = mlxsw_sp_ipip_netdev_parms4(to_dev);
+ ip_tunnel_init_flow(&fl4, parms.iph.protocol, *daddrp, *saddrp,
+ 0, 0, parms.link, tun->fwmark);
+
+ rt = ip_route_output_key(tun->net, &fl4);
+ if (IS_ERR(rt))
+ return NULL;
+
+ if (rt->rt_type != RTN_UNICAST)
+ goto out;
+
+ dev = rt->dst.dev;
+ *saddrp = fl4.saddr;
+ *daddrp = rt->rt_gateway;
+
+out:
+ ip_rt_put(rt);
+ return dev;
+}
+
static int
mlxsw_sp_span_entry_gretap4_parms(const struct net_device *to_dev,
struct mlxsw_sp_span_parms *sparmsp)