Lines Matching refs:info
149 static struct net_device *ieee802154_nl_get_dev(struct genl_info *info) in ieee802154_nl_get_dev() argument
153 if (info->attrs[IEEE802154_ATTR_DEV_NAME]) { in ieee802154_nl_get_dev()
156 nla_strlcpy(name, info->attrs[IEEE802154_ATTR_DEV_NAME], in ieee802154_nl_get_dev()
159 } else if (info->attrs[IEEE802154_ATTR_DEV_INDEX]) { in ieee802154_nl_get_dev()
161 nla_get_u32(info->attrs[IEEE802154_ATTR_DEV_INDEX])); in ieee802154_nl_get_dev()
180 int ieee802154_associate_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_associate_req() argument
187 if (!info->attrs[IEEE802154_ATTR_CHANNEL] || in ieee802154_associate_req()
188 !info->attrs[IEEE802154_ATTR_COORD_PAN_ID] || in ieee802154_associate_req()
189 (!info->attrs[IEEE802154_ATTR_COORD_HW_ADDR] && in ieee802154_associate_req()
190 !info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR]) || in ieee802154_associate_req()
191 !info->attrs[IEEE802154_ATTR_CAPABILITY]) in ieee802154_associate_req()
194 dev = ieee802154_nl_get_dev(info); in ieee802154_associate_req()
200 if (info->attrs[IEEE802154_ATTR_COORD_HW_ADDR]) { in ieee802154_associate_req()
203 info->attrs[IEEE802154_ATTR_COORD_HW_ADDR]); in ieee802154_associate_req()
207 info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR]); in ieee802154_associate_req()
210 info->attrs[IEEE802154_ATTR_COORD_PAN_ID]); in ieee802154_associate_req()
212 if (info->attrs[IEEE802154_ATTR_PAGE]) in ieee802154_associate_req()
213 page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]); in ieee802154_associate_req()
218 nla_get_u8(info->attrs[IEEE802154_ATTR_CHANNEL]), in ieee802154_associate_req()
220 nla_get_u8(info->attrs[IEEE802154_ATTR_CAPABILITY])); in ieee802154_associate_req()
227 int ieee802154_associate_resp(struct sk_buff *skb, struct genl_info *info) in ieee802154_associate_resp() argument
233 if (!info->attrs[IEEE802154_ATTR_STATUS] || in ieee802154_associate_resp()
234 !info->attrs[IEEE802154_ATTR_DEST_HW_ADDR] || in ieee802154_associate_resp()
235 !info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]) in ieee802154_associate_resp()
238 dev = ieee802154_nl_get_dev(info); in ieee802154_associate_resp()
246 info->attrs[IEEE802154_ATTR_DEST_HW_ADDR]); in ieee802154_associate_resp()
250 nla_get_shortaddr(info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]), in ieee802154_associate_resp()
251 nla_get_u8(info->attrs[IEEE802154_ATTR_STATUS])); in ieee802154_associate_resp()
258 int ieee802154_disassociate_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_disassociate_req() argument
264 if ((!info->attrs[IEEE802154_ATTR_DEST_HW_ADDR] && in ieee802154_disassociate_req()
265 !info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]) || in ieee802154_disassociate_req()
266 !info->attrs[IEEE802154_ATTR_REASON]) in ieee802154_disassociate_req()
269 dev = ieee802154_nl_get_dev(info); in ieee802154_disassociate_req()
275 if (info->attrs[IEEE802154_ATTR_DEST_HW_ADDR]) { in ieee802154_disassociate_req()
278 info->attrs[IEEE802154_ATTR_DEST_HW_ADDR]); in ieee802154_disassociate_req()
282 info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]); in ieee802154_disassociate_req()
287 nla_get_u8(info->attrs[IEEE802154_ATTR_REASON])); in ieee802154_disassociate_req()
298 int ieee802154_start_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_start_req() argument
308 if (!info->attrs[IEEE802154_ATTR_COORD_PAN_ID] || in ieee802154_start_req()
309 !info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR] || in ieee802154_start_req()
310 !info->attrs[IEEE802154_ATTR_CHANNEL] || in ieee802154_start_req()
311 !info->attrs[IEEE802154_ATTR_BCN_ORD] || in ieee802154_start_req()
312 !info->attrs[IEEE802154_ATTR_SF_ORD] || in ieee802154_start_req()
313 !info->attrs[IEEE802154_ATTR_PAN_COORD] || in ieee802154_start_req()
314 !info->attrs[IEEE802154_ATTR_BAT_EXT] || in ieee802154_start_req()
315 !info->attrs[IEEE802154_ATTR_COORD_REALIGN] in ieee802154_start_req()
319 dev = ieee802154_nl_get_dev(info); in ieee802154_start_req()
333 info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR]); in ieee802154_start_req()
335 info->attrs[IEEE802154_ATTR_COORD_PAN_ID]); in ieee802154_start_req()
337 channel = nla_get_u8(info->attrs[IEEE802154_ATTR_CHANNEL]); in ieee802154_start_req()
338 bcn_ord = nla_get_u8(info->attrs[IEEE802154_ATTR_BCN_ORD]); in ieee802154_start_req()
339 sf_ord = nla_get_u8(info->attrs[IEEE802154_ATTR_SF_ORD]); in ieee802154_start_req()
340 pan_coord = nla_get_u8(info->attrs[IEEE802154_ATTR_PAN_COORD]); in ieee802154_start_req()
341 blx = nla_get_u8(info->attrs[IEEE802154_ATTR_BAT_EXT]); in ieee802154_start_req()
342 coord_realign = nla_get_u8(info->attrs[IEEE802154_ATTR_COORD_REALIGN]); in ieee802154_start_req()
344 if (info->attrs[IEEE802154_ATTR_PAGE]) in ieee802154_start_req()
345 page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]); in ieee802154_start_req()
370 int ieee802154_scan_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_scan_req() argument
379 if (!info->attrs[IEEE802154_ATTR_SCAN_TYPE] || in ieee802154_scan_req()
380 !info->attrs[IEEE802154_ATTR_CHANNELS] || in ieee802154_scan_req()
381 !info->attrs[IEEE802154_ATTR_DURATION]) in ieee802154_scan_req()
384 dev = ieee802154_nl_get_dev(info); in ieee802154_scan_req()
390 type = nla_get_u8(info->attrs[IEEE802154_ATTR_SCAN_TYPE]); in ieee802154_scan_req()
391 channels = nla_get_u32(info->attrs[IEEE802154_ATTR_CHANNELS]); in ieee802154_scan_req()
392 duration = nla_get_u8(info->attrs[IEEE802154_ATTR_DURATION]); in ieee802154_scan_req()
394 if (info->attrs[IEEE802154_ATTR_PAGE]) in ieee802154_scan_req()
395 page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]); in ieee802154_scan_req()
407 int ieee802154_list_iface(struct sk_buff *skb, struct genl_info *info) in ieee802154_list_iface() argument
418 dev = ieee802154_nl_get_dev(info); in ieee802154_list_iface()
426 rc = ieee802154_nl_fill_iface(msg, info->snd_portid, info->snd_seq, in ieee802154_list_iface()
433 return genlmsg_reply(msg, info); in ieee802154_list_iface()
471 int ieee802154_set_macparams(struct sk_buff *skb, struct genl_info *info) in ieee802154_set_macparams() argument
481 dev = ieee802154_nl_get_dev(info); in ieee802154_set_macparams()
497 if (!info->attrs[IEEE802154_ATTR_LBT_ENABLED] && in ieee802154_set_macparams()
498 !info->attrs[IEEE802154_ATTR_CCA_MODE] && in ieee802154_set_macparams()
499 !info->attrs[IEEE802154_ATTR_CCA_ED_LEVEL] && in ieee802154_set_macparams()
500 !info->attrs[IEEE802154_ATTR_CSMA_RETRIES] && in ieee802154_set_macparams()
501 !info->attrs[IEEE802154_ATTR_CSMA_MIN_BE] && in ieee802154_set_macparams()
502 !info->attrs[IEEE802154_ATTR_CSMA_MAX_BE] && in ieee802154_set_macparams()
503 !info->attrs[IEEE802154_ATTR_FRAME_RETRIES]) in ieee802154_set_macparams()
512 if (info->attrs[IEEE802154_ATTR_TXPOWER]) in ieee802154_set_macparams()
513 params.transmit_power = nla_get_s8(info->attrs[IEEE802154_ATTR_TXPOWER]); in ieee802154_set_macparams()
515 if (info->attrs[IEEE802154_ATTR_LBT_ENABLED]) in ieee802154_set_macparams()
516 params.lbt = nla_get_u8(info->attrs[IEEE802154_ATTR_LBT_ENABLED]); in ieee802154_set_macparams()
518 if (info->attrs[IEEE802154_ATTR_CCA_MODE]) in ieee802154_set_macparams()
519 params.cca.mode = nla_get_u8(info->attrs[IEEE802154_ATTR_CCA_MODE]); in ieee802154_set_macparams()
521 if (info->attrs[IEEE802154_ATTR_CCA_ED_LEVEL]) in ieee802154_set_macparams()
522 params.cca_ed_level = nla_get_s32(info->attrs[IEEE802154_ATTR_CCA_ED_LEVEL]); in ieee802154_set_macparams()
524 if (info->attrs[IEEE802154_ATTR_CSMA_RETRIES]) in ieee802154_set_macparams()
525 params.csma_retries = nla_get_u8(info->attrs[IEEE802154_ATTR_CSMA_RETRIES]); in ieee802154_set_macparams()
527 if (info->attrs[IEEE802154_ATTR_CSMA_MIN_BE]) in ieee802154_set_macparams()
528 params.min_be = nla_get_u8(info->attrs[IEEE802154_ATTR_CSMA_MIN_BE]); in ieee802154_set_macparams()
530 if (info->attrs[IEEE802154_ATTR_CSMA_MAX_BE]) in ieee802154_set_macparams()
531 params.max_be = nla_get_u8(info->attrs[IEEE802154_ATTR_CSMA_MAX_BE]); in ieee802154_set_macparams()
533 if (info->attrs[IEEE802154_ATTR_FRAME_RETRIES]) in ieee802154_set_macparams()
534 params.frame_retries = nla_get_s8(info->attrs[IEEE802154_ATTR_FRAME_RETRIES]); in ieee802154_set_macparams()
550 ieee802154_llsec_parse_key_id(struct genl_info *info, in ieee802154_llsec_parse_key_id() argument
555 if (!info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]) in ieee802154_llsec_parse_key_id()
558 desc->mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]); in ieee802154_llsec_parse_key_id()
561 if (!info->attrs[IEEE802154_ATTR_PAN_ID] && in ieee802154_llsec_parse_key_id()
562 !(info->attrs[IEEE802154_ATTR_SHORT_ADDR] || in ieee802154_llsec_parse_key_id()
563 info->attrs[IEEE802154_ATTR_HW_ADDR])) in ieee802154_llsec_parse_key_id()
566 desc->device_addr.pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]); in ieee802154_llsec_parse_key_id()
568 if (info->attrs[IEEE802154_ATTR_SHORT_ADDR]) { in ieee802154_llsec_parse_key_id()
570 desc->device_addr.short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]); in ieee802154_llsec_parse_key_id()
573 desc->device_addr.extended_addr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in ieee802154_llsec_parse_key_id()
578 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_ID]) in ieee802154_llsec_parse_key_id()
582 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT]) in ieee802154_llsec_parse_key_id()
586 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED]) in ieee802154_llsec_parse_key_id()
590 desc->id = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_ID]); in ieee802154_llsec_parse_key_id()
595 u32 source = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT]); in ieee802154_llsec_parse_key_id()
601 desc->extended_source = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED]); in ieee802154_llsec_parse_key_id()
648 int ieee802154_llsec_getparams(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_getparams() argument
659 dev = ieee802154_nl_get_dev(info); in ieee802154_llsec_getparams()
673 hdr = genlmsg_put(msg, 0, info->snd_seq, &nl802154_family, 0, in ieee802154_llsec_getparams()
693 return ieee802154_nl_reply(msg, info); in ieee802154_llsec_getparams()
701 int ieee802154_llsec_setparams(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_setparams() argument
711 dev = ieee802154_nl_get_dev(info); in ieee802154_llsec_setparams()
715 if (!info->attrs[IEEE802154_ATTR_LLSEC_ENABLED] && in ieee802154_llsec_setparams()
716 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE] && in ieee802154_llsec_setparams()
717 !info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]) in ieee802154_llsec_setparams()
726 if (info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL] && in ieee802154_llsec_setparams()
727 nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]) > 7) in ieee802154_llsec_setparams()
730 if (info->attrs[IEEE802154_ATTR_LLSEC_ENABLED]) { in ieee802154_llsec_setparams()
731 params.enabled = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_ENABLED]); in ieee802154_llsec_setparams()
735 if (info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]) { in ieee802154_llsec_setparams()
736 if (ieee802154_llsec_parse_key_id(info, ¶ms.out_key)) in ieee802154_llsec_setparams()
742 if (info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]) { in ieee802154_llsec_setparams()
743 params.out_level = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]); in ieee802154_llsec_setparams()
747 if (info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]) { in ieee802154_llsec_setparams()
748 u32 fc = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]); in ieee802154_llsec_setparams()
821 ieee802154_nl_llsec_change(struct sk_buff *skb, struct genl_info *info, in ieee802154_nl_llsec_change() argument
827 dev = ieee802154_nl_get_dev(info); in ieee802154_nl_llsec_change()
834 rc = fn(dev, info); in ieee802154_nl_llsec_change()
841 ieee802154_llsec_parse_key(struct genl_info *info, in ieee802154_llsec_parse_key() argument
849 if (!info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES] || in ieee802154_llsec_parse_key()
850 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_BYTES]) in ieee802154_llsec_parse_key()
853 frames = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES]); in ieee802154_llsec_parse_key()
855 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS]) in ieee802154_llsec_parse_key()
858 if (info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS]) { in ieee802154_llsec_parse_key()
860 info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS], in ieee802154_llsec_parse_key()
873 nla_memcpy(key->key, info->attrs[IEEE802154_ATTR_LLSEC_KEY_BYTES], in ieee802154_llsec_parse_key()
879 static int llsec_add_key(struct net_device *dev, struct genl_info *info) in llsec_add_key() argument
885 if (ieee802154_llsec_parse_key(info, &key) || in llsec_add_key()
886 ieee802154_llsec_parse_key_id(info, &id)) in llsec_add_key()
892 int ieee802154_llsec_add_key(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_key() argument
894 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_key()
898 return ieee802154_nl_llsec_change(skb, info, llsec_add_key); in ieee802154_llsec_add_key()
901 static int llsec_remove_key(struct net_device *dev, struct genl_info *info) in llsec_remove_key() argument
906 if (ieee802154_llsec_parse_key_id(info, &id)) in llsec_remove_key()
912 int ieee802154_llsec_del_key(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_key() argument
914 return ieee802154_nl_llsec_change(skb, info, llsec_remove_key); in ieee802154_llsec_del_key()
985 llsec_parse_dev(struct genl_info *info, in llsec_parse_dev() argument
990 if (!info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER] || in llsec_parse_dev()
991 !info->attrs[IEEE802154_ATTR_HW_ADDR] || in llsec_parse_dev()
992 !info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE] || in llsec_parse_dev()
993 !info->attrs[IEEE802154_ATTR_LLSEC_DEV_KEY_MODE] || in llsec_parse_dev()
994 (!!info->attrs[IEEE802154_ATTR_PAN_ID] != in llsec_parse_dev()
995 !!info->attrs[IEEE802154_ATTR_SHORT_ADDR])) in llsec_parse_dev()
998 if (info->attrs[IEEE802154_ATTR_PAN_ID]) { in llsec_parse_dev()
999 dev->pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]); in llsec_parse_dev()
1000 dev->short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]); in llsec_parse_dev()
1005 dev->hwaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_parse_dev()
1006 dev->frame_counter = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]); in llsec_parse_dev()
1007 dev->seclevel_exempt = !!nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]); in llsec_parse_dev()
1008 dev->key_mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_KEY_MODE]); in llsec_parse_dev()
1016 static int llsec_add_dev(struct net_device *dev, struct genl_info *info) in llsec_add_dev() argument
1021 if (llsec_parse_dev(info, &desc)) in llsec_add_dev()
1027 int ieee802154_llsec_add_dev(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_dev() argument
1029 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_dev()
1033 return ieee802154_nl_llsec_change(skb, info, llsec_add_dev); in ieee802154_llsec_add_dev()
1036 static int llsec_del_dev(struct net_device *dev, struct genl_info *info) in llsec_del_dev() argument
1041 if (!info->attrs[IEEE802154_ATTR_HW_ADDR]) in llsec_del_dev()
1044 devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_del_dev()
1049 int ieee802154_llsec_del_dev(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_dev() argument
1051 return ieee802154_nl_llsec_change(skb, info, llsec_del_dev); in ieee802154_llsec_del_dev()
1114 static int llsec_add_devkey(struct net_device *dev, struct genl_info *info) in llsec_add_devkey() argument
1120 if (!info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER] || in llsec_add_devkey()
1121 !info->attrs[IEEE802154_ATTR_HW_ADDR] || in llsec_add_devkey()
1122 ieee802154_llsec_parse_key_id(info, &key.key_id)) in llsec_add_devkey()
1125 devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_add_devkey()
1126 key.frame_counter = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]); in llsec_add_devkey()
1131 int ieee802154_llsec_add_devkey(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_devkey() argument
1133 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_devkey()
1137 return ieee802154_nl_llsec_change(skb, info, llsec_add_devkey); in ieee802154_llsec_add_devkey()
1140 static int llsec_del_devkey(struct net_device *dev, struct genl_info *info) in llsec_del_devkey() argument
1146 if (!info->attrs[IEEE802154_ATTR_HW_ADDR] || in llsec_del_devkey()
1147 ieee802154_llsec_parse_key_id(info, &key.key_id)) in llsec_del_devkey()
1150 devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_del_devkey()
1155 int ieee802154_llsec_del_devkey(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_devkey() argument
1157 return ieee802154_nl_llsec_change(skb, info, llsec_del_devkey); in ieee802154_llsec_del_devkey()
1229 llsec_parse_seclevel(struct genl_info *info, in llsec_parse_seclevel() argument
1234 if (!info->attrs[IEEE802154_ATTR_LLSEC_FRAME_TYPE] || in llsec_parse_seclevel()
1235 !info->attrs[IEEE802154_ATTR_LLSEC_SECLEVELS] || in llsec_parse_seclevel()
1236 !info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]) in llsec_parse_seclevel()
1239 sl->frame_type = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_TYPE]); in llsec_parse_seclevel()
1241 if (!info->attrs[IEEE802154_ATTR_LLSEC_CMD_FRAME_ID]) in llsec_parse_seclevel()
1244 sl->cmd_frame_id = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_CMD_FRAME_ID]); in llsec_parse_seclevel()
1247 sl->sec_levels = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_SECLEVELS]); in llsec_parse_seclevel()
1248 sl->device_override = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]); in llsec_parse_seclevel()
1253 static int llsec_add_seclevel(struct net_device *dev, struct genl_info *info) in llsec_add_seclevel() argument
1258 if (llsec_parse_seclevel(info, &sl)) in llsec_add_seclevel()
1264 int ieee802154_llsec_add_seclevel(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_seclevel() argument
1266 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_seclevel()
1270 return ieee802154_nl_llsec_change(skb, info, llsec_add_seclevel); in ieee802154_llsec_add_seclevel()
1273 static int llsec_del_seclevel(struct net_device *dev, struct genl_info *info) in llsec_del_seclevel() argument
1278 if (llsec_parse_seclevel(info, &sl)) in llsec_del_seclevel()
1284 int ieee802154_llsec_del_seclevel(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_seclevel() argument
1286 return ieee802154_nl_llsec_change(skb, info, llsec_del_seclevel); in ieee802154_llsec_del_seclevel()