Lines Matching +refs:dev +refs:id +refs:attrs
39 __cfg802154_wpan_dev_from_attrs(struct net *netns, struct nlattr **attrs) in __cfg802154_wpan_dev_from_attrs() argument
43 bool have_ifidx = attrs[NL802154_ATTR_IFINDEX]; in __cfg802154_wpan_dev_from_attrs()
44 bool have_wpan_dev_id = attrs[NL802154_ATTR_WPAN_DEV]; in __cfg802154_wpan_dev_from_attrs()
55 ifidx = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]); in __cfg802154_wpan_dev_from_attrs()
57 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]); in __cfg802154_wpan_dev_from_attrs()
94 __cfg802154_rdev_from_attrs(struct net *netns, struct nlattr **attrs) in __cfg802154_rdev_from_attrs() argument
101 if (!attrs[NL802154_ATTR_WPAN_PHY] && in __cfg802154_rdev_from_attrs()
102 !attrs[NL802154_ATTR_IFINDEX] && in __cfg802154_rdev_from_attrs()
103 !attrs[NL802154_ATTR_WPAN_DEV]) in __cfg802154_rdev_from_attrs()
106 if (attrs[NL802154_ATTR_WPAN_PHY]) in __cfg802154_rdev_from_attrs()
108 nla_get_u32(attrs[NL802154_ATTR_WPAN_PHY])); in __cfg802154_rdev_from_attrs()
110 if (attrs[NL802154_ATTR_WPAN_DEV]) { in __cfg802154_rdev_from_attrs()
111 u64 wpan_dev_id = nla_get_u64(attrs[NL802154_ATTR_WPAN_DEV]); in __cfg802154_rdev_from_attrs()
134 if (attrs[NL802154_ATTR_IFINDEX]) { in __cfg802154_rdev_from_attrs()
135 int ifindex = nla_get_u32(attrs[NL802154_ATTR_IFINDEX]); in __cfg802154_rdev_from_attrs()
175 return __cfg802154_rdev_from_attrs(netns, info->attrs); in cfg802154_get_dev_from_info()
265 info->info.attrs); in nl802154_prepare_wpan_dev_dump()
573 struct nlattr **tb = info->info.attrs; in nl802154_dump_wpan_phy_parse()
749 if (nla_put_u8(msg, NL802154_KEY_ID_ATTR_INDEX, desc->id)) in ieee802154_llsec_send_key_id()
793 struct net_device *dev = wpan_dev->netdev; in nl802154_send_iface() local
801 if (dev && in nl802154_send_iface()
802 (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex) || in nl802154_send_iface()
803 nla_put_string(msg, NL802154_ATTR_IFNAME, dev->name))) in nl802154_send_iface()
932 if (!info->attrs[NL802154_ATTR_IFNAME]) in nl802154_new_interface()
935 if (info->attrs[NL802154_ATTR_IFTYPE]) { in nl802154_new_interface()
936 type = nla_get_u32(info->attrs[NL802154_ATTR_IFTYPE]); in nl802154_new_interface()
942 if (info->attrs[NL802154_ATTR_EXTENDED_ADDR]) in nl802154_new_interface()
943 extended_addr = nla_get_le64(info->attrs[NL802154_ATTR_EXTENDED_ADDR]); in nl802154_new_interface()
949 nla_data(info->attrs[NL802154_ATTR_IFNAME]), in nl802154_new_interface()
978 if (!info->attrs[NL802154_ATTR_PAGE] || in nl802154_set_channel()
979 !info->attrs[NL802154_ATTR_CHANNEL]) in nl802154_set_channel()
982 page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]); in nl802154_set_channel()
983 channel = nla_get_u8(info->attrs[NL802154_ATTR_CHANNEL]); in nl802154_set_channel()
1000 if (!info->attrs[NL802154_ATTR_CCA_MODE]) in nl802154_set_cca_mode()
1003 cca.mode = nla_get_u32(info->attrs[NL802154_ATTR_CCA_MODE]); in nl802154_set_cca_mode()
1011 if (!info->attrs[NL802154_ATTR_CCA_OPT]) in nl802154_set_cca_mode()
1014 cca.opt = nla_get_u32(info->attrs[NL802154_ATTR_CCA_OPT]); in nl802154_set_cca_mode()
1032 if (!info->attrs[NL802154_ATTR_CCA_ED_LEVEL]) in nl802154_set_cca_ed_level()
1035 ed_level = nla_get_s32(info->attrs[NL802154_ATTR_CCA_ED_LEVEL]); in nl802154_set_cca_ed_level()
1054 if (!info->attrs[NL802154_ATTR_TX_POWER]) in nl802154_set_tx_power()
1057 power = nla_get_s32(info->attrs[NL802154_ATTR_TX_POWER]); in nl802154_set_tx_power()
1070 struct net_device *dev = info->user_ptr[1]; in nl802154_set_pan_id() local
1071 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_pan_id()
1075 if (netif_running(dev)) in nl802154_set_pan_id()
1085 !info->attrs[NL802154_ATTR_PAN_ID]) in nl802154_set_pan_id()
1088 pan_id = nla_get_le16(info->attrs[NL802154_ATTR_PAN_ID]); in nl802154_set_pan_id()
1106 struct net_device *dev = info->user_ptr[1]; in nl802154_set_short_addr() local
1107 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_short_addr()
1111 if (netif_running(dev)) in nl802154_set_short_addr()
1121 !info->attrs[NL802154_ATTR_SHORT_ADDR]) in nl802154_set_short_addr()
1124 short_addr = nla_get_le16(info->attrs[NL802154_ATTR_SHORT_ADDR]); in nl802154_set_short_addr()
1148 struct net_device *dev = info->user_ptr[1]; in nl802154_set_backoff_exponent() local
1149 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_backoff_exponent()
1153 if (netif_running(dev)) in nl802154_set_backoff_exponent()
1156 if (!info->attrs[NL802154_ATTR_MIN_BE] || in nl802154_set_backoff_exponent()
1157 !info->attrs[NL802154_ATTR_MAX_BE]) in nl802154_set_backoff_exponent()
1160 min_be = nla_get_u8(info->attrs[NL802154_ATTR_MIN_BE]); in nl802154_set_backoff_exponent()
1161 max_be = nla_get_u8(info->attrs[NL802154_ATTR_MAX_BE]); in nl802154_set_backoff_exponent()
1178 struct net_device *dev = info->user_ptr[1]; in nl802154_set_max_csma_backoffs() local
1179 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_max_csma_backoffs()
1183 if (netif_running(dev)) in nl802154_set_max_csma_backoffs()
1186 if (!info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]) in nl802154_set_max_csma_backoffs()
1190 info->attrs[NL802154_ATTR_MAX_CSMA_BACKOFFS]); in nl802154_set_max_csma_backoffs()
1204 struct net_device *dev = info->user_ptr[1]; in nl802154_set_max_frame_retries() local
1205 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_max_frame_retries()
1208 if (netif_running(dev)) in nl802154_set_max_frame_retries()
1211 if (!info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]) in nl802154_set_max_frame_retries()
1215 info->attrs[NL802154_ATTR_MAX_FRAME_RETRIES]); in nl802154_set_max_frame_retries()
1228 struct net_device *dev = info->user_ptr[1]; in nl802154_set_lbt_mode() local
1229 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_lbt_mode()
1232 if (netif_running(dev)) in nl802154_set_lbt_mode()
1235 if (!info->attrs[NL802154_ATTR_LBT_MODE]) in nl802154_set_lbt_mode()
1238 mode = nla_get_u8(info->attrs[NL802154_ATTR_LBT_MODE]); in nl802154_set_lbt_mode()
1253 struct net_device *dev = info->user_ptr[1]; in nl802154_set_ackreq_default() local
1254 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_ackreq_default()
1257 if (netif_running(dev)) in nl802154_set_ackreq_default()
1260 if (!info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]) in nl802154_set_ackreq_default()
1263 ackreq = nla_get_u8(info->attrs[NL802154_ATTR_ACKREQ_DEFAULT]); in nl802154_set_ackreq_default()
1277 if (info->attrs[NL802154_ATTR_PID]) { in nl802154_wpan_phy_netns()
1278 u32 pid = nla_get_u32(info->attrs[NL802154_ATTR_PID]); in nl802154_wpan_phy_netns()
1281 } else if (info->attrs[NL802154_ATTR_NETNS_FD]) { in nl802154_wpan_phy_netns()
1282 u32 fd = nla_get_u32(info->attrs[NL802154_ATTR_NETNS_FD]); in nl802154_wpan_phy_netns()
1403 struct net_device *dev = info->user_ptr[1]; in nl802154_trigger_scan() local
1404 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_trigger_scan()
1415 if (!info->attrs[NL802154_ATTR_SCAN_TYPE]) { in nl802154_trigger_scan()
1432 type = nla_get_u8(info->attrs[NL802154_ATTR_SCAN_TYPE]); in nl802154_trigger_scan()
1445 if (info->attrs[NL802154_ATTR_PAGE]) in nl802154_trigger_scan()
1446 request->page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]); in nl802154_trigger_scan()
1451 if (info->attrs[NL802154_ATTR_SCAN_CHANNELS]) in nl802154_trigger_scan()
1452 request->channels = nla_get_u32(info->attrs[NL802154_ATTR_SCAN_CHANNELS]); in nl802154_trigger_scan()
1457 if (info->attrs[NL802154_ATTR_SCAN_DURATION]) in nl802154_trigger_scan()
1458 request->duration = nla_get_u8(info->attrs[NL802154_ATTR_SCAN_DURATION]); in nl802154_trigger_scan()
1565 struct net_device *dev = info->user_ptr[1]; in nl802154_abort_scan() local
1566 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_abort_scan()
1576 struct net_device *dev = info->user_ptr[1]; in nl802154_send_beacons() local
1577 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_send_beacons()
1605 if (info->attrs[NL802154_ATTR_BEACON_INTERVAL]) in nl802154_send_beacons()
1606 request->interval = nla_get_u8(info->attrs[NL802154_ATTR_BEACON_INTERVAL]); in nl802154_send_beacons()
1634 struct net_device *dev = info->user_ptr[1]; in nl802154_stop_beacons() local
1635 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_stop_beacons()
1653 struct nlattr *attrs[NL802154_DEV_ADDR_ATTR_MAX + 1]; in ieee802154_llsec_parse_dev_addr() local
1655 …if (!nla || nla_parse_nested_deprecated(attrs, NL802154_DEV_ADDR_ATTR_MAX, nla, nl802154_dev_addr_… in ieee802154_llsec_parse_dev_addr()
1658 if (!attrs[NL802154_DEV_ADDR_ATTR_PAN_ID] || !attrs[NL802154_DEV_ADDR_ATTR_MODE]) in ieee802154_llsec_parse_dev_addr()
1661 addr->pan_id = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_PAN_ID]); in ieee802154_llsec_parse_dev_addr()
1662 addr->mode = nla_get_u32(attrs[NL802154_DEV_ADDR_ATTR_MODE]); in ieee802154_llsec_parse_dev_addr()
1665 if (!attrs[NL802154_DEV_ADDR_ATTR_SHORT]) in ieee802154_llsec_parse_dev_addr()
1667 addr->short_addr = nla_get_le16(attrs[NL802154_DEV_ADDR_ATTR_SHORT]); in ieee802154_llsec_parse_dev_addr()
1670 if (!attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]) in ieee802154_llsec_parse_dev_addr()
1672 addr->extended_addr = nla_get_le64(attrs[NL802154_DEV_ADDR_ATTR_EXTENDED]); in ieee802154_llsec_parse_dev_addr()
1693 struct nlattr *attrs[NL802154_KEY_ID_ATTR_MAX + 1]; in ieee802154_llsec_parse_key_id() local
1695 …if (!nla || nla_parse_nested_deprecated(attrs, NL802154_KEY_ID_ATTR_MAX, nla, nl802154_key_id_poli… in ieee802154_llsec_parse_key_id()
1698 if (!attrs[NL802154_KEY_ID_ATTR_MODE]) in ieee802154_llsec_parse_key_id()
1701 desc->mode = nla_get_u32(attrs[NL802154_KEY_ID_ATTR_MODE]); in ieee802154_llsec_parse_key_id()
1704 if (!attrs[NL802154_KEY_ID_ATTR_IMPLICIT]) in ieee802154_llsec_parse_key_id()
1707 if (ieee802154_llsec_parse_dev_addr(attrs[NL802154_KEY_ID_ATTR_IMPLICIT], in ieee802154_llsec_parse_key_id()
1714 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]) in ieee802154_llsec_parse_key_id()
1717 desc->short_source = nla_get_le32(attrs[NL802154_KEY_ID_ATTR_SOURCE_SHORT]); in ieee802154_llsec_parse_key_id()
1720 if (!attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]) in ieee802154_llsec_parse_key_id()
1723 desc->extended_source = nla_get_le64(attrs[NL802154_KEY_ID_ATTR_SOURCE_EXTENDED]); in ieee802154_llsec_parse_key_id()
1730 if (!attrs[NL802154_KEY_ID_ATTR_INDEX]) in ieee802154_llsec_parse_key_id()
1734 desc->id = nla_get_u8(attrs[NL802154_KEY_ID_ATTR_INDEX]); in ieee802154_llsec_parse_key_id()
1744 struct net_device *dev = info->user_ptr[1]; in nl802154_set_llsec_params() local
1745 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_set_llsec_params()
1753 if (info->attrs[NL802154_ATTR_SEC_ENABLED]) { in nl802154_set_llsec_params()
1756 enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]); in nl802154_set_llsec_params()
1760 params.enabled = nla_get_u8(info->attrs[NL802154_ATTR_SEC_ENABLED]); in nl802154_set_llsec_params()
1764 if (info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID]) { in nl802154_set_llsec_params()
1765 ret = ieee802154_llsec_parse_key_id(info->attrs[NL802154_ATTR_SEC_OUT_KEY_ID], in nl802154_set_llsec_params()
1773 if (info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]) { in nl802154_set_llsec_params()
1774 params.out_level = nla_get_u32(info->attrs[NL802154_ATTR_SEC_OUT_LEVEL]); in nl802154_set_llsec_params()
1781 if (info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]) { in nl802154_set_llsec_params()
1782 params.frame_counter = nla_get_be32(info->attrs[NL802154_ATTR_SEC_FRAME_COUNTER]); in nl802154_set_llsec_params()
1792 struct net_device *dev, in nl802154_send_key() argument
1803 if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex)) in nl802154_send_key()
1814 if (ieee802154_llsec_send_key_id(msg, &key->id) < 0) in nl802154_send_key()
1911 struct net_device *dev = info->user_ptr[1]; in nl802154_add_llsec_key() local
1912 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_add_llsec_key()
1913 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1]; in nl802154_add_llsec_key() local
1915 struct ieee802154_llsec_key_id id = { }; in nl802154_add_llsec_key() local
1921 if (!info->attrs[NL802154_ATTR_SEC_KEY] || in nl802154_add_llsec_key()
1922 …nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl80… in nl802154_add_llsec_key()
1925 if (!attrs[NL802154_KEY_ATTR_USAGE_FRAMES] || in nl802154_add_llsec_key()
1926 !attrs[NL802154_KEY_ATTR_BYTES]) in nl802154_add_llsec_key()
1929 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_add_llsec_key()
1932 key.frame_types = nla_get_u8(attrs[NL802154_KEY_ATTR_USAGE_FRAMES]); in nl802154_add_llsec_key()
1935 !attrs[NL802154_KEY_ATTR_USAGE_CMDS])) in nl802154_add_llsec_key()
1938 if (attrs[NL802154_KEY_ATTR_USAGE_CMDS]) { in nl802154_add_llsec_key()
1940 nla_memcpy(commands, attrs[NL802154_KEY_ATTR_USAGE_CMDS], in nl802154_add_llsec_key()
1954 nla_memcpy(key.key, attrs[NL802154_KEY_ATTR_BYTES], NL802154_KEY_SIZE); in nl802154_add_llsec_key()
1956 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_add_llsec_key()
1959 return rdev_add_llsec_key(rdev, wpan_dev, &id, &key); in nl802154_add_llsec_key()
1965 struct net_device *dev = info->user_ptr[1]; in nl802154_del_llsec_key() local
1966 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_del_llsec_key()
1967 struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1]; in nl802154_del_llsec_key() local
1968 struct ieee802154_llsec_key_id id; in nl802154_del_llsec_key() local
1973 if (!info->attrs[NL802154_ATTR_SEC_KEY] || in nl802154_del_llsec_key()
1974 …nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl80… in nl802154_del_llsec_key()
1977 if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) in nl802154_del_llsec_key()
1980 return rdev_del_llsec_key(rdev, wpan_dev, &id); in nl802154_del_llsec_key()
1986 struct net_device *dev, in nl802154_send_device() argument
1996 if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex)) in nl802154_send_device()
2029 struct ieee802154_llsec_device *dev; in nl802154_dump_llsec_dev() local
2055 list_for_each_entry(dev, &table->devices, list) { in nl802154_dump_llsec_dev()
2059 rdev, wpan_dev->netdev, dev) < 0) { in nl802154_dump_llsec_dev()
2089 struct ieee802154_llsec_device *dev) in ieee802154_llsec_parse_device() argument
2091 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1]; in ieee802154_llsec_parse_device() local
2093 …if (!nla || nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, nla, nl802154_dev_policy, NU… in ieee802154_llsec_parse_device()
2096 memset(dev, 0, sizeof(*dev)); in ieee802154_llsec_parse_device()
2098 if (!attrs[NL802154_DEV_ATTR_FRAME_COUNTER] || in ieee802154_llsec_parse_device()
2099 !attrs[NL802154_DEV_ATTR_PAN_ID] || in ieee802154_llsec_parse_device()
2100 !attrs[NL802154_DEV_ATTR_SHORT_ADDR] || in ieee802154_llsec_parse_device()
2101 !attrs[NL802154_DEV_ATTR_EXTENDED_ADDR] || in ieee802154_llsec_parse_device()
2102 !attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT] || in ieee802154_llsec_parse_device()
2103 !attrs[NL802154_DEV_ATTR_KEY_MODE]) in ieee802154_llsec_parse_device()
2107 dev->frame_counter = nla_get_u32(attrs[NL802154_DEV_ATTR_FRAME_COUNTER]); in ieee802154_llsec_parse_device()
2108 dev->pan_id = nla_get_le16(attrs[NL802154_DEV_ATTR_PAN_ID]); in ieee802154_llsec_parse_device()
2109 dev->short_addr = nla_get_le16(attrs[NL802154_DEV_ATTR_SHORT_ADDR]); in ieee802154_llsec_parse_device()
2111 dev->hwaddr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]); in ieee802154_llsec_parse_device()
2112 dev->seclevel_exempt = nla_get_u8(attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT]); in ieee802154_llsec_parse_device()
2113 dev->key_mode = nla_get_u32(attrs[NL802154_DEV_ATTR_KEY_MODE]); in ieee802154_llsec_parse_device()
2115 if (dev->key_mode > NL802154_DEVKEY_MAX || in ieee802154_llsec_parse_device()
2116 (dev->seclevel_exempt != 0 && dev->seclevel_exempt != 1)) in ieee802154_llsec_parse_device()
2125 struct net_device *dev = info->user_ptr[1]; in nl802154_add_llsec_dev() local
2126 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_add_llsec_dev()
2132 if (ieee802154_llsec_parse_device(info->attrs[NL802154_ATTR_SEC_DEVICE], in nl802154_add_llsec_dev()
2142 struct net_device *dev = info->user_ptr[1]; in nl802154_del_llsec_dev() local
2143 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_del_llsec_dev()
2144 struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1]; in nl802154_del_llsec_dev() local
2150 if (!info->attrs[NL802154_ATTR_SEC_DEVICE] || in nl802154_del_llsec_dev()
2151 …nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVICE], n… in nl802154_del_llsec_dev()
2154 if (!attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]) in nl802154_del_llsec_dev()
2157 extended_addr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]); in nl802154_del_llsec_dev()
2164 struct net_device *dev, __le64 extended_addr, in nl802154_send_devkey() argument
2174 if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex)) in nl802154_send_devkey()
2275 struct net_device *dev = info->user_ptr[1]; in nl802154_add_llsec_devkey() local
2276 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_add_llsec_devkey()
2277 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1]; in nl802154_add_llsec_devkey() local
2284 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] || in nl802154_add_llsec_devkey()
2285 …nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY]… in nl802154_add_llsec_devkey()
2288 if (!attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER] || in nl802154_add_llsec_devkey()
2289 !attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]) in nl802154_add_llsec_devkey()
2293 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID], in nl802154_add_llsec_devkey()
2298 key.frame_counter = nla_get_u32(attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER]); in nl802154_add_llsec_devkey()
2302 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]); in nl802154_add_llsec_devkey()
2309 struct net_device *dev = info->user_ptr[1]; in nl802154_del_llsec_devkey() local
2310 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_del_llsec_devkey()
2311 struct nlattr *attrs[NL802154_DEVKEY_ATTR_MAX + 1]; in nl802154_del_llsec_devkey() local
2318 if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] || in nl802154_del_llsec_devkey()
2319 …nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY]… in nl802154_del_llsec_devkey()
2322 if (!attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]) in nl802154_del_llsec_devkey()
2326 if (ieee802154_llsec_parse_key_id(attrs[NL802154_DEVKEY_ATTR_ID], in nl802154_del_llsec_devkey()
2333 extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]); in nl802154_del_llsec_devkey()
2340 struct net_device *dev, in nl802154_send_seclevel() argument
2350 if (nla_put_u32(msg, NL802154_ATTR_IFINDEX, dev->ifindex)) in nl802154_send_seclevel()
2442 struct nlattr *attrs[NL802154_SECLEVEL_ATTR_MAX + 1]; in llsec_parse_seclevel() local
2444 …if (!nla || nla_parse_nested_deprecated(attrs, NL802154_SECLEVEL_ATTR_MAX, nla, nl802154_seclevel_… in llsec_parse_seclevel()
2449 if (!attrs[NL802154_SECLEVEL_ATTR_LEVELS] || in llsec_parse_seclevel()
2450 !attrs[NL802154_SECLEVEL_ATTR_FRAME] || in llsec_parse_seclevel()
2451 !attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]) in llsec_parse_seclevel()
2454 sl->sec_levels = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_LEVELS]); in llsec_parse_seclevel()
2455 sl->frame_type = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_FRAME]); in llsec_parse_seclevel()
2456 sl->device_override = nla_get_u8(attrs[NL802154_SECLEVEL_ATTR_DEV_OVERRIDE]); in llsec_parse_seclevel()
2462 if (!attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]) in llsec_parse_seclevel()
2465 sl->cmd_frame_id = nla_get_u32(attrs[NL802154_SECLEVEL_ATTR_CMD_FRAME]); in llsec_parse_seclevel()
2477 struct net_device *dev = info->user_ptr[1]; in nl802154_add_llsec_seclevel() local
2478 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_add_llsec_seclevel()
2484 if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], in nl802154_add_llsec_seclevel()
2495 struct net_device *dev = info->user_ptr[1]; in nl802154_del_llsec_seclevel() local
2496 struct wpan_dev *wpan_dev = dev->ieee802154_ptr; in nl802154_del_llsec_seclevel()
2502 if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], in nl802154_del_llsec_seclevel()
2522 struct net_device *dev; in nl802154_pre_doit() local
2540 info->attrs); in nl802154_pre_doit()
2547 dev = wpan_dev->netdev; in nl802154_pre_doit()
2551 if (!dev) { in nl802154_pre_doit()
2557 info->user_ptr[1] = dev; in nl802154_pre_doit()
2562 if (dev) { in nl802154_pre_doit()
2564 !netif_running(dev)) { in nl802154_pre_doit()
2570 dev_hold(dev); in nl802154_pre_doit()