mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
net: Plumb support for filtering ipv4 and ipv6 multicast route dumps
Implement kernel side filtering of routes by egress device index and table id. If the table id is given in the filter, lookup table and call mr_table_dump directly for it. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
e1cedae1ba
commit
cb167893f4
@@ -7,6 +7,7 @@
|
||||
#include <net/net_namespace.h>
|
||||
#include <net/sock.h>
|
||||
#include <net/fib_notifier.h>
|
||||
#include <net/ip_fib.h>
|
||||
|
||||
/**
|
||||
* struct vif_device - interface representor for multicast routing
|
||||
@@ -288,7 +289,7 @@ int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb,
|
||||
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);
|
||||
spinlock_t *lock, struct fib_dump_filter *filter);
|
||||
int mr_rtm_dumproute(struct sk_buff *skb, struct netlink_callback *cb,
|
||||
struct mr_table *(*iter)(struct net *net,
|
||||
struct mr_table *mrt),
|
||||
@@ -296,7 +297,7 @@ int mr_rtm_dumproute(struct sk_buff *skb, struct netlink_callback *cb,
|
||||
struct sk_buff *skb,
|
||||
u32 portid, u32 seq, struct mr_mfc *c,
|
||||
int cmd, int flags),
|
||||
spinlock_t *lock);
|
||||
spinlock_t *lock, struct fib_dump_filter *filter);
|
||||
|
||||
int mr_dump(struct net *net, struct notifier_block *nb, unsigned short family,
|
||||
int (*rules_dump)(struct net *net,
|
||||
@@ -346,7 +347,7 @@ mr_rtm_dumproute(struct sk_buff *skb, struct netlink_callback *cb,
|
||||
struct sk_buff *skb,
|
||||
u32 portid, u32 seq, struct mr_mfc *c,
|
||||
int cmd, int flags),
|
||||
spinlock_t *lock)
|
||||
spinlock_t *lock, struct fib_dump_filter *filter)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user