Lines Matching refs:attrs
43 __cfg802154_wpan_dev_from_attrs(struct net *netns, struct nlattr **attrs) in __cfg802154_wpan_dev_from_attrs() argument
47 bool have_ifidx = attrs[NL802154_ATTR_IFINDEX]; in __cfg802154_wpan_dev_from_attrs()
48 bool have_wpan_dev_id = attrs[NL802154_ATTR_WPAN_DEV]; in __cfg802154_wpan_dev_from_attrs()
59 ifidx = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]); in __cfg802154_wpan_dev_from_attrs()
61 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]); in __cfg802154_wpan_dev_from_attrs()
98 __cfg802154_rdev_from_attrs(struct net *netns, struct nlattr **attrs) in __cfg802154_rdev_from_attrs() argument
105 if (!attrs[NL802154_ATTR_WPAN_PHY] && in __cfg802154_rdev_from_attrs()
106 !attrs[NL802154_ATTR_IFINDEX] && in __cfg802154_rdev_from_attrs()
107 !attrs[NL802154_ATTR_WPAN_DEV]) in __cfg802154_rdev_from_attrs()
110 if (attrs[NL802154_ATTR_WPAN_PHY]) in __cfg802154_rdev_from_attrs()
112 nla_get_u32(attrs[NL802154_ATTR_WPAN_PHY])); in __cfg802154_rdev_from_attrs()
114 if (attrs[NL802154_ATTR_WPAN_DEV]) { in __cfg802154_rdev_from_attrs()
115 u64 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]); in __cfg802154_rdev_from_attrs()
138 if (attrs[NL802154_ATTR_IFINDEX]) { in __cfg802154_rdev_from_attrs()
139 int ifindex = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]); in __cfg802154_rdev_from_attrs()
179 return __cfg802154_rdev_from_attrs(netns, info->attrs); in cfg802154_get_dev_from_info()
924 if (!info->attrs[NL802154_ATTR_IFNAME]) in nl802154_new_interface()
927 if (info->attrs[NL802154_ATTR_IFTYPE]) { in nl802154_new_interface()
928 type = nla_get_u32(info->attrs[NL802154_ATTR_IFTYPE]); in nl802154_new_interface()
934 if (info->attrs[NL802154_ATTR_EXTENDED_ADDR]) in nl802154_new_interface()
935 extended_addr = nla_get_le64(info->attrs[NL802154_ATTR_EXTENDED_ADDR]); in nl802154_new_interface()
941 nla_data(info->attrs[NL802154_ATTR_IFNAME]), in nl802154_new_interface()
970 if (!info->attrs[NL802154_ATTR_PAGE] || in nl802154_set_channel()
971 !info->attrs[NL802154_ATTR_CHANNEL]) in nl802154_set_channel()
974 page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]); in nl802154_set_channel()
975 channel = nla_get_u8(info->attrs[NL802154_ATTR_CHANNEL]); in nl802154_set_channel()
993 if (!info->attrs[NL802154_ATTR_CCA_MODE]) in nl802154_set_cca_mode()
996 cca.mode = nla_get_u32(info->attrs[NL802154_ATTR_CCA_MODE]); in nl802154_set_cca_mode()
1004 if (!info->attrs[NL802154_ATTR_CCA_OPT]) in nl802154_set_cca_mode()
1007 cca.opt = nla_get_u32(info->attrs[NL802154_ATTR_CCA_OPT]); in nl802154_set_cca_mode()
1025 if (!info->attrs[NL802154_ATTR_CCA_ED_LEVEL]) in nl802154_set_cca_ed_level()
1028 ed_level = nla_get_s32(info->attrs[NL802154_ATTR_CCA_ED_LEVEL]); in nl802154_set_cca_ed_level()
1047 if (!info->attrs[NL802154_ATTR_TX_POWER]) in nl802154_set_tx_power()
1050 power = nla_get_s32(info->attrs[NL802154_ATTR_TX_POWER]); in nl802154_set_tx_power()
1078 !info->attrs[NL802154_ATTR_PAN_ID]) in nl802154_set_pan_id()
1081 pan_id = nla_get_le16(info->attrs[NL802154_ATTR_PAN_ID]); in nl802154_set_pan_id()
1114 !info->attrs[NL802154_ATTR_SHORT_ADDR]) in nl802154_set_short_addr()
1117 short_addr = nla_get_le16(info->attrs[NL802154_ATTR_SHORT_ADDR]); in nl802154_set_short_addr()
1149 if (!info->attrs[NL802154_ATTR_MIN_BE] || in nl802154_set_backoff_exponent()
1150 !info->attrs[NL802154_ATTR_MAX_BE]) in nl802154_set_backoff_exponent()
1153 min_be = nla_get_u8(info->attrs[NL802154_ATTR_MIN_BE]); in nl802154_set_backoff_exponent()
1154 max_be = nla_get_u8(info->attrs[NL802154_ATTR_MAX_BE]); in nl802154_set_backoff_exponent()
1179 if (!info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]) in nl802154_set_max_csma_backoffs()
1183 info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]); in nl802154_set_max_csma_backoffs()
1204 if (!info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]) in nl802154_set_max_frame_retries()
1208 info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]); in nl802154_set_max_frame_retries()
1228 if (!info->attrs[NL802154_ATTR_LBT_MODE]) in nl802154_set_lbt_mode()
1231 mode = nla_get_u8(info->attrs[NL802154_ATTR_LBT_MODE]); in nl802154_set_lbt_mode()
1253 if (!info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]) in nl802154_set_ackreq_default()
1256 ackreq = nla_get_u8(info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]); in nl802154_set_ackreq_default()
1270 if (info->attrs[NL802154_ATTR_PID]) { in nl802154_wpan_phy_netns()
1271 u32 pid = nla_get_u32(info->attrs[NL802154_ATTR_PID]); in nl802154_wpan_phy_netns()
1274 } else if (info->attrs[NL802154_ATTR_NETNS_FD]) { in nl802154_wpan_phy_netns()
1275 u32 fd = nla_get_u32(info->attrs[NL802154_ATTR_NETNS_FD]); in nl802154_wpan_phy_netns()
1307 struct nlattr *attrs[NL802154_DEV_ADDR_ATTR_MAX + 1]; in ieee802154_llsec_parse_dev_addr() local
1309 if (!nla || nla_parse_nested(attrs, NL802154_DEV_ADDR_ATTR_MAX, nla, in ieee802154_llsec_parse_dev_addr()
1313 if (!attrs[NL802154_DEV_ADDR_ATTR_PAN_ID] || in ieee802154_llsec_parse_dev_addr()
1314 !attrs[NL802154_DEV_ADDR_ATTR_MODE] || in ieee802154_llsec_parse_dev_addr()
1315 !(attrs[NL802154_DEV_ADDR_ATTR_SHORT] || in ieee802154_llsec_parse_dev_addr()
1316 attrs[NL802154_DEV_ADDR_ATTR_EXTENDED])) in ieee802154_llsec_parse_dev_addr()
1319 addr->pan_id = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_PAN_ID]); in ieee802154_llsec_parse_dev_addr()
1320 addr->mode = nla_get_u32(attrs[NL802154_DEV_ADDR_ATTR_MODE]); in ieee802154_llsec_parse_dev_addr()
1323 addr->short_addr = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_SHORT]); in ieee802154_llsec_parse_dev_addr()
1326 addr->extended_addr = nla_get_le64(attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]); in ieee802154_llsec_parse_dev_addr()
1347 struct nlattr *attrs[NL802154_KEY_ID_ATTR_MAX + 1]; in ieee802154_llsec_parse_key_id() local
1349 if (!nla || nla_parse_nested(attrs, NL802154_KEY_ID_ATTR_MAX, nla, in ieee802154_llsec_parse_key_id()
1353 if (!attrs[NL802154_KEY_ID_ATTR_MODE]) in ieee802154_llsec_parse_key_id()
1356 desc->mode = nla_get_u32(attrs[NL802154_KEY_ID_ATTR_MODE]); in ieee802154_llsec_parse_key_id()
1359 if (!attrs[NL802154_KEY_ID_ATTR_IMPLICIT]) in ieee802154_llsec_parse_key_id()
1362 if (ieee802154_llsec_parse_dev_addr(attrs[NL802154_KEY_ID_ATTR_IMPLICIT], in ieee802154_llsec_parse_key_id()
1369 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]) in ieee802154_llsec_parse_key_id()
1372 desc->short_source = nla_get_le32(attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]); in ieee802154_llsec_parse_key_id()
1375 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]) in ieee802154_llsec_parse_key_id()
1378 desc->extended_source = nla_get_le64(attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]); in ieee802154_llsec_parse_key_id()
1385 if (!attrs[NL802154_KEY_ID_ATTR_INDEX]) in ieee802154_llsec_parse_key_id()
1389 desc->id = nla_get_u8(attrs[NL802154_KEY_ID_ATTR_INDEX]); in ieee802154_llsec_parse_key_id()
1405 if (info->attrs[NL802154_ATTR_SEC_ENABLED]) { in nl802154_set_llsec_params()
1408 enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]); in nl802154_set_llsec_params()
1412 params.enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]); in nl802154_set_llsec_params()
1416 if (info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID]) { in nl802154_set_llsec_params()
1417 ret = ieee802154_llsec_parse_key_id(info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID], in nl802154_set_llsec_params()
1425 if (info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]) { in nl802154_set_llsec_params()
1426 params.out_level = nla_get_u32(info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]); in nl802154_set_llsec_params()
1433 if (info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]) { in nl802154_set_llsec_params()
1434 params.frame_counter = nla_get_be32(info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]); in nl802154_set_llsec_params()
1560 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1]; in nl802154_add_llsec_key() local
1565 if (nla_parse_nested(attrs, NL802154_KEY_ATTR_MAX, in nl802154_add_llsec_key()
1566 info->attrs[NL802154_ATTR_SEC_KEY], in nl802154_add_llsec_key()
1570 if (!attrs[NL802154_KEY_ATTR_USAGE_FRAMES] || in nl802154_add_llsec_key()
1571 !attrs[NL802154_KEY_ATTR_BYTES]) in nl802154_add_llsec_key()
1574 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_add_llsec_key()
1577 key.frame_types = nla_get_u8(attrs[NL802154_KEY_ATTR_USAGE_FRAMES]); in nl802154_add_llsec_key()
1580 !attrs[NL802154_KEY_ATTR_USAGE_CMDS])) in nl802154_add_llsec_key()
1583 if (attrs[NL802154_KEY_ATTR_USAGE_CMDS]) { in nl802154_add_llsec_key()
1585 nla_memcpy(commands, attrs[NL802154_KEY_ATTR_USAGE_CMDS], in nl802154_add_llsec_key()
1599 nla_memcpy(key.key, attrs[NL802154_KEY_ATTR_BYTES], NL802154_KEY_SIZE); in nl802154_add_llsec_key()
1601 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_add_llsec_key()
1612 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1]; in nl802154_del_llsec_key() local
1615 if (nla_parse_nested(attrs, NL802154_KEY_ATTR_MAX, in nl802154_del_llsec_key()
1616 info->attrs[NL802154_ATTR_SEC_KEY], in nl802154_del_llsec_key()
1620 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_del_llsec_key()
1729 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1]; in ieee802154_llsec_parse_device() local
1731 if (!nla || nla_parse_nested(attrs, NL802154_DEV_ATTR_MAX, in ieee802154_llsec_parse_device()
1737 if (!attrs[NL802154_DEV_ATTR_FRAME_COUNTER] || in ieee802154_llsec_parse_device()
1738 !attrs[NL802154_DEV_ATTR_PAN_ID] || in ieee802154_llsec_parse_device()
1739 !attrs[NL802154_DEV_ATTR_SHORT_ADDR] || in ieee802154_llsec_parse_device()
1740 !attrs[NL802154_DEV_ATTR_EXTENDED_ADDR] || in ieee802154_llsec_parse_device()
1741 !attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT] || in ieee802154_llsec_parse_device()
1742 !attrs[NL802154_DEV_ATTR_KEY_MODE]) in ieee802154_llsec_parse_device()
1746 dev->frame_counter = nla_get_u32(attrs[NL802154_DEV_ATTR_FRAME_COUNTER]); in ieee802154_llsec_parse_device()
1747 dev->pan_id = nla_get_le16(attrs[NL802154_DEV_ATTR_PAN_ID]); in ieee802154_llsec_parse_device()
1748 dev->short_addr = nla_get_le16(attrs[NL802154_DEV_ATTR_SHORT_ADDR]); in ieee802154_llsec_parse_device()
1750 dev->hwaddr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]); in ieee802154_llsec_parse_device()
1751 dev->seclevel_exempt = nla_get_u8(attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT]); in ieee802154_llsec_parse_device()
1752 dev->key_mode = nla_get_u32(attrs[NL802154_DEV_ATTR_KEY_MODE]); in ieee802154_llsec_parse_device()
1768 if (ieee802154_llsec_parse_device(info->attrs[NL802154_ATTR_SEC_DEVICE], in nl802154_add_llsec_dev()
1780 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1]; in nl802154_del_llsec_dev() local
1783 if (nla_parse_nested(attrs, NL802154_DEV_ATTR_MAX, in nl802154_del_llsec_dev()
1784 info->attrs[NL802154_ATTR_SEC_DEVICE], in nl802154_del_llsec_dev()
1788 if (!attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]) in nl802154_del_llsec_dev()
1791 extended_addr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]); in nl802154_del_llsec_dev()
1906 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1]; in nl802154_add_llsec_devkey() local
1910 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] || in nl802154_add_llsec_devkey()
1911 nla_parse_nested(attrs, NL802154_DEVKEY_ATTR_MAX, in nl802154_add_llsec_devkey()
1912 info->attrs[NL802154_ATTR_SEC_DEVKEY], in nl802154_add_llsec_devkey()
1916 if (!attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER] || in nl802154_add_llsec_devkey()
1917 !attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]) in nl802154_add_llsec_devkey()
1921 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID], in nl802154_add_llsec_devkey()
1926 key.frame_counter = nla_get_u32(attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER]); in nl802154_add_llsec_devkey()
1930 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]); in nl802154_add_llsec_devkey()
1939 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1]; in nl802154_del_llsec_devkey() local
1943 if (nla_parse_nested(attrs, NL802154_DEVKEY_ATTR_MAX, in nl802154_del_llsec_devkey()
1944 info->attrs[NL802154_ATTR_SEC_DEVKEY], in nl802154_del_llsec_devkey()
1948 if (!attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]) in nl802154_del_llsec_devkey()
1952 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID], in nl802154_del_llsec_devkey()
1959 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]); in nl802154_del_llsec_devkey()
2063 struct nlattr *attrs[NL802154_SECLEVEL_ATTR_MAX + 1]; in llsec_parse_seclevel() local
2065 if (!nla || nla_parse_nested(attrs, NL802154_SECLEVEL_ATTR_MAX, in llsec_parse_seclevel()
2071 if (!attrs[NL802154_SECLEVEL_ATTR_LEVELS] || in llsec_parse_seclevel()
2072 !attrs[NL802154_SECLEVEL_ATTR_FRAME] || in llsec_parse_seclevel()
2073 !attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]) in llsec_parse_seclevel()
2076 sl->sec_levels = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_LEVELS]); in llsec_parse_seclevel()
2077 sl->frame_type = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_FRAME]); in llsec_parse_seclevel()
2078 sl->device_override = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]); in llsec_parse_seclevel()
2084 if (!attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]) in llsec_parse_seclevel()
2087 sl->cmd_frame_id = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]); in llsec_parse_seclevel()
2103 if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], in nl802154_add_llsec_seclevel()
2118 if (!info->attrs[NL802154_ATTR_SEC_LEVEL] || in nl802154_del_llsec_seclevel()
2119 llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], in nl802154_del_llsec_seclevel()
2160 info->attrs); in nl802154_pre_doit()