switchdev: add IPv4 fib ndo ops wrappers
authorScott Feldman <sfeldma@gmail.com>
Fri, 6 Mar 2015 05:21:15 +0000 (21:21 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Mar 2015 05:24:58 +0000 (00:24 -0500)
Add IPv4 fib ndo wrapper funcs and stub them out for now.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/switchdev.h
net/switchdev/switchdev.c

index cfcdac2e5d253ef431bc18709cc5e7edd0e47e6f..8d2ac663325a191b02aa2bd601e226933270063a 100644 (file)
@@ -51,6 +51,11 @@ int ndo_dflt_netdev_switch_port_bridge_dellink(struct net_device *dev,
                                               struct nlmsghdr *nlh, u16 flags);
 int ndo_dflt_netdev_switch_port_bridge_setlink(struct net_device *dev,
                                               struct nlmsghdr *nlh, u16 flags);
+int netdev_switch_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
+                              u8 tos, u8 type, u32 tb_id);
+int netdev_switch_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
+                              u8 tos, u8 type, u32 tb_id);
+
 #else
 
 static inline int netdev_switch_parent_id_get(struct net_device *dev,
@@ -109,6 +114,20 @@ static inline int ndo_dflt_netdev_switch_port_bridge_setlink(struct net_device *
        return 0;
 }
 
+static inline int netdev_switch_fib_ipv4_add(u32 dst, int dst_len,
+                                            struct fib_info *fi,
+                                            u8 tos, u8 type, u32 tb_id)
+{
+       return 0;
+}
+
+static inline int netdev_switch_fib_ipv4_del(u32 dst, int dst_len,
+                                            struct fib_info *fi,
+                                            u8 tos, u8 type, u32 tb_id)
+{
+       return 0;
+}
+
 #endif
 
 #endif /* _LINUX_SWITCHDEV_H_ */
index 8c1e558db11893b7f70eaa5e5201da07a3df8812..3c090f8d071b0468554f225b01bb591f25005467 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/mutex.h>
 #include <linux/notifier.h>
 #include <linux/netdevice.h>
+#include <net/ip_fib.h>
 #include <net/switchdev.h>
 
 /**
@@ -225,3 +226,41 @@ int ndo_dflt_netdev_switch_port_bridge_dellink(struct net_device *dev,
        return ret;
 }
 EXPORT_SYMBOL(ndo_dflt_netdev_switch_port_bridge_dellink);
+
+/**
+ *     netdev_switch_fib_ipv4_add - Add IPv4 route entry to switch
+ *
+ *     @dst: route's IPv4 destination address
+ *     @dst_len: destination address length (prefix length)
+ *     @fi: route FIB info structure
+ *     @tos: route TOS
+ *     @type: route type
+ *     @tb_id: route table ID
+ *
+ *     Add IPv4 route entry to switch device.
+ */
+int netdev_switch_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
+                              u8 tos, u8 type, u32 tb_id)
+{
+       return 0;
+}
+EXPORT_SYMBOL(netdev_switch_fib_ipv4_add);
+
+/**
+ *     netdev_switch_fib_ipv4_del - Delete IPv4 route entry from switch
+ *
+ *     @dst: route's IPv4 destination address
+ *     @dst_len: destination address length (prefix length)
+ *     @fi: route FIB info structure
+ *     @tos: route TOS
+ *     @type: route type
+ *     @tb_id: route table ID
+ *
+ *     Delete IPv4 route entry from switch device.
+ */
+int netdev_switch_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
+                              u8 tos, u8 type, u32 tb_id)
+{
+       return 0;
+}
+EXPORT_SYMBOL(netdev_switch_fib_ipv4_del);