summaryrefslogtreecommitdiffstats
path: root/include/net/genetlink.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-12-23 20:54:40 +0100
committerDavid S. Miller <davem@davemloft.net>2014-12-27 02:20:23 -0500
commitc380d9a7afff0e4c2e5f3c1c2dc7d2f4214dd962 (patch)
treeadc927b4f3fb05268c6ca808aee5d0109351fec1 /include/net/genetlink.h
parent7d68536bed72b09de03b07479dd707c5831b3b94 (diff)
downloadlinux-stable-c380d9a7afff0e4c2e5f3c1c2dc7d2f4214dd962.tar.gz
linux-stable-c380d9a7afff0e4c2e5f3c1c2dc7d2f4214dd962.tar.bz2
linux-stable-c380d9a7afff0e4c2e5f3c1c2dc7d2f4214dd962.zip
genetlink: pass multicast bind/unbind to families
In order to make the newly fixed multicast bind/unbind functionality in generic netlink, pass them down to the appropriate family. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/genetlink.h')
-rw-r--r--include/net/genetlink.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/genetlink.h b/include/net/genetlink.h
index 38620da4aa7a..3ed31e5a445b 100644
--- a/include/net/genetlink.h
+++ b/include/net/genetlink.h
@@ -31,6 +31,9 @@ struct genl_info;
* do additional, common, filtering and return an error
* @post_doit: called after an operation's doit callback, it may
* undo operations done by pre_doit, for example release locks
+ * @mcast_bind: a socket bound to the given multicast group (which
+ * is given as the offset into the groups array)
+ * @mcast_unbind: a socket was unbound from the given multicast group
* @attrbuf: buffer to store parsed attributes
* @family_list: family list
* @mcgrps: multicast groups used by this family (private)
@@ -53,6 +56,8 @@ struct genl_family {
void (*post_doit)(const struct genl_ops *ops,
struct sk_buff *skb,
struct genl_info *info);
+ int (*mcast_bind)(int group);
+ void (*mcast_unbind)(int group);
struct nlattr ** attrbuf; /* private */
const struct genl_ops * ops; /* private */
const struct genl_multicast_group *mcgrps; /* private */