net/switchdev: Export the same parent ID service function
authorOr Gerlitz <ogerlitz@mellanox.com>
Thu, 14 Jul 2016 07:32:43 +0000 (10:32 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Jul 2016 20:34:29 +0000 (13:34 -0700)
This helper serves to know if two switchdev port netdevices belong to the
same HW ASIC, e.g to figure out if forwarding offload is possible between them.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/switchdev.h
net/switchdev/switchdev.c

index 985619a..9023e3e 100644 (file)
@@ -227,6 +227,8 @@ void switchdev_port_fwd_mark_set(struct net_device *dev,
                                 struct net_device *group_dev,
                                 bool joining);
 
+bool switchdev_port_same_parent_id(struct net_device *a,
+                                  struct net_device *b);
 #else
 
 static inline void switchdev_deferred_process(void)
@@ -351,6 +353,12 @@ static inline void switchdev_port_fwd_mark_set(struct net_device *dev,
 {
 }
 
+static inline bool switchdev_port_same_parent_id(struct net_device *a,
+                                                struct net_device *b)
+{
+       return false;
+}
+
 #endif
 
 #endif /* _LINUX_SWITCHDEV_H_ */
index 59658b2..a5fc9dd 100644 (file)
@@ -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)