summaryrefslogtreecommitdiffstats
path: root/fs/lockd
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2005-11-10 02:25:56 +0100
committerThomas Graf <tgr@axs.localdomain>2005-11-10 02:26:41 +0100
commit482a8524f85a7d8c40c6fb5d072e85bc2fef327f (patch)
treecbd4225da63a687dd70441d41aad35ff5c171f48 /fs/lockd
parent9ac4a16983ea4edf719c390a1a234d956947688d (diff)
downloadlinux-482a8524f85a7d8c40c6fb5d072e85bc2fef327f.tar.gz
linux-482a8524f85a7d8c40c6fb5d072e85bc2fef327f.tar.bz2
linux-482a8524f85a7d8c40c6fb5d072e85bc2fef327f.zip
[NETLINK]: Generic netlink family
The generic netlink family builds on top of netlink and provides simplifies access for the less demanding netlink users. It solves the problem of protocol numbers running out by introducing a so called controller taking care of id management and name resolving. Generic netlink modules register themself after filling out their id card (struct genl_family), after successful registration the modules are able to register callbacks to command numbers by filling out a struct genl_ops and calling genl_register_op(). The registered callbacks are invoked with attributes parsed making life of simple modules a lot easier. Although generic netlink modules can request static identifiers, it is recommended to use GENL_ID_GENERATE and to let the controller assign a unique identifier to the module. Userspace applications will then ask the controller and lookup the idenfier by the module name. Due to the current multicast implementation of netlink, the number of generic netlink modules is restricted to 1024 to avoid wasting memory for the per socket multiacst subscription bitmask. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/lockd')
0 files changed, 0 insertions, 0 deletions