Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e8d9049 authored by Scott Feldman's avatar Scott Feldman Committed by David S. Miller
Browse files

switchdev: add IPv4 fib ndo ops wrappers



Add IPv4 fib ndo wrapper funcs and stub them out for now.

Signed-off-by: default avatarScott Feldman <sfeldma@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4586f1bb
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -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_ */
+39 −0
Original line number Diff line number Diff line
@@ -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);