aboutsummaryrefslogtreecommitdiffstats
path: root/net/switchdev/switchdev.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-07-14 13:34:30 -0700
committerDavid S. Miller <davem@davemloft.net>2016-07-14 13:34:30 -0700
commit53d94892e27409bb2b48140207c0273b2ba65f61 (patch)
tree8f0ab08a8153e692e203749a211578f2f3e5a7d8 /net/switchdev/switchdev.c
parentMerge branch 'nps_ent-coding-style' (diff)
parentnet/mlx5e: Add TC offload support for the VF representors netdevice (diff)
downloadlinux-53d94892e27409bb2b48140207c0273b2ba65f61.tar.gz
linux-53d94892e27409bb2b48140207c0273b2ba65f61.zip
Merge branch 'mlx5-bulk-flow-stats-sriov-tc-offloads'
Saeed Mahameed says: ==================== Mellanox 100G mlx5 Bulk flow statistics and SRIOV TC offloads This series from Amir and Or deals with two enhancements for the mlx5 TC offloads. The 1st two patches add bulk reading of flow counters. Few bulk counter queries are used instead of issuing thousands firmware commands per second to get statistics of all flows set to HW. The next patches add TC based SRIOV offloading to mlx5, as a follow up for the e-switch offloads mode and the VF representors. When the e-switch is set to the (new) "offloads" mode, we can now offload TC/flower drop and forward rules, the forward action we offload is TC mirred/redirect. The above is done by the VF representor netdevices exporting the setup_tc ndo where from there we're re-using and enhancing the existing mlx5 TC offloads sub-module which now works for both the NIC and the SRIOV cases. The series is applied on top b38a75d2d324 ('mlxsw: core: Trace EMAD messages') and it has no merge issues with the on-going net submission ('mlx5 tx timeout watchdog fixes') V2: - Fixed compilation warning. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/switchdev/switchdev.c')
-rw-r--r--net/switchdev/switchdev.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c
index 59658b2e9cdf..a5fc9dd24aa9 100644
--- a/net/switchdev/switchdev.c
+++ b/net/switchdev/switchdev.c
@@ -1286,8 +1286,8 @@ void switchdev_fib_ipv4_abort(struct fib_info *fi)
}
EXPORT_SYMBOL_GPL(switchdev_fib_ipv4_abort);
-static bool switchdev_port_same_parent_id(struct net_device *a,
- struct net_device *b)
+bool switchdev_port_same_parent_id(struct net_device *a,
+ struct net_device *b)
{
struct switchdev_attr a_attr = {
.orig_dev = a,
@@ -1323,6 +1323,7 @@ static u32 switchdev_port_fwd_mark_get(struct net_device *dev,
return dev->ifindex;
}
+EXPORT_SYMBOL_GPL(switchdev_port_same_parent_id);
static void switchdev_port_fwd_mark_reset(struct net_device *group_dev,
u32 old_mark, u32 *reset_mark)