tipc: add support for AEAD key setting via netlink
This commit adds two netlink commands to TIPC in order for user to be able to set or remove AEAD keys: - TIPC_NL_KEY_SET - TIPC_NL_KEY_FLUSH When the 'KEY_SET' is given along with the key data, the key will be initiated and attached to TIPC crypto. On the other hand, the 'KEY_FLUSH' command will remove all existing keys if any. Acked-by: Ying Xue <ying.xue@windreiver.com> Acked-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: Tuong Lien <tuong.t.lien@dektech.com.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
fc1b6d6de2
commit
e1f32190cf
@@ -102,7 +102,11 @@ const struct nla_policy tipc_nl_link_policy[TIPC_NLA_LINK_MAX + 1] = {
|
||||
const struct nla_policy tipc_nl_node_policy[TIPC_NLA_NODE_MAX + 1] = {
|
||||
[TIPC_NLA_NODE_UNSPEC] = { .type = NLA_UNSPEC },
|
||||
[TIPC_NLA_NODE_ADDR] = { .type = NLA_U32 },
|
||||
[TIPC_NLA_NODE_UP] = { .type = NLA_FLAG }
|
||||
[TIPC_NLA_NODE_UP] = { .type = NLA_FLAG },
|
||||
[TIPC_NLA_NODE_ID] = { .type = NLA_BINARY,
|
||||
.len = TIPC_NODEID_LEN},
|
||||
[TIPC_NLA_NODE_KEY] = { .type = NLA_BINARY,
|
||||
.len = TIPC_AEAD_KEY_SIZE_MAX},
|
||||
};
|
||||
|
||||
/* Properties valid for media, bearer and link */
|
||||
@@ -257,6 +261,18 @@ static const struct genl_ops tipc_genl_v2_ops[] = {
|
||||
.dumpit = tipc_udp_nl_dump_remoteip,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_TIPC_CRYPTO
|
||||
{
|
||||
.cmd = TIPC_NL_KEY_SET,
|
||||
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
|
||||
.doit = tipc_nl_node_set_key,
|
||||
},
|
||||
{
|
||||
.cmd = TIPC_NL_KEY_FLUSH,
|
||||
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
|
||||
.doit = tipc_nl_node_flush_key,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
struct genl_family tipc_genl_family __ro_after_init = {
|
||||
|
Reference in New Issue
Block a user