summaryrefslogtreecommitdiffstats
path: root/include/linux/mroute_base.h
diff options
context:
space:
mode:
authorDavid Ahern2018-10-16 03:56:46 +0200
committerDavid S. Miller2018-10-16 09:13:12 +0200
commite1cedae1ba6b09ae8376c1486712bf91ea0dfc41 (patch)
tree7beda1104d445fb0c6dabf7e6a0db4819ab63ed7 /include/linux/mroute_base.h
parentnet/mpls: Plumb support for filtering route dumps (diff)
downloadkernel-qcow2-linux-e1cedae1ba6b09ae8376c1486712bf91ea0dfc41.tar.gz
kernel-qcow2-linux-e1cedae1ba6b09ae8376c1486712bf91ea0dfc41.tar.xz
kernel-qcow2-linux-e1cedae1ba6b09ae8376c1486712bf91ea0dfc41.zip
ipmr: Refactor mr_rtm_dumproute
Move per-table loops from mr_rtm_dumproute to mr_table_dump and export mr_table_dump for dumps by specific table id. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/mroute_base.h')
-rw-r--r--include/linux/mroute_base.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/mroute_base.h b/include/linux/mroute_base.h
index 6675b9f81979..db85373c8d15 100644
--- a/include/linux/mroute_base.h
+++ b/include/linux/mroute_base.h
@@ -283,6 +283,12 @@ void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg);
int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
struct mr_mfc *c, struct rtmsg *rtm);
+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);
int mr_rtm_dumproute(struct sk_buff *skb, struct netlink_callback *cb,
struct mr_table *(*iter)(struct net *net,
struct mr_table *mrt),