Lines Matching refs:attrs

37 __cfg802154_wpan_dev_from_attrs(struct net *netns, struct nlattr **attrs)
41 bool have_ifidx = attrs[NL802154_ATTR_IFINDEX];
42 bool have_wpan_dev_id = attrs[NL802154_ATTR_WPAN_DEV];
53 ifidx = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]);
55 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]);
92 __cfg802154_rdev_from_attrs(struct net *netns, struct nlattr **attrs)
99 if (!attrs[NL802154_ATTR_WPAN_PHY] &&
100 !attrs[NL802154_ATTR_IFINDEX] &&
101 !attrs[NL802154_ATTR_WPAN_DEV])
104 if (attrs[NL802154_ATTR_WPAN_PHY])
106 nla_get_u32(attrs[NL802154_ATTR_WPAN_PHY]));
108 if (attrs[NL802154_ATTR_WPAN_DEV]) {
109 u64 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]);
132 if (attrs[NL802154_ATTR_IFINDEX]) {
133 int ifindex = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]);
173 return __cfg802154_rdev_from_attrs(netns, info->attrs);
246 info->attrs);
554 struct nlattr **tb = info->attrs;
913 if (!info->attrs[NL802154_ATTR_IFNAME])
916 if (info->attrs[NL802154_ATTR_IFTYPE]) {
917 type = nla_get_u32(info->attrs[NL802154_ATTR_IFTYPE]);
923 if (info->attrs[NL802154_ATTR_EXTENDED_ADDR])
924 extended_addr = nla_get_le64(info->attrs[NL802154_ATTR_EXTENDED_ADDR]);
930 nla_data(info->attrs[NL802154_ATTR_IFNAME]),
959 if (!info->attrs[NL802154_ATTR_PAGE] ||
960 !info->attrs[NL802154_ATTR_CHANNEL])
963 page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]);
964 channel = nla_get_u8(info->attrs[NL802154_ATTR_CHANNEL]);
982 if (!info->attrs[NL802154_ATTR_CCA_MODE])
985 cca.mode = nla_get_u32(info->attrs[NL802154_ATTR_CCA_MODE]);
993 if (!info->attrs[NL802154_ATTR_CCA_OPT])
996 cca.opt = nla_get_u32(info->attrs[NL802154_ATTR_CCA_OPT]);
1014 if (!info->attrs[NL802154_ATTR_CCA_ED_LEVEL])
1017 ed_level = nla_get_s32(info->attrs[NL802154_ATTR_CCA_ED_LEVEL]);
1036 if (!info->attrs[NL802154_ATTR_TX_POWER])
1039 power = nla_get_s32(info->attrs[NL802154_ATTR_TX_POWER]);
1067 !info->attrs[NL802154_ATTR_PAN_ID])
1070 pan_id = nla_get_le16(info->attrs[NL802154_ATTR_PAN_ID]);
1103 !info->attrs[NL802154_ATTR_SHORT_ADDR])
1106 short_addr = nla_get_le16(info->attrs[NL802154_ATTR_SHORT_ADDR]);
1138 if (!info->attrs[NL802154_ATTR_MIN_BE] ||
1139 !info->attrs[NL802154_ATTR_MAX_BE])
1142 min_be = nla_get_u8(info->attrs[NL802154_ATTR_MIN_BE]);
1143 max_be = nla_get_u8(info->attrs[NL802154_ATTR_MAX_BE]);
1168 if (!info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS])
1172 info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]);
1193 if (!info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES])
1197 info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]);
1217 if (!info->attrs[NL802154_ATTR_LBT_MODE])
1220 mode = nla_get_u8(info->attrs[NL802154_ATTR_LBT_MODE]);
1242 if (!info->attrs[NL802154_ATTR_ACKREQ_DEFAULT])
1245 ackreq = nla_get_u8(info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]);
1259 if (info->attrs[NL802154_ATTR_PID]) {
1260 u32 pid = nla_get_u32(info->attrs[NL802154_ATTR_PID]);
1263 } else if (info->attrs[NL802154_ATTR_NETNS_FD]) {
1264 u32 fd = nla_get_u32(info->attrs[NL802154_ATTR_NETNS_FD]);
1296 struct nlattr *attrs[NL802154_DEV_ADDR_ATTR_MAX + 1];
1298 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_DEV_ADDR_ATTR_MAX, nla, nl802154_dev_addr_policy, NULL))
1301 if (!attrs[NL802154_DEV_ADDR_ATTR_PAN_ID] || !attrs[NL802154_DEV_ADDR_ATTR_MODE])
1304 addr->pan_id = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_PAN_ID]);
1305 addr->mode = nla_get_u32(attrs[NL802154_DEV_ADDR_ATTR_MODE]);
1308 if (!attrs[NL802154_DEV_ADDR_ATTR_SHORT])
1310 addr->short_addr = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_SHORT]);
1313 if (!attrs[NL802154_DEV_ADDR_ATTR_EXTENDED])
1315 addr->extended_addr = nla_get_le64(attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]);
1336 struct nlattr *attrs[NL802154_KEY_ID_ATTR_MAX + 1];
1338 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_KEY_ID_ATTR_MAX, nla, nl802154_key_id_policy, NULL))
1341 if (!attrs[NL802154_KEY_ID_ATTR_MODE])
1344 desc->mode = nla_get_u32(attrs[NL802154_KEY_ID_ATTR_MODE]);
1347 if (!attrs[NL802154_KEY_ID_ATTR_IMPLICIT])
1350 if (ieee802154_llsec_parse_dev_addr(attrs[NL802154_KEY_ID_ATTR_IMPLICIT],
1357 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT])
1360 desc->short_source = nla_get_le32(attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]);
1363 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED])
1366 desc->extended_source = nla_get_le64(attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]);
1373 if (!attrs[NL802154_KEY_ID_ATTR_INDEX])
1377 desc->id = nla_get_u8(attrs[NL802154_KEY_ID_ATTR_INDEX]);
1396 if (info->attrs[NL802154_ATTR_SEC_ENABLED]) {
1399 enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]);
1403 params.enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]);
1407 if (info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID]) {
1408 ret = ieee802154_llsec_parse_key_id(info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID],
1416 if (info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]) {
1417 params.out_level = nla_get_u32(info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]);
1424 if (info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]) {
1425 params.frame_counter = nla_get_be32(info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]);
1556 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1];
1564 if (!info->attrs[NL802154_ATTR_SEC_KEY] ||
1565 nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack))
1568 if (!attrs[NL802154_KEY_ATTR_USAGE_FRAMES] ||
1569 !attrs[NL802154_KEY_ATTR_BYTES])
1572 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0)
1575 key.frame_types = nla_get_u8(attrs[NL802154_KEY_ATTR_USAGE_FRAMES]);
1578 !attrs[NL802154_KEY_ATTR_USAGE_CMDS]))
1581 if (attrs[NL802154_KEY_ATTR_USAGE_CMDS]) {
1583 nla_memcpy(commands, attrs[NL802154_KEY_ATTR_USAGE_CMDS],
1597 nla_memcpy(key.key, attrs[NL802154_KEY_ATTR_BYTES], NL802154_KEY_SIZE);
1599 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0)
1610 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1];
1616 if (!info->attrs[NL802154_ATTR_SEC_KEY] ||
1617 nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack))
1620 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0)
1734 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1];
1736 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, nla, nl802154_dev_policy, NULL))
1741 if (!attrs[NL802154_DEV_ATTR_FRAME_COUNTER] ||
1742 !attrs[NL802154_DEV_ATTR_PAN_ID] ||
1743 !attrs[NL802154_DEV_ATTR_SHORT_ADDR] ||
1744 !attrs[NL802154_DEV_ATTR_EXTENDED_ADDR] ||
1745 !attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT] ||
1746 !attrs[NL802154_DEV_ATTR_KEY_MODE])
1750 dev->frame_counter = nla_get_u32(attrs[NL802154_DEV_ATTR_FRAME_COUNTER]);
1751 dev->pan_id = nla_get_le16(attrs[NL802154_DEV_ATTR_PAN_ID]);
1752 dev->short_addr = nla_get_le16(attrs[NL802154_DEV_ATTR_SHORT_ADDR]);
1754 dev->hwaddr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]);
1755 dev->seclevel_exempt = nla_get_u8(attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT]);
1756 dev->key_mode = nla_get_u32(attrs[NL802154_DEV_ATTR_KEY_MODE]);
1775 if (ieee802154_llsec_parse_device(info->attrs[NL802154_ATTR_SEC_DEVICE],
1787 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1];
1793 if (!info->attrs[NL802154_ATTR_SEC_DEVICE] ||
1794 nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVICE], nl802154_dev_policy, info->extack))
1797 if (!attrs[NL802154_DEV_ATTR_EXTENDED_ADDR])
1800 extended_addr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]);
1920 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1];
1927 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] ||
1928 nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY], nl802154_devkey_policy, info->extack) < 0)
1931 if (!attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER] ||
1932 !attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR])
1936 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID],
1941 key.frame_counter = nla_get_u32(attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER]);
1945 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]);
1954 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1];
1961 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] ||
1962 nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY], nl802154_devkey_policy, info->extack))
1965 if (!attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR])
1969 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID],
1976 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]);
2085 struct nlattr *attrs[NL802154_SECLEVEL_ATTR_MAX + 1];
2087 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_SECLEVEL_ATTR_MAX, nla, nl802154_seclevel_policy, NULL))
2092 if (!attrs[NL802154_SECLEVEL_ATTR_LEVELS] ||
2093 !attrs[NL802154_SECLEVEL_ATTR_FRAME] ||
2094 !attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE])
2097 sl->sec_levels = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_LEVELS]);
2098 sl->frame_type = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_FRAME]);
2099 sl->device_override = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]);
2105 if (!attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME])
2108 sl->cmd_frame_id = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]);
2127 if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL],
2145 if (!info->attrs[NL802154_ATTR_SEC_LEVEL] ||
2146 llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL],
2187 info->attrs);