mlxsw: spectrum: Don't depend on ip_gre and ip6_gre
authorPetr Machata <petrm@mellanox.com>
Sun, 11 Mar 2018 07:45:49 +0000 (09:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Mar 2018 15:07:16 +0000 (11:07 -0400)
commit99db5229db81e2b12d213ff7533fcaee1206e2f0
tree95be9faea15cdcca31fcfe99da7cfa5d1973c345
parent36a1c3bd4a1503ee5561d7c2714b6f0fce049089
mlxsw: spectrum: Don't depend on ip_gre and ip6_gre

mlxsw_spectrum supports offloading of a tc action mirred egress mirror
to a gretap or an ip6gretap netdevice, which necessitates calls to
functions defined in ip_gre, ip6_gre and ip6_tunnel modules. Previously
this was enabled by introducing a hard dependency of MLXSW_SPECTRUM on
NET_IPGRE and IPV6_GRE. However the rest of mlxsw is careful about
picking which modules are absolutely required, and therefore the better
approach is to make mlxsw_spectrum tolerant of absence of one or both of
the GRE flavors.

Hence rework the NET_IPGRE and IPV6_GRE dependencies to just guard
matching modularity, and hide the corresponding code in spectrum_span.c
in an #if IS_ENABLED. Mark mlxsw_sp_span_entry_tunnel_parms_common as
maybe unused, to muffle warnings if neither GRE flavor is selected,
which seems cleaner than introducing a composite #if.

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>
drivers/net/ethernet/mellanox/mlxsw/Kconfig
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c