Lines Matching refs:attrs
39 __cfg802154_wpan_dev_from_attrs(struct net *netns, struct nlattr **attrs)
43 bool have_ifidx = attrs[NL802154_ATTR_IFINDEX];
44 bool have_wpan_dev_id = attrs[NL802154_ATTR_WPAN_DEV];
55 ifidx = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]);
57 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]);
94 __cfg802154_rdev_from_attrs(struct net *netns, struct nlattr **attrs)
101 if (!attrs[NL802154_ATTR_WPAN_PHY] &&
102 !attrs[NL802154_ATTR_IFINDEX] &&
103 !attrs[NL802154_ATTR_WPAN_DEV])
106 if (attrs[NL802154_ATTR_WPAN_PHY])
108 nla_get_u32(attrs[NL802154_ATTR_WPAN_PHY]));
110 if (attrs[NL802154_ATTR_WPAN_DEV]) {
111 u64 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]);
134 if (attrs[NL802154_ATTR_IFINDEX]) {
135 int ifindex = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]);
175 return __cfg802154_rdev_from_attrs(netns, info->attrs);
265 info->info.attrs);
573 struct nlattr **tb = info->info.attrs;
932 if (!info->attrs[NL802154_ATTR_IFNAME])
935 if (info->attrs[NL802154_ATTR_IFTYPE]) {
936 type = nla_get_u32(info->attrs[NL802154_ATTR_IFTYPE]);
942 if (info->attrs[NL802154_ATTR_EXTENDED_ADDR])
943 extended_addr = nla_get_le64(info->attrs[NL802154_ATTR_EXTENDED_ADDR]);
949 nla_data(info->attrs[NL802154_ATTR_IFNAME]),
978 if (!info->attrs[NL802154_ATTR_PAGE] ||
979 !info->attrs[NL802154_ATTR_CHANNEL])
982 page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]);
983 channel = nla_get_u8(info->attrs[NL802154_ATTR_CHANNEL]);
1000 if (!info->attrs[NL802154_ATTR_CCA_MODE])
1003 cca.mode = nla_get_u32(info->attrs[NL802154_ATTR_CCA_MODE]);
1011 if (!info->attrs[NL802154_ATTR_CCA_OPT])
1014 cca.opt = nla_get_u32(info->attrs[NL802154_ATTR_CCA_OPT]);
1032 if (!info->attrs[NL802154_ATTR_CCA_ED_LEVEL])
1035 ed_level = nla_get_s32(info->attrs[NL802154_ATTR_CCA_ED_LEVEL]);
1054 if (!info->attrs[NL802154_ATTR_TX_POWER])
1057 power = nla_get_s32(info->attrs[NL802154_ATTR_TX_POWER]);
1085 !info->attrs[NL802154_ATTR_PAN_ID])
1088 pan_id = nla_get_le16(info->attrs[NL802154_ATTR_PAN_ID]);
1121 !info->attrs[NL802154_ATTR_SHORT_ADDR])
1124 short_addr = nla_get_le16(info->attrs[NL802154_ATTR_SHORT_ADDR]);
1156 if (!info->attrs[NL802154_ATTR_MIN_BE] ||
1157 !info->attrs[NL802154_ATTR_MAX_BE])
1160 min_be = nla_get_u8(info->attrs[NL802154_ATTR_MIN_BE]);
1161 max_be = nla_get_u8(info->attrs[NL802154_ATTR_MAX_BE]);
1186 if (!info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS])
1190 info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]);
1211 if (!info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES])
1215 info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]);
1235 if (!info->attrs[NL802154_ATTR_LBT_MODE])
1238 mode = nla_get_u8(info->attrs[NL802154_ATTR_LBT_MODE]);
1260 if (!info->attrs[NL802154_ATTR_ACKREQ_DEFAULT])
1263 ackreq = nla_get_u8(info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]);
1277 if (info->attrs[NL802154_ATTR_PID]) {
1278 u32 pid = nla_get_u32(info->attrs[NL802154_ATTR_PID]);
1281 } else if (info->attrs[NL802154_ATTR_NETNS_FD]) {
1282 u32 fd = nla_get_u32(info->attrs[NL802154_ATTR_NETNS_FD]);
1415 if (!info->attrs[NL802154_ATTR_SCAN_TYPE]) {
1432 type = nla_get_u8(info->attrs[NL802154_ATTR_SCAN_TYPE]);
1445 if (info->attrs[NL802154_ATTR_PAGE])
1446 request->page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]);
1451 if (info->attrs[NL802154_ATTR_SCAN_CHANNELS])
1452 request->channels = nla_get_u32(info->attrs[NL802154_ATTR_SCAN_CHANNELS]);
1457 if (info->attrs[NL802154_ATTR_SCAN_DURATION])
1458 request->duration = nla_get_u8(info->attrs[NL802154_ATTR_SCAN_DURATION]);
1605 if (info->attrs[NL802154_ATTR_BEACON_INTERVAL])
1606 request->interval = nla_get_u8(info->attrs[NL802154_ATTR_BEACON_INTERVAL]);
1653 struct nlattr *attrs[NL802154_DEV_ADDR_ATTR_MAX + 1];
1655 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_DEV_ADDR_ATTR_MAX, nla, nl802154_dev_addr_policy, NULL))
1658 if (!attrs[NL802154_DEV_ADDR_ATTR_PAN_ID] || !attrs[NL802154_DEV_ADDR_ATTR_MODE])
1661 addr->pan_id = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_PAN_ID]);
1662 addr->mode = nla_get_u32(attrs[NL802154_DEV_ADDR_ATTR_MODE]);
1665 if (!attrs[NL802154_DEV_ADDR_ATTR_SHORT])
1667 addr->short_addr = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_SHORT]);
1670 if (!attrs[NL802154_DEV_ADDR_ATTR_EXTENDED])
1672 addr->extended_addr = nla_get_le64(attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]);
1693 struct nlattr *attrs[NL802154_KEY_ID_ATTR_MAX + 1];
1695 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_KEY_ID_ATTR_MAX, nla, nl802154_key_id_policy, NULL))
1698 if (!attrs[NL802154_KEY_ID_ATTR_MODE])
1701 desc->mode = nla_get_u32(attrs[NL802154_KEY_ID_ATTR_MODE]);
1704 if (!attrs[NL802154_KEY_ID_ATTR_IMPLICIT])
1707 if (ieee802154_llsec_parse_dev_addr(attrs[NL802154_KEY_ID_ATTR_IMPLICIT],
1714 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT])
1717 desc->short_source = nla_get_le32(attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]);
1720 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED])
1723 desc->extended_source = nla_get_le64(attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]);
1730 if (!attrs[NL802154_KEY_ID_ATTR_INDEX])
1734 desc->id = nla_get_u8(attrs[NL802154_KEY_ID_ATTR_INDEX]);
1753 if (info->attrs[NL802154_ATTR_SEC_ENABLED]) {
1756 enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]);
1760 params.enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]);
1764 if (info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID]) {
1765 ret = ieee802154_llsec_parse_key_id(info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID],
1773 if (info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]) {
1774 params.out_level = nla_get_u32(info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]);
1781 if (info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]) {
1782 params.frame_counter = nla_get_be32(info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]);
1913 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1];
1921 if (!info->attrs[NL802154_ATTR_SEC_KEY] ||
1922 nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack))
1925 if (!attrs[NL802154_KEY_ATTR_USAGE_FRAMES] ||
1926 !attrs[NL802154_KEY_ATTR_BYTES])
1929 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0)
1932 key.frame_types = nla_get_u8(attrs[NL802154_KEY_ATTR_USAGE_FRAMES]);
1935 !attrs[NL802154_KEY_ATTR_USAGE_CMDS]))
1938 if (attrs[NL802154_KEY_ATTR_USAGE_CMDS]) {
1940 nla_memcpy(commands, attrs[NL802154_KEY_ATTR_USAGE_CMDS],
1954 nla_memcpy(key.key, attrs[NL802154_KEY_ATTR_BYTES], NL802154_KEY_SIZE);
1956 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0)
1967 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1];
1973 if (!info->attrs[NL802154_ATTR_SEC_KEY] ||
1974 nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack))
1977 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0)
2091 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1];
2093 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, nla, nl802154_dev_policy, NULL))
2098 if (!attrs[NL802154_DEV_ATTR_FRAME_COUNTER] ||
2099 !attrs[NL802154_DEV_ATTR_PAN_ID] ||
2100 !attrs[NL802154_DEV_ATTR_SHORT_ADDR] ||
2101 !attrs[NL802154_DEV_ATTR_EXTENDED_ADDR] ||
2102 !attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT] ||
2103 !attrs[NL802154_DEV_ATTR_KEY_MODE])
2107 dev->frame_counter = nla_get_u32(attrs[NL802154_DEV_ATTR_FRAME_COUNTER]);
2108 dev->pan_id = nla_get_le16(attrs[NL802154_DEV_ATTR_PAN_ID]);
2109 dev->short_addr = nla_get_le16(attrs[NL802154_DEV_ATTR_SHORT_ADDR]);
2111 dev->hwaddr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]);
2112 dev->seclevel_exempt = nla_get_u8(attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT]);
2113 dev->key_mode = nla_get_u32(attrs[NL802154_DEV_ATTR_KEY_MODE]);
2132 if (ieee802154_llsec_parse_device(info->attrs[NL802154_ATTR_SEC_DEVICE],
2144 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1];
2150 if (!info->attrs[NL802154_ATTR_SEC_DEVICE] ||
2151 nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVICE], nl802154_dev_policy, info->extack))
2154 if (!attrs[NL802154_DEV_ATTR_EXTENDED_ADDR])
2157 extended_addr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]);
2277 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1];
2284 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] ||
2285 nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY], nl802154_devkey_policy, info->extack) < 0)
2288 if (!attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER] ||
2289 !attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR])
2293 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID],
2298 key.frame_counter = nla_get_u32(attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER]);
2302 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]);
2311 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1];
2318 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] ||
2319 nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY], nl802154_devkey_policy, info->extack))
2322 if (!attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR])
2326 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID],
2333 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]);
2442 struct nlattr *attrs[NL802154_SECLEVEL_ATTR_MAX + 1];
2444 if (!nla || nla_parse_nested_deprecated(attrs, NL802154_SECLEVEL_ATTR_MAX, nla, nl802154_seclevel_policy, NULL))
2449 if (!attrs[NL802154_SECLEVEL_ATTR_LEVELS] ||
2450 !attrs[NL802154_SECLEVEL_ATTR_FRAME] ||
2451 !attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE])
2454 sl->sec_levels = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_LEVELS]);
2455 sl->frame_type = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_FRAME]);
2456 sl->device_override = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]);
2462 if (!attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME])
2465 sl->cmd_frame_id = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]);
2484 if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL],
2502 if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL],
2540 info->attrs);