Lines Matching refs:info

151 static struct net_device *ieee802154_nl_get_dev(struct genl_info *info)  in ieee802154_nl_get_dev()  argument
155 if (info->attrs[IEEE802154_ATTR_DEV_NAME]) { in ieee802154_nl_get_dev()
158 nla_strlcpy(name, info->attrs[IEEE802154_ATTR_DEV_NAME], in ieee802154_nl_get_dev()
161 } else if (info->attrs[IEEE802154_ATTR_DEV_INDEX]) { in ieee802154_nl_get_dev()
163 nla_get_u32(info->attrs[IEEE802154_ATTR_DEV_INDEX])); in ieee802154_nl_get_dev()
179 int ieee802154_associate_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_associate_req() argument
186 if (!info->attrs[IEEE802154_ATTR_CHANNEL] || in ieee802154_associate_req()
187 !info->attrs[IEEE802154_ATTR_COORD_PAN_ID] || in ieee802154_associate_req()
188 (!info->attrs[IEEE802154_ATTR_COORD_HW_ADDR] && in ieee802154_associate_req()
189 !info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR]) || in ieee802154_associate_req()
190 !info->attrs[IEEE802154_ATTR_CAPABILITY]) in ieee802154_associate_req()
193 dev = ieee802154_nl_get_dev(info); in ieee802154_associate_req()
199 if (info->attrs[IEEE802154_ATTR_COORD_HW_ADDR]) { in ieee802154_associate_req()
202 info->attrs[IEEE802154_ATTR_COORD_HW_ADDR]); in ieee802154_associate_req()
206 info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR]); in ieee802154_associate_req()
209 info->attrs[IEEE802154_ATTR_COORD_PAN_ID]); in ieee802154_associate_req()
211 if (info->attrs[IEEE802154_ATTR_PAGE]) in ieee802154_associate_req()
212 page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]); in ieee802154_associate_req()
217 nla_get_u8(info->attrs[IEEE802154_ATTR_CHANNEL]), in ieee802154_associate_req()
219 nla_get_u8(info->attrs[IEEE802154_ATTR_CAPABILITY])); in ieee802154_associate_req()
226 int ieee802154_associate_resp(struct sk_buff *skb, struct genl_info *info) in ieee802154_associate_resp() argument
232 if (!info->attrs[IEEE802154_ATTR_STATUS] || in ieee802154_associate_resp()
233 !info->attrs[IEEE802154_ATTR_DEST_HW_ADDR] || in ieee802154_associate_resp()
234 !info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]) in ieee802154_associate_resp()
237 dev = ieee802154_nl_get_dev(info); in ieee802154_associate_resp()
245 info->attrs[IEEE802154_ATTR_DEST_HW_ADDR]); in ieee802154_associate_resp()
251 nla_get_shortaddr(info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]), in ieee802154_associate_resp()
252 nla_get_u8(info->attrs[IEEE802154_ATTR_STATUS])); in ieee802154_associate_resp()
259 int ieee802154_disassociate_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_disassociate_req() argument
265 if ((!info->attrs[IEEE802154_ATTR_DEST_HW_ADDR] && in ieee802154_disassociate_req()
266 !info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]) || in ieee802154_disassociate_req()
267 !info->attrs[IEEE802154_ATTR_REASON]) in ieee802154_disassociate_req()
270 dev = ieee802154_nl_get_dev(info); in ieee802154_disassociate_req()
276 if (info->attrs[IEEE802154_ATTR_DEST_HW_ADDR]) { in ieee802154_disassociate_req()
279 info->attrs[IEEE802154_ATTR_DEST_HW_ADDR]); in ieee802154_disassociate_req()
283 info->attrs[IEEE802154_ATTR_DEST_SHORT_ADDR]); in ieee802154_disassociate_req()
290 nla_get_u8(info->attrs[IEEE802154_ATTR_REASON])); in ieee802154_disassociate_req()
301 int ieee802154_start_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_start_req() argument
311 if (!info->attrs[IEEE802154_ATTR_COORD_PAN_ID] || in ieee802154_start_req()
312 !info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR] || in ieee802154_start_req()
313 !info->attrs[IEEE802154_ATTR_CHANNEL] || in ieee802154_start_req()
314 !info->attrs[IEEE802154_ATTR_BCN_ORD] || in ieee802154_start_req()
315 !info->attrs[IEEE802154_ATTR_SF_ORD] || in ieee802154_start_req()
316 !info->attrs[IEEE802154_ATTR_PAN_COORD] || in ieee802154_start_req()
317 !info->attrs[IEEE802154_ATTR_BAT_EXT] || in ieee802154_start_req()
318 !info->attrs[IEEE802154_ATTR_COORD_REALIGN] in ieee802154_start_req()
322 dev = ieee802154_nl_get_dev(info); in ieee802154_start_req()
336 info->attrs[IEEE802154_ATTR_COORD_SHORT_ADDR]); in ieee802154_start_req()
338 info->attrs[IEEE802154_ATTR_COORD_PAN_ID]); in ieee802154_start_req()
340 channel = nla_get_u8(info->attrs[IEEE802154_ATTR_CHANNEL]); in ieee802154_start_req()
341 bcn_ord = nla_get_u8(info->attrs[IEEE802154_ATTR_BCN_ORD]); in ieee802154_start_req()
342 sf_ord = nla_get_u8(info->attrs[IEEE802154_ATTR_SF_ORD]); in ieee802154_start_req()
343 pan_coord = nla_get_u8(info->attrs[IEEE802154_ATTR_PAN_COORD]); in ieee802154_start_req()
344 blx = nla_get_u8(info->attrs[IEEE802154_ATTR_BAT_EXT]); in ieee802154_start_req()
345 coord_realign = nla_get_u8(info->attrs[IEEE802154_ATTR_COORD_REALIGN]); in ieee802154_start_req()
347 if (info->attrs[IEEE802154_ATTR_PAGE]) in ieee802154_start_req()
348 page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]); in ieee802154_start_req()
373 int ieee802154_scan_req(struct sk_buff *skb, struct genl_info *info) in ieee802154_scan_req() argument
382 if (!info->attrs[IEEE802154_ATTR_SCAN_TYPE] || in ieee802154_scan_req()
383 !info->attrs[IEEE802154_ATTR_CHANNELS] || in ieee802154_scan_req()
384 !info->attrs[IEEE802154_ATTR_DURATION]) in ieee802154_scan_req()
387 dev = ieee802154_nl_get_dev(info); in ieee802154_scan_req()
393 type = nla_get_u8(info->attrs[IEEE802154_ATTR_SCAN_TYPE]); in ieee802154_scan_req()
394 channels = nla_get_u32(info->attrs[IEEE802154_ATTR_CHANNELS]); in ieee802154_scan_req()
395 duration = nla_get_u8(info->attrs[IEEE802154_ATTR_DURATION]); in ieee802154_scan_req()
397 if (info->attrs[IEEE802154_ATTR_PAGE]) in ieee802154_scan_req()
398 page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]); in ieee802154_scan_req()
410 int ieee802154_list_iface(struct sk_buff *skb, struct genl_info *info) in ieee802154_list_iface() argument
421 dev = ieee802154_nl_get_dev(info); in ieee802154_list_iface()
429 rc = ieee802154_nl_fill_iface(msg, info->snd_portid, info->snd_seq, in ieee802154_list_iface()
436 return genlmsg_reply(msg, info); in ieee802154_list_iface()
470 int ieee802154_set_macparams(struct sk_buff *skb, struct genl_info *info) in ieee802154_set_macparams() argument
480 dev = ieee802154_nl_get_dev(info); in ieee802154_set_macparams()
496 if (!info->attrs[IEEE802154_ATTR_LBT_ENABLED] && in ieee802154_set_macparams()
497 !info->attrs[IEEE802154_ATTR_CCA_MODE] && in ieee802154_set_macparams()
498 !info->attrs[IEEE802154_ATTR_CCA_ED_LEVEL] && in ieee802154_set_macparams()
499 !info->attrs[IEEE802154_ATTR_CSMA_RETRIES] && in ieee802154_set_macparams()
500 !info->attrs[IEEE802154_ATTR_CSMA_MIN_BE] && in ieee802154_set_macparams()
501 !info->attrs[IEEE802154_ATTR_CSMA_MAX_BE] && in ieee802154_set_macparams()
502 !info->attrs[IEEE802154_ATTR_FRAME_RETRIES]) in ieee802154_set_macparams()
511 if (info->attrs[IEEE802154_ATTR_TXPOWER]) in ieee802154_set_macparams()
512 params.transmit_power = nla_get_s8(info->attrs[IEEE802154_ATTR_TXPOWER]) * 100; in ieee802154_set_macparams()
514 if (info->attrs[IEEE802154_ATTR_LBT_ENABLED]) in ieee802154_set_macparams()
515 params.lbt = nla_get_u8(info->attrs[IEEE802154_ATTR_LBT_ENABLED]); in ieee802154_set_macparams()
517 if (info->attrs[IEEE802154_ATTR_CCA_MODE]) in ieee802154_set_macparams()
518 params.cca.mode = nla_get_u8(info->attrs[IEEE802154_ATTR_CCA_MODE]); in ieee802154_set_macparams()
520 if (info->attrs[IEEE802154_ATTR_CCA_ED_LEVEL]) in ieee802154_set_macparams()
521 params.cca_ed_level = nla_get_s32(info->attrs[IEEE802154_ATTR_CCA_ED_LEVEL]) * 100; in ieee802154_set_macparams()
523 if (info->attrs[IEEE802154_ATTR_CSMA_RETRIES]) in ieee802154_set_macparams()
524 params.csma_retries = nla_get_u8(info->attrs[IEEE802154_ATTR_CSMA_RETRIES]); in ieee802154_set_macparams()
526 if (info->attrs[IEEE802154_ATTR_CSMA_MIN_BE]) in ieee802154_set_macparams()
527 params.min_be = nla_get_u8(info->attrs[IEEE802154_ATTR_CSMA_MIN_BE]); in ieee802154_set_macparams()
529 if (info->attrs[IEEE802154_ATTR_CSMA_MAX_BE]) in ieee802154_set_macparams()
530 params.max_be = nla_get_u8(info->attrs[IEEE802154_ATTR_CSMA_MAX_BE]); in ieee802154_set_macparams()
532 if (info->attrs[IEEE802154_ATTR_FRAME_RETRIES]) in ieee802154_set_macparams()
533 params.frame_retries = nla_get_s8(info->attrs[IEEE802154_ATTR_FRAME_RETRIES]); in ieee802154_set_macparams()
549 ieee802154_llsec_parse_key_id(struct genl_info *info, in ieee802154_llsec_parse_key_id() argument
554 if (!info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]) in ieee802154_llsec_parse_key_id()
557 desc->mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]); in ieee802154_llsec_parse_key_id()
560 if (!info->attrs[IEEE802154_ATTR_PAN_ID] && in ieee802154_llsec_parse_key_id()
561 !(info->attrs[IEEE802154_ATTR_SHORT_ADDR] || in ieee802154_llsec_parse_key_id()
562 info->attrs[IEEE802154_ATTR_HW_ADDR])) in ieee802154_llsec_parse_key_id()
565 desc->device_addr.pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]); in ieee802154_llsec_parse_key_id()
567 if (info->attrs[IEEE802154_ATTR_SHORT_ADDR]) { in ieee802154_llsec_parse_key_id()
569 desc->device_addr.short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]); in ieee802154_llsec_parse_key_id()
572 desc->device_addr.extended_addr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in ieee802154_llsec_parse_key_id()
577 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_ID]) in ieee802154_llsec_parse_key_id()
581 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT]) in ieee802154_llsec_parse_key_id()
585 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED]) in ieee802154_llsec_parse_key_id()
589 desc->id = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_ID]); in ieee802154_llsec_parse_key_id()
594 u32 source = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT]); in ieee802154_llsec_parse_key_id()
600 desc->extended_source = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED]); in ieee802154_llsec_parse_key_id()
647 int ieee802154_llsec_getparams(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_getparams() argument
658 dev = ieee802154_nl_get_dev(info); in ieee802154_llsec_getparams()
672 hdr = genlmsg_put(msg, 0, info->snd_seq, &nl802154_family, 0, in ieee802154_llsec_getparams()
692 return ieee802154_nl_reply(msg, info); in ieee802154_llsec_getparams()
700 int ieee802154_llsec_setparams(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_setparams() argument
710 dev = ieee802154_nl_get_dev(info); in ieee802154_llsec_setparams()
714 if (!info->attrs[IEEE802154_ATTR_LLSEC_ENABLED] && in ieee802154_llsec_setparams()
715 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE] && in ieee802154_llsec_setparams()
716 !info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]) in ieee802154_llsec_setparams()
725 if (info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL] && in ieee802154_llsec_setparams()
726 nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]) > 7) in ieee802154_llsec_setparams()
729 if (info->attrs[IEEE802154_ATTR_LLSEC_ENABLED]) { in ieee802154_llsec_setparams()
730 params.enabled = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_ENABLED]); in ieee802154_llsec_setparams()
734 if (info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]) { in ieee802154_llsec_setparams()
735 if (ieee802154_llsec_parse_key_id(info, &params.out_key)) in ieee802154_llsec_setparams()
741 if (info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]) { in ieee802154_llsec_setparams()
742 params.out_level = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_SECLEVEL]); in ieee802154_llsec_setparams()
746 if (info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]) { in ieee802154_llsec_setparams()
747 u32 fc = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]); in ieee802154_llsec_setparams()
816 ieee802154_nl_llsec_change(struct sk_buff *skb, struct genl_info *info, in ieee802154_nl_llsec_change() argument
822 dev = ieee802154_nl_get_dev(info); in ieee802154_nl_llsec_change()
829 rc = fn(dev, info); in ieee802154_nl_llsec_change()
836 ieee802154_llsec_parse_key(struct genl_info *info, in ieee802154_llsec_parse_key() argument
844 if (!info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES] || in ieee802154_llsec_parse_key()
845 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_BYTES]) in ieee802154_llsec_parse_key()
848 frames = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES]); in ieee802154_llsec_parse_key()
850 !info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS]) in ieee802154_llsec_parse_key()
853 if (info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS]) { in ieee802154_llsec_parse_key()
855 info->attrs[IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS], in ieee802154_llsec_parse_key()
868 nla_memcpy(key->key, info->attrs[IEEE802154_ATTR_LLSEC_KEY_BYTES], in ieee802154_llsec_parse_key()
874 static int llsec_add_key(struct net_device *dev, struct genl_info *info) in llsec_add_key() argument
880 if (ieee802154_llsec_parse_key(info, &key) || in llsec_add_key()
881 ieee802154_llsec_parse_key_id(info, &id)) in llsec_add_key()
887 int ieee802154_llsec_add_key(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_key() argument
889 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_key()
893 return ieee802154_nl_llsec_change(skb, info, llsec_add_key); in ieee802154_llsec_add_key()
896 static int llsec_remove_key(struct net_device *dev, struct genl_info *info) in llsec_remove_key() argument
901 if (ieee802154_llsec_parse_key_id(info, &id)) in llsec_remove_key()
907 int ieee802154_llsec_del_key(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_key() argument
909 return ieee802154_nl_llsec_change(skb, info, llsec_remove_key); in ieee802154_llsec_del_key()
980 llsec_parse_dev(struct genl_info *info, in llsec_parse_dev() argument
985 if (!info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER] || in llsec_parse_dev()
986 !info->attrs[IEEE802154_ATTR_HW_ADDR] || in llsec_parse_dev()
987 !info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE] || in llsec_parse_dev()
988 !info->attrs[IEEE802154_ATTR_LLSEC_DEV_KEY_MODE] || in llsec_parse_dev()
989 (!!info->attrs[IEEE802154_ATTR_PAN_ID] != in llsec_parse_dev()
990 !!info->attrs[IEEE802154_ATTR_SHORT_ADDR])) in llsec_parse_dev()
993 if (info->attrs[IEEE802154_ATTR_PAN_ID]) { in llsec_parse_dev()
994 dev->pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]); in llsec_parse_dev()
995 dev->short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]); in llsec_parse_dev()
1000 dev->hwaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_parse_dev()
1001 dev->frame_counter = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]); in llsec_parse_dev()
1002 dev->seclevel_exempt = !!nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]); in llsec_parse_dev()
1003 dev->key_mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_KEY_MODE]); in llsec_parse_dev()
1011 static int llsec_add_dev(struct net_device *dev, struct genl_info *info) in llsec_add_dev() argument
1016 if (llsec_parse_dev(info, &desc)) in llsec_add_dev()
1022 int ieee802154_llsec_add_dev(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_dev() argument
1024 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_dev()
1028 return ieee802154_nl_llsec_change(skb, info, llsec_add_dev); in ieee802154_llsec_add_dev()
1031 static int llsec_del_dev(struct net_device *dev, struct genl_info *info) in llsec_del_dev() argument
1036 if (!info->attrs[IEEE802154_ATTR_HW_ADDR]) in llsec_del_dev()
1039 devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_del_dev()
1044 int ieee802154_llsec_del_dev(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_dev() argument
1046 return ieee802154_nl_llsec_change(skb, info, llsec_del_dev); in ieee802154_llsec_del_dev()
1109 static int llsec_add_devkey(struct net_device *dev, struct genl_info *info) in llsec_add_devkey() argument
1115 if (!info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER] || in llsec_add_devkey()
1116 !info->attrs[IEEE802154_ATTR_HW_ADDR] || in llsec_add_devkey()
1117 ieee802154_llsec_parse_key_id(info, &key.key_id)) in llsec_add_devkey()
1120 devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_add_devkey()
1121 key.frame_counter = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]); in llsec_add_devkey()
1126 int ieee802154_llsec_add_devkey(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_devkey() argument
1128 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_devkey()
1132 return ieee802154_nl_llsec_change(skb, info, llsec_add_devkey); in ieee802154_llsec_add_devkey()
1135 static int llsec_del_devkey(struct net_device *dev, struct genl_info *info) in llsec_del_devkey() argument
1141 if (!info->attrs[IEEE802154_ATTR_HW_ADDR] || in llsec_del_devkey()
1142 ieee802154_llsec_parse_key_id(info, &key.key_id)) in llsec_del_devkey()
1145 devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); in llsec_del_devkey()
1150 int ieee802154_llsec_del_devkey(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_devkey() argument
1152 return ieee802154_nl_llsec_change(skb, info, llsec_del_devkey); in ieee802154_llsec_del_devkey()
1224 llsec_parse_seclevel(struct genl_info *info, in llsec_parse_seclevel() argument
1229 if (!info->attrs[IEEE802154_ATTR_LLSEC_FRAME_TYPE] || in llsec_parse_seclevel()
1230 !info->attrs[IEEE802154_ATTR_LLSEC_SECLEVELS] || in llsec_parse_seclevel()
1231 !info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]) in llsec_parse_seclevel()
1234 sl->frame_type = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_TYPE]); in llsec_parse_seclevel()
1236 if (!info->attrs[IEEE802154_ATTR_LLSEC_CMD_FRAME_ID]) in llsec_parse_seclevel()
1239 sl->cmd_frame_id = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_CMD_FRAME_ID]); in llsec_parse_seclevel()
1242 sl->sec_levels = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_SECLEVELS]); in llsec_parse_seclevel()
1243 sl->device_override = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]); in llsec_parse_seclevel()
1248 static int llsec_add_seclevel(struct net_device *dev, struct genl_info *info) in llsec_add_seclevel() argument
1253 if (llsec_parse_seclevel(info, &sl)) in llsec_add_seclevel()
1259 int ieee802154_llsec_add_seclevel(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_add_seclevel() argument
1261 if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) != in ieee802154_llsec_add_seclevel()
1265 return ieee802154_nl_llsec_change(skb, info, llsec_add_seclevel); in ieee802154_llsec_add_seclevel()
1268 static int llsec_del_seclevel(struct net_device *dev, struct genl_info *info) in llsec_del_seclevel() argument
1273 if (llsec_parse_seclevel(info, &sl)) in llsec_del_seclevel()
1279 int ieee802154_llsec_del_seclevel(struct sk_buff *skb, struct genl_info *info) in ieee802154_llsec_del_seclevel() argument
1281 return ieee802154_nl_llsec_change(skb, info, llsec_del_seclevel); in ieee802154_llsec_del_seclevel()