diff options
author | Richard Alpe <richard.alpe@ericsson.com> | 2014-11-20 10:29:07 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-11-21 15:01:29 -0500 |
commit | 0655f6a8635b1b66f2434d5556b1044c14b1ccaf (patch) | |
tree | 6c5080bcfb237f7718dee9dbc91a49b564556d43 /net/tipc/core.h | |
parent | 7cc76f51508219a74dca835745e4f84393820017 (diff) | |
download | lwn-0655f6a8635b1b66f2434d5556b1044c14b1ccaf.tar.gz lwn-0655f6a8635b1b66f2434d5556b1044c14b1ccaf.zip |
tipc: add bearer disable/enable to new netlink api
A new netlink API for tipc that can disable or enable a tipc bearer.
The new API is separated from the old API because of a bug in the
user space client (tipc-config). The problem is that older versions
of tipc-config has a very low receive limit and adding commands to
the legacy genl_opts struct causes the ctrl_getfamily() response
message to grow, subsequently breaking the tool.
The new API utilizes netlink policies for input validation. Where the
top-level netlink attributes are tipc-logical entities, like bearer.
The top level entities then contain nested attributes. In this case
a name, nested link properties and a domain.
Netlink commands implemented in this patch:
TIPC_NL_BEARER_ENABLE
TIPC_NL_BEARER_DISABLE
Netlink logical layout of bearer enable message:
-> bearer
-> name
[ -> domain ]
[
-> properties
-> priority
]
Netlink logical layout of bearer disable message:
-> bearer
-> name
Signed-off-by: Richard Alpe <richard.alpe@ericsson.com>
Reviewed-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/core.h')
-rw-r--r-- | net/tipc/core.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/tipc/core.h b/net/tipc/core.h index f773b148722f..b578b10feefa 100644 --- a/net/tipc/core.h +++ b/net/tipc/core.h @@ -41,6 +41,7 @@ #include <linux/tipc.h> #include <linux/tipc_config.h> +#include <linux/tipc_netlink.h> #include <linux/types.h> #include <linux/kernel.h> #include <linux/errno.h> |