Lines Matching refs:attrs

58 __cfg802154_wpan_dev_from_attrs(struct net *netns, struct nlattr **attrs)  in __cfg802154_wpan_dev_from_attrs()  argument
62 bool have_ifidx = attrs[NL802154_ATTR_IFINDEX]; in __cfg802154_wpan_dev_from_attrs()
63 bool have_wpan_dev_id = attrs[NL802154_ATTR_WPAN_DEV]; in __cfg802154_wpan_dev_from_attrs()
74 ifidx = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]); in __cfg802154_wpan_dev_from_attrs()
76 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]); in __cfg802154_wpan_dev_from_attrs()
112 __cfg802154_rdev_from_attrs(struct net *netns, struct nlattr **attrs) in __cfg802154_rdev_from_attrs() argument
119 if (!attrs[NL802154_ATTR_WPAN_PHY] && in __cfg802154_rdev_from_attrs()
120 !attrs[NL802154_ATTR_IFINDEX] && in __cfg802154_rdev_from_attrs()
121 !attrs[NL802154_ATTR_WPAN_DEV]) in __cfg802154_rdev_from_attrs()
124 if (attrs[NL802154_ATTR_WPAN_PHY]) in __cfg802154_rdev_from_attrs()
126 nla_get_u32(attrs[NL802154_ATTR_WPAN_PHY])); in __cfg802154_rdev_from_attrs()
128 if (attrs[NL802154_ATTR_WPAN_DEV]) { in __cfg802154_rdev_from_attrs()
129 u64 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]); in __cfg802154_rdev_from_attrs()
152 if (attrs[NL802154_ATTR_IFINDEX]) { in __cfg802154_rdev_from_attrs()
153 int ifindex = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]); in __cfg802154_rdev_from_attrs()
192 return __cfg802154_rdev_from_attrs(netns, info->attrs); in cfg802154_get_dev_from_info()
930 if (!info->attrs[NL802154_ATTR_IFNAME]) in nl802154_new_interface()
933 if (info->attrs[NL802154_ATTR_IFTYPE]) { in nl802154_new_interface()
934 type = nla_get_u32(info->attrs[NL802154_ATTR_IFTYPE]); in nl802154_new_interface()
940 if (info->attrs[NL802154_ATTR_EXTENDED_ADDR]) in nl802154_new_interface()
941 extended_addr = nla_get_le64(info->attrs[NL802154_ATTR_EXTENDED_ADDR]); in nl802154_new_interface()
947 nla_data(info->attrs[NL802154_ATTR_IFNAME]), in nl802154_new_interface()
976 if (!info->attrs[NL802154_ATTR_PAGE] || in nl802154_set_channel()
977 !info->attrs[NL802154_ATTR_CHANNEL]) in nl802154_set_channel()
980 page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]); in nl802154_set_channel()
981 channel = nla_get_u8(info->attrs[NL802154_ATTR_CHANNEL]); in nl802154_set_channel()
999 if (!info->attrs[NL802154_ATTR_CCA_MODE]) in nl802154_set_cca_mode()
1002 cca.mode = nla_get_u32(info->attrs[NL802154_ATTR_CCA_MODE]); in nl802154_set_cca_mode()
1010 if (!info->attrs[NL802154_ATTR_CCA_OPT]) in nl802154_set_cca_mode()
1013 cca.opt = nla_get_u32(info->attrs[NL802154_ATTR_CCA_OPT]); in nl802154_set_cca_mode()
1031 if (!info->attrs[NL802154_ATTR_CCA_ED_LEVEL]) in nl802154_set_cca_ed_level()
1034 ed_level = nla_get_s32(info->attrs[NL802154_ATTR_CCA_ED_LEVEL]); in nl802154_set_cca_ed_level()
1053 if (!info->attrs[NL802154_ATTR_TX_POWER]) in nl802154_set_tx_power()
1056 power = nla_get_s32(info->attrs[NL802154_ATTR_TX_POWER]); in nl802154_set_tx_power()
1079 !info->attrs[NL802154_ATTR_PAN_ID]) in nl802154_set_pan_id()
1082 pan_id = nla_get_le16(info->attrs[NL802154_ATTR_PAN_ID]); in nl802154_set_pan_id()
1110 !info->attrs[NL802154_ATTR_SHORT_ADDR]) in nl802154_set_short_addr()
1113 short_addr = nla_get_le16(info->attrs[NL802154_ATTR_SHORT_ADDR]); in nl802154_set_short_addr()
1145 if (!info->attrs[NL802154_ATTR_MIN_BE] || in nl802154_set_backoff_exponent()
1146 !info->attrs[NL802154_ATTR_MAX_BE]) in nl802154_set_backoff_exponent()
1149 min_be = nla_get_u8(info->attrs[NL802154_ATTR_MIN_BE]); in nl802154_set_backoff_exponent()
1150 max_be = nla_get_u8(info->attrs[NL802154_ATTR_MAX_BE]); in nl802154_set_backoff_exponent()
1175 if (!info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]) in nl802154_set_max_csma_backoffs()
1179 info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]); in nl802154_set_max_csma_backoffs()
1200 if (!info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]) in nl802154_set_max_frame_retries()
1204 info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]); in nl802154_set_max_frame_retries()
1224 if (!info->attrs[NL802154_ATTR_LBT_MODE]) in nl802154_set_lbt_mode()
1227 mode = nla_get_u8(info->attrs[NL802154_ATTR_LBT_MODE]); in nl802154_set_lbt_mode()
1249 if (!info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]) in nl802154_set_ackreq_default()
1252 ackreq = nla_get_u8(info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]); in nl802154_set_ackreq_default()
1272 struct nlattr *attrs[NL802154_DEV_ADDR_ATTR_MAX + 1]; in ieee802154_llsec_parse_dev_addr() local
1274 if (!nla || nla_parse_nested(attrs, NL802154_DEV_ADDR_ATTR_MAX, nla, in ieee802154_llsec_parse_dev_addr()
1278 if (!attrs[NL802154_DEV_ADDR_ATTR_PAN_ID] && in ieee802154_llsec_parse_dev_addr()
1279 !attrs[NL802154_DEV_ADDR_ATTR_MODE] && in ieee802154_llsec_parse_dev_addr()
1280 !(attrs[NL802154_DEV_ADDR_ATTR_SHORT] || in ieee802154_llsec_parse_dev_addr()
1281 attrs[NL802154_DEV_ADDR_ATTR_EXTENDED])) in ieee802154_llsec_parse_dev_addr()
1284 addr->pan_id = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_PAN_ID]); in ieee802154_llsec_parse_dev_addr()
1285 addr->mode = nla_get_u32(attrs[NL802154_DEV_ADDR_ATTR_MODE]); in ieee802154_llsec_parse_dev_addr()
1288 addr->short_addr = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_SHORT]); in ieee802154_llsec_parse_dev_addr()
1291 addr->extended_addr = nla_get_le64(attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]); in ieee802154_llsec_parse_dev_addr()
1312 struct nlattr *attrs[NL802154_KEY_ID_ATTR_MAX + 1]; in ieee802154_llsec_parse_key_id() local
1314 if (!nla || nla_parse_nested(attrs, NL802154_KEY_ID_ATTR_MAX, nla, in ieee802154_llsec_parse_key_id()
1318 if (!attrs[NL802154_KEY_ID_ATTR_MODE]) in ieee802154_llsec_parse_key_id()
1321 desc->mode = nla_get_u32(attrs[NL802154_KEY_ID_ATTR_MODE]); in ieee802154_llsec_parse_key_id()
1324 if (!attrs[NL802154_KEY_ID_ATTR_IMPLICIT]) in ieee802154_llsec_parse_key_id()
1327 if (ieee802154_llsec_parse_dev_addr(attrs[NL802154_KEY_ID_ATTR_IMPLICIT], in ieee802154_llsec_parse_key_id()
1334 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]) in ieee802154_llsec_parse_key_id()
1337 desc->short_source = nla_get_le32(attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]); in ieee802154_llsec_parse_key_id()
1340 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]) in ieee802154_llsec_parse_key_id()
1343 desc->extended_source = nla_get_le64(attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]); in ieee802154_llsec_parse_key_id()
1350 if (!attrs[NL802154_KEY_ID_ATTR_INDEX]) in ieee802154_llsec_parse_key_id()
1354 desc->id = nla_get_u8(attrs[NL802154_KEY_ID_ATTR_INDEX]); in ieee802154_llsec_parse_key_id()
1370 if (info->attrs[NL802154_ATTR_SEC_ENABLED]) { in nl802154_set_llsec_params()
1373 enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]); in nl802154_set_llsec_params()
1377 params.enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]); in nl802154_set_llsec_params()
1381 if (info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID]) { in nl802154_set_llsec_params()
1382 ret = ieee802154_llsec_parse_key_id(info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID], in nl802154_set_llsec_params()
1390 if (info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]) { in nl802154_set_llsec_params()
1391 params.out_level = nla_get_u32(info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]); in nl802154_set_llsec_params()
1398 if (info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]) { in nl802154_set_llsec_params()
1399 params.frame_counter = nla_get_be32(info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]); in nl802154_set_llsec_params()
1525 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1]; in nl802154_add_llsec_key() local
1530 if (nla_parse_nested(attrs, NL802154_KEY_ATTR_MAX, in nl802154_add_llsec_key()
1531 info->attrs[NL802154_ATTR_SEC_KEY], in nl802154_add_llsec_key()
1535 if (!attrs[NL802154_KEY_ATTR_USAGE_FRAMES] || in nl802154_add_llsec_key()
1536 !attrs[NL802154_KEY_ATTR_BYTES]) in nl802154_add_llsec_key()
1539 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_add_llsec_key()
1542 key.frame_types = nla_get_u8(attrs[NL802154_KEY_ATTR_USAGE_FRAMES]); in nl802154_add_llsec_key()
1545 !attrs[NL802154_KEY_ATTR_USAGE_CMDS])) in nl802154_add_llsec_key()
1548 if (attrs[NL802154_KEY_ATTR_USAGE_CMDS]) { in nl802154_add_llsec_key()
1550 nla_memcpy(commands, attrs[NL802154_KEY_ATTR_USAGE_CMDS], in nl802154_add_llsec_key()
1564 nla_memcpy(key.key, attrs[NL802154_KEY_ATTR_BYTES], NL802154_KEY_SIZE); in nl802154_add_llsec_key()
1566 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_add_llsec_key()
1577 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1]; in nl802154_del_llsec_key() local
1580 if (nla_parse_nested(attrs, NL802154_KEY_ATTR_MAX, in nl802154_del_llsec_key()
1581 info->attrs[NL802154_ATTR_SEC_KEY], in nl802154_del_llsec_key()
1585 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_del_llsec_key()
1694 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1]; in ieee802154_llsec_parse_device() local
1696 if (!nla || nla_parse_nested(attrs, NL802154_DEV_ATTR_MAX, nla, in ieee802154_llsec_parse_device()
1702 if (!attrs[NL802154_DEV_ATTR_FRAME_COUNTER] || in ieee802154_llsec_parse_device()
1703 !attrs[NL802154_DEV_ATTR_PAN_ID] || in ieee802154_llsec_parse_device()
1704 !attrs[NL802154_DEV_ATTR_SHORT_ADDR] || in ieee802154_llsec_parse_device()
1705 !attrs[NL802154_DEV_ATTR_EXTENDED_ADDR] || in ieee802154_llsec_parse_device()
1706 !attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT] || in ieee802154_llsec_parse_device()
1707 !attrs[NL802154_DEV_ATTR_KEY_MODE]) in ieee802154_llsec_parse_device()
1711 dev->frame_counter = nla_get_u32(attrs[NL802154_DEV_ATTR_FRAME_COUNTER]); in ieee802154_llsec_parse_device()
1712 dev->pan_id = nla_get_le16(attrs[NL802154_DEV_ATTR_PAN_ID]); in ieee802154_llsec_parse_device()
1713 dev->short_addr = nla_get_le16(attrs[NL802154_DEV_ATTR_SHORT_ADDR]); in ieee802154_llsec_parse_device()
1715 dev->hwaddr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]); in ieee802154_llsec_parse_device()
1716 dev->seclevel_exempt = nla_get_u8(attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT]); in ieee802154_llsec_parse_device()
1717 dev->key_mode = nla_get_u32(attrs[NL802154_DEV_ATTR_KEY_MODE]); in ieee802154_llsec_parse_device()
1733 if (ieee802154_llsec_parse_device(info->attrs[NL802154_ATTR_SEC_DEVICE], in nl802154_add_llsec_dev()
1745 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1]; in nl802154_del_llsec_dev() local
1748 if (nla_parse_nested(attrs, NL802154_DEV_ATTR_MAX, in nl802154_del_llsec_dev()
1749 info->attrs[NL802154_ATTR_SEC_DEVICE], in nl802154_del_llsec_dev()
1753 if (!attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]) in nl802154_del_llsec_dev()
1756 extended_addr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]); in nl802154_del_llsec_dev()
1871 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1]; in nl802154_add_llsec_devkey() local
1875 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] || in nl802154_add_llsec_devkey()
1876 nla_parse_nested(attrs, NL802154_DEVKEY_ATTR_MAX, in nl802154_add_llsec_devkey()
1877 info->attrs[NL802154_ATTR_SEC_DEVKEY], in nl802154_add_llsec_devkey()
1881 if (!attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER] || in nl802154_add_llsec_devkey()
1882 !attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]) in nl802154_add_llsec_devkey()
1886 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID], in nl802154_add_llsec_devkey()
1891 key.frame_counter = nla_get_u32(attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER]); in nl802154_add_llsec_devkey()
1895 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]); in nl802154_add_llsec_devkey()
1904 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1]; in nl802154_del_llsec_devkey() local
1908 if (nla_parse_nested(attrs, NL802154_DEVKEY_ATTR_MAX, in nl802154_del_llsec_devkey()
1909 info->attrs[NL802154_ATTR_SEC_DEVKEY], in nl802154_del_llsec_devkey()
1913 if (!attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]) in nl802154_del_llsec_devkey()
1917 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID], in nl802154_del_llsec_devkey()
1924 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]); in nl802154_del_llsec_devkey()
2028 struct nlattr *attrs[NL802154_SECLEVEL_ATTR_MAX + 1]; in llsec_parse_seclevel() local
2030 if (!nla || nla_parse_nested(attrs, NL802154_SECLEVEL_ATTR_MAX, nla, in llsec_parse_seclevel()
2036 if (!attrs[NL802154_SECLEVEL_ATTR_LEVELS] || in llsec_parse_seclevel()
2037 !attrs[NL802154_SECLEVEL_ATTR_FRAME] || in llsec_parse_seclevel()
2038 !attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]) in llsec_parse_seclevel()
2041 sl->sec_levels = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_LEVELS]); in llsec_parse_seclevel()
2042 sl->frame_type = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_FRAME]); in llsec_parse_seclevel()
2043 sl->device_override = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]); in llsec_parse_seclevel()
2049 if (!attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]) in llsec_parse_seclevel()
2052 sl->cmd_frame_id = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]); in llsec_parse_seclevel()
2068 if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], in nl802154_add_llsec_seclevel()
2083 if (!info->attrs[NL802154_ATTR_SEC_LEVEL] || in nl802154_del_llsec_seclevel()
2084 llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], in nl802154_del_llsec_seclevel()
2125 info->attrs); in nl802154_pre_doit()