#include <linux/rhashtable.h>
#include <linux/mroute_base.h>
void vif_device_init(struct vif_device *v,
struct net_device *dev,
unsigned long rate_limit,
unsigned char threshold,
unsigned short flags,
unsigned short get_iflink_mask)
{ … }
EXPORT_SYMBOL(…);
struct mr_table *
mr_table_alloc(struct net *net, u32 id,
struct mr_table_ops *ops,
void (*expire_func)(struct timer_list *t),
void (*table_set)(struct mr_table *mrt,
struct net *net))
{ … }
EXPORT_SYMBOL(…);
void *mr_mfc_find_parent(struct mr_table *mrt, void *hasharg, int parent)
{ … }
EXPORT_SYMBOL(…);
void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi)
{ … }
EXPORT_SYMBOL(…);
void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg)
{ … }
EXPORT_SYMBOL(…);
#ifdef CONFIG_PROC_FS
void *mr_vif_seq_idx(struct net *net, struct mr_vif_iter *iter, loff_t pos)
{ … }
EXPORT_SYMBOL(…);
void *mr_vif_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{ … }
EXPORT_SYMBOL(…);
void *mr_mfc_seq_idx(struct net *net,
struct mr_mfc_iter *it, loff_t pos)
{ … }
EXPORT_SYMBOL(…);
void *mr_mfc_seq_next(struct seq_file *seq, void *v,
loff_t *pos)
{ … }
EXPORT_SYMBOL(…);
#endif
int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
struct mr_mfc *c, struct rtmsg *rtm)
{ … }
EXPORT_SYMBOL(…);
static bool mr_mfc_uses_dev(const struct mr_table *mrt,
const struct mr_mfc *c,
const struct net_device *dev)
{ … }
int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb,
struct netlink_callback *cb,
int (*fill)(struct mr_table *mrt, struct sk_buff *skb,
u32 portid, u32 seq, struct mr_mfc *c,
int cmd, int flags),
spinlock_t *lock, struct fib_dump_filter *filter)
{ … }
EXPORT_SYMBOL(…);
int mr_rtm_dumproute(struct sk_buff *skb, struct netlink_callback *cb,
struct mr_table *(*iter)(struct net *net,
struct mr_table *mrt),
int (*fill)(struct mr_table *mrt,
struct sk_buff *skb,
u32 portid, u32 seq, struct mr_mfc *c,
int cmd, int flags),
spinlock_t *lock, struct fib_dump_filter *filter)
{ … }
EXPORT_SYMBOL(…);
int mr_dump(struct net *net, struct notifier_block *nb, unsigned short family,
int (*rules_dump)(struct net *net,
struct notifier_block *nb,
struct netlink_ext_ack *extack),
struct mr_table *(*mr_iter)(struct net *net,
struct mr_table *mrt),
struct netlink_ext_ack *extack)
{ … }
EXPORT_SYMBOL(…);