[PATCH] include: net: cfg802154: rename ieee802154_llsec_device.hwaddr to extended_addr

Subsystems: ieee 802.15.4 subsystem, networking [general], the rest

STALE3709d

4 messages, 2 authors, 2016-06-21 · open the first message on its own page

[PATCH] include: net: cfg802154: rename ieee802154_llsec_device.hwaddr to extended_addr

From: Thomas Rowland <hidden>
Date: 2016-06-21 10:23:59

Renamed the ieee802154_llsec_device member 'hwaddr' to 'extended_addr'

Signed-off-by: Thomas Rowland <redacted>
---
 include/net/cfg802154.h   |  2 +-
 net/ieee802154/nl802154.c | 15 +++++----------
 net/mac802154/llsec.c     |  4 ++--
 3 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/include/net/cfg802154.h b/include/net/cfg802154.h
index 171cd76..1b5bb10 100644
--- a/include/net/cfg802154.h
+++ b/include/net/cfg802154.h
@@ -292,7 +292,7 @@ struct ieee802154_llsec_device {
 
 	__le16 pan_id;
 	__le16 short_addr;
-	__le64 hwaddr;
+	__le64 extended_addr;
 	u32 frame_counter;
 	bool seclevel_exempt;
 
diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c
index 116187b..f0cb080 100644
--- a/net/ieee802154/nl802154.c
+++ b/net/ieee802154/nl802154.c
@@ -1628,7 +1628,7 @@ static int nl802154_send_device(struct sk_buff *msg, u32 cmd, u32 portid,
 	    nla_put_le16(msg, NL802154_DEV_ATTR_SHORT_ADDR,
 			 dev_desc->short_addr) ||
 	    nla_put_le64(msg, NL802154_DEV_ATTR_EXTENDED_ADDR,
-			 dev_desc->hwaddr, NL802154_DEV_ATTR_PAD) ||
+			 dev_desc->extended_addr, NL802154_DEV_ATTR_PAD) ||
 	    nla_put_u8(msg, NL802154_DEV_ATTR_SECLEVEL_EXEMPT,
 		       dev_desc->seclevel_exempt) ||
 	    nla_put_u32(msg, NL802154_DEV_ATTR_KEY_MODE, dev_desc->key_mode))
@@ -1725,8 +1725,7 @@ ieee802154_llsec_parse_device(struct nlattr *nla,
 	dev->frame_counter = nla_get_u32(attrs[NL802154_DEV_ATTR_FRAME_COUNTER]);
 	dev->pan_id = nla_get_le16(attrs[NL802154_DEV_ATTR_PAN_ID]);
 	dev->short_addr = nla_get_le16(attrs[NL802154_DEV_ATTR_SHORT_ADDR]);
-	/* TODO rename hwaddr to extended_addr */
-	dev->hwaddr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]);
+	dev->extended_addr = nla_get_le64(attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]);
 	dev->seclevel_exempt = nla_get_u8(attrs[NL802154_DEV_ATTR_SECLEVEL_EXEMPT]);
 	dev->key_mode = nla_get_u32(attrs[NL802154_DEV_ATTR_KEY_MODE]);
 
@@ -1850,7 +1849,7 @@ nl802154_dump_llsec_devkey(struct sk_buff *skb, struct netlink_callback *cb)
 						 cb->nlh->nlmsg_seq,
 						 NLM_F_MULTI, rdev,
 						 wpan_dev->netdev,
-						 dpos->hwaddr,
+						 dpos->extended_addr,
 						 kpos) < 0) {
 				/* TODO */
 				err = -EIO;
@@ -1903,9 +1902,7 @@ static int nl802154_add_llsec_devkey(struct sk_buff *skb, struct genl_info *info
 
 	/* TODO be32 */
 	key.frame_counter = nla_get_u32(attrs[NL802154_DEVKEY_ATTR_FRAME_COUNTER]);
-	/* TODO change naming hwaddr -> extended_addr
-	 * check unique identifier short+pan OR extended_addr
-	 */
+	/* TODO check unique identifier short+pan OR extended_addr */
 	extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]);
 	return rdev_add_devkey(rdev, wpan_dev, extended_addr, &key);
 }
@@ -1932,9 +1929,7 @@ static int nl802154_del_llsec_devkey(struct sk_buff *skb, struct genl_info *info
 					  &key.key_id) < 0)
 		return -ENOBUFS;
 
-	/* TODO change naming hwaddr -> extended_addr
-	 * check unique identifier short+pan OR extended_addr
-	 */
+	/* TODO check unique identifier short+pan OR extended_addr */
 	extended_addr = nla_get_le64(attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]);
 	return rdev_del_devkey(rdev, wpan_dev, extended_addr, &key);
 }
diff --git a/net/mac802154/llsec.c b/net/mac802154/llsec.c
index 6a3e1c2..e8a1f76 100644
--- a/net/mac802154/llsec.c
+++ b/net/mac802154/llsec.c
@@ -358,13 +358,13 @@ int mac802154_llsec_dev_add(struct mac802154_llsec *sec,
 {
 	struct mac802154_llsec_device *entry;
 	u32 skey = llsec_dev_hash_short(dev->short_addr, dev->pan_id);
-	u64 hwkey = llsec_dev_hash_long(dev->hwaddr);
+	u64 hwkey = llsec_dev_hash_long(dev->extended_addr);
 
 	BUILD_BUG_ON(sizeof(hwkey) != IEEE802154_ADDR_LEN);
 
 	if ((llsec_dev_use_shortaddr(dev->short_addr) &&
 	     llsec_dev_find_short(sec, dev->short_addr, dev->pan_id)) ||
-	     llsec_dev_find_long(sec, dev->hwaddr))
+	     llsec_dev_find_long(sec, dev->extended_addr))
 		return -EEXIST;
 
 	entry = kmalloc(sizeof(*entry), GFP_KERNEL);
-- 
2.1.4

Re: [PATCH] include: net: cfg802154: rename ieee802154_llsec_device.hwaddr to extended_addr

From: kbuild test robot <hidden>
Date: 2016-06-21 10:50:33

Hi,

[auto build test ERROR on net-next/master]
[also build test ERROR on v4.7-rc4 next-20160621]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Thomas-Rowland/include-net-cfg802154-rename-ieee802154_llsec_device-hwaddr-to-extended_addr/20160621-182617
config: sparc64-allyesconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 5.3.1-8) 5.3.1 20160205
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

   net/mac802154/llsec.c: In function 'llsec_dev_find_long':
quoted
net/mac802154/llsec.c:333:15: error: 'struct ieee802154_llsec_device' has no member named 'hwaddr'
      if (dev->dev.hwaddr == hwaddr)
                  ^
   net/mac802154/llsec.c: In function 'llsec_lookup_dev':
   net/mac802154/llsec.c:799:16: error: 'struct ieee802154_llsec_device' has no member named 'hwaddr'
       if (dev->dev.hwaddr == devaddr.extended_addr)
                   ^
   net/mac802154/llsec.c: In function 'mac802154_llsec_decrypt':
   net/mac802154/llsec.c:1037:21: error: 'struct ieee802154_llsec_device' has no member named 'hwaddr'
     dev_addr = dev->dev.hwaddr;
                        ^

vim +333 net/mac802154/llsec.c

5d637d5a Phoebe Buckheister 2014-05-16  327  llsec_dev_find_long(struct mac802154_llsec *sec, __le64 hwaddr)
5d637d5a Phoebe Buckheister 2014-05-16  328  {
5d637d5a Phoebe Buckheister 2014-05-16  329  	struct mac802154_llsec_device *dev;
5d637d5a Phoebe Buckheister 2014-05-16  330  	u64 key = llsec_dev_hash_long(hwaddr);
5d637d5a Phoebe Buckheister 2014-05-16  331  
5d637d5a Phoebe Buckheister 2014-05-16  332  	hash_for_each_possible_rcu(sec->devices_hw, dev, bucket_hw, key) {
5d637d5a Phoebe Buckheister 2014-05-16 @333  		if (dev->dev.hwaddr == hwaddr)
5d637d5a Phoebe Buckheister 2014-05-16  334  			return dev;
5d637d5a Phoebe Buckheister 2014-05-16  335  	}
5d637d5a Phoebe Buckheister 2014-05-16  336  

:::::: The code at line 333 was first introduced by commit
:::::: 5d637d5aabd85132bd85779677d8acb708e0ed90 mac802154: add llsec structures and mutators

:::::: TO: Phoebe Buckheister [off-list ref]
:::::: CC: David S. Miller [off-list ref]

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Re: [PATCH] include: net: cfg802154: rename ieee802154_llsec_device.hwaddr to extended_addr

From: kbuild test robot <hidden>
Date: 2016-06-21 11:29:42

Hi,

[auto build test ERROR on net-next/master]
[also build test ERROR on v4.7-rc4 next-20160621]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Thomas-Rowland/include-net-cfg802154-rename-ieee802154_llsec_device-hwaddr-to-extended_addr/20160621-182617
config: x86_64-allyesdebian (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   net/ieee802154/nl-mac.c: In function 'llsec_parse_dev':
quoted
net/ieee802154/nl-mac.c:1003:5: error: 'struct ieee802154_llsec_device' has no member named 'hwaddr'; did you mean 'short_addr'?
     dev->hwaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]);
        ^~
   net/ieee802154/nl-mac.c: In function 'ieee802154_nl_fill_dev':
quoted
net/ieee802154/nl-mac.c:1069:55: error: 'const struct ieee802154_llsec_device' has no member named 'hwaddr'; did you mean 'short_addr'?
         nla_put_hwaddr(msg, IEEE802154_ATTR_HW_ADDR, desc->hwaddr,
                                                          ^~
   net/ieee802154/nl-mac.c: In function 'llsec_iter_devkeys':
   net/ieee802154/nl-mac.c:1208:17: error: 'struct ieee802154_llsec_device' has no member named 'hwaddr'; did you mean 'short_addr'?
                dpos->hwaddr, kpos,
                    ^~

vim +1003 net/ieee802154/nl-mac.c

3e9c156e Phoebe Buckheister 2014-05-16   997  		dev->pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]);
3e9c156e Phoebe Buckheister 2014-05-16   998  		dev->short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]);
3e9c156e Phoebe Buckheister 2014-05-16   999  	} else {
3e9c156e Phoebe Buckheister 2014-05-16  1000  		dev->short_addr = cpu_to_le16(IEEE802154_ADDR_UNDEF);
3e9c156e Phoebe Buckheister 2014-05-16  1001  	}
3e9c156e Phoebe Buckheister 2014-05-16  1002  
3e9c156e Phoebe Buckheister 2014-05-16 @1003  	dev->hwaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]);
3e9c156e Phoebe Buckheister 2014-05-16  1004  	dev->frame_counter = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]);
3e9c156e Phoebe Buckheister 2014-05-16  1005  	dev->seclevel_exempt = !!nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]);
3e9c156e Phoebe Buckheister 2014-05-16  1006  	dev->key_mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_KEY_MODE]);
3e9c156e Phoebe Buckheister 2014-05-16  1007  
3e9c156e Phoebe Buckheister 2014-05-16  1008  	if (dev->key_mode >= __IEEE802154_LLSEC_DEVKEY_MAX)
3e9c156e Phoebe Buckheister 2014-05-16  1009  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1010  
3e9c156e Phoebe Buckheister 2014-05-16  1011  	return 0;
3e9c156e Phoebe Buckheister 2014-05-16  1012  }
3e9c156e Phoebe Buckheister 2014-05-16  1013  
3e9c156e Phoebe Buckheister 2014-05-16  1014  static int llsec_add_dev(struct net_device *dev, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1015  {
3e9c156e Phoebe Buckheister 2014-05-16  1016  	struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev);
3e9c156e Phoebe Buckheister 2014-05-16  1017  	struct ieee802154_llsec_device desc;
3e9c156e Phoebe Buckheister 2014-05-16  1018  
3e9c156e Phoebe Buckheister 2014-05-16  1019  	if (llsec_parse_dev(info, &desc))
3e9c156e Phoebe Buckheister 2014-05-16  1020  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1021  
3e9c156e Phoebe Buckheister 2014-05-16  1022  	return ops->llsec->add_dev(dev, &desc);
3e9c156e Phoebe Buckheister 2014-05-16  1023  }
3e9c156e Phoebe Buckheister 2014-05-16  1024  
3e9c156e Phoebe Buckheister 2014-05-16  1025  int ieee802154_llsec_add_dev(struct sk_buff *skb, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1026  {
3e9c156e Phoebe Buckheister 2014-05-16  1027  	if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) !=
3e9c156e Phoebe Buckheister 2014-05-16  1028  	    (NLM_F_CREATE | NLM_F_EXCL))
3e9c156e Phoebe Buckheister 2014-05-16  1029  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1030  
3e9c156e Phoebe Buckheister 2014-05-16  1031  	return ieee802154_nl_llsec_change(skb, info, llsec_add_dev);
3e9c156e Phoebe Buckheister 2014-05-16  1032  }
3e9c156e Phoebe Buckheister 2014-05-16  1033  
3e9c156e Phoebe Buckheister 2014-05-16  1034  static int llsec_del_dev(struct net_device *dev, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1035  {
3e9c156e Phoebe Buckheister 2014-05-16  1036  	struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev);
3e9c156e Phoebe Buckheister 2014-05-16  1037  	__le64 devaddr;
3e9c156e Phoebe Buckheister 2014-05-16  1038  
3e9c156e Phoebe Buckheister 2014-05-16  1039  	if (!info->attrs[IEEE802154_ATTR_HW_ADDR])
3e9c156e Phoebe Buckheister 2014-05-16  1040  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1041  
3e9c156e Phoebe Buckheister 2014-05-16  1042  	devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]);
3e9c156e Phoebe Buckheister 2014-05-16  1043  
3e9c156e Phoebe Buckheister 2014-05-16  1044  	return ops->llsec->del_dev(dev, devaddr);
3e9c156e Phoebe Buckheister 2014-05-16  1045  }
3e9c156e Phoebe Buckheister 2014-05-16  1046  
3e9c156e Phoebe Buckheister 2014-05-16  1047  int ieee802154_llsec_del_dev(struct sk_buff *skb, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1048  {
3e9c156e Phoebe Buckheister 2014-05-16  1049  	return ieee802154_nl_llsec_change(skb, info, llsec_del_dev);
3e9c156e Phoebe Buckheister 2014-05-16  1050  }
3e9c156e Phoebe Buckheister 2014-05-16  1051  
3e9c156e Phoebe Buckheister 2014-05-16  1052  static int
3e9c156e Phoebe Buckheister 2014-05-16  1053  ieee802154_nl_fill_dev(struct sk_buff *msg, u32 portid, u32 seq,
3e9c156e Phoebe Buckheister 2014-05-16  1054  		       const struct ieee802154_llsec_device *desc,
3e9c156e Phoebe Buckheister 2014-05-16  1055  		       const struct net_device *dev)
3e9c156e Phoebe Buckheister 2014-05-16  1056  {
3e9c156e Phoebe Buckheister 2014-05-16  1057  	void *hdr;
3e9c156e Phoebe Buckheister 2014-05-16  1058  
3e9c156e Phoebe Buckheister 2014-05-16  1059  	hdr = genlmsg_put(msg, 0, seq, &nl802154_family, NLM_F_MULTI,
3e9c156e Phoebe Buckheister 2014-05-16  1060  			  IEEE802154_LLSEC_LIST_DEV);
3e9c156e Phoebe Buckheister 2014-05-16  1061  	if (!hdr)
3e9c156e Phoebe Buckheister 2014-05-16  1062  		goto out;
3e9c156e Phoebe Buckheister 2014-05-16  1063  
3e9c156e Phoebe Buckheister 2014-05-16  1064  	if (nla_put_string(msg, IEEE802154_ATTR_DEV_NAME, dev->name) ||
3e9c156e Phoebe Buckheister 2014-05-16  1065  	    nla_put_u32(msg, IEEE802154_ATTR_DEV_INDEX, dev->ifindex) ||
3e9c156e Phoebe Buckheister 2014-05-16  1066  	    nla_put_shortaddr(msg, IEEE802154_ATTR_PAN_ID, desc->pan_id) ||
3e9c156e Phoebe Buckheister 2014-05-16  1067  	    nla_put_shortaddr(msg, IEEE802154_ATTR_SHORT_ADDR,
3e9c156e Phoebe Buckheister 2014-05-16  1068  			      desc->short_addr) ||
a558da09 Nicolas Dichtel    2016-04-25 @1069  	    nla_put_hwaddr(msg, IEEE802154_ATTR_HW_ADDR, desc->hwaddr,
a558da09 Nicolas Dichtel    2016-04-25  1070  			   IEEE802154_ATTR_PAD) ||
3e9c156e Phoebe Buckheister 2014-05-16  1071  	    nla_put_u32(msg, IEEE802154_ATTR_LLSEC_FRAME_COUNTER,
3e9c156e Phoebe Buckheister 2014-05-16  1072  			desc->frame_counter) ||

:::::: The code at line 1003 was first introduced by commit
:::::: 3e9c156e2c210ab67b12b1b692983a6b97c19d3f ieee802154: add netlink interfaces for llsec

:::::: TO: Phoebe Buckheister [off-list ref]
:::::: CC: David S. Miller [off-list ref]

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Re: [PATCH] include: net: cfg802154: rename ieee802154_llsec_device.hwaddr to extended_addr

From: kbuild test robot <hidden>
Date: 2016-06-21 11:31:35

Hi,

[auto build test ERROR on net-next/master]
[also build test ERROR on v4.7-rc4 next-20160621]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Thomas-Rowland/include-net-cfg802154-rename-ieee802154_llsec_device-hwaddr-to-extended_addr/20160621-182617
config: x86_64-rhel (attached as .config)
compiler: gcc-4.9 (Debian 4.9.3-14) 4.9.3
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   net/ieee802154/nl-mac.c: In function 'llsec_parse_dev':
quoted
net/ieee802154/nl-mac.c:1003:5: error: 'struct ieee802154_llsec_device' has no member named 'hwaddr'
     dev->hwaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]);
        ^
   net/ieee802154/nl-mac.c: In function 'ieee802154_nl_fill_dev':
quoted
net/ieee802154/nl-mac.c:1069:55: error: 'const struct ieee802154_llsec_device' has no member named 'hwaddr'
         nla_put_hwaddr(msg, IEEE802154_ATTR_HW_ADDR, desc->hwaddr,
                                                          ^
   net/ieee802154/nl-mac.c: In function 'llsec_iter_devkeys':
   net/ieee802154/nl-mac.c:1208:17: error: 'struct ieee802154_llsec_device' has no member named 'hwaddr'
                dpos->hwaddr, kpos,
                    ^

vim +1003 net/ieee802154/nl-mac.c

3e9c156e Phoebe Buckheister 2014-05-16   997  		dev->pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]);
3e9c156e Phoebe Buckheister 2014-05-16   998  		dev->short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]);
3e9c156e Phoebe Buckheister 2014-05-16   999  	} else {
3e9c156e Phoebe Buckheister 2014-05-16  1000  		dev->short_addr = cpu_to_le16(IEEE802154_ADDR_UNDEF);
3e9c156e Phoebe Buckheister 2014-05-16  1001  	}
3e9c156e Phoebe Buckheister 2014-05-16  1002  
3e9c156e Phoebe Buckheister 2014-05-16 @1003  	dev->hwaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]);
3e9c156e Phoebe Buckheister 2014-05-16  1004  	dev->frame_counter = nla_get_u32(info->attrs[IEEE802154_ATTR_LLSEC_FRAME_COUNTER]);
3e9c156e Phoebe Buckheister 2014-05-16  1005  	dev->seclevel_exempt = !!nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_OVERRIDE]);
3e9c156e Phoebe Buckheister 2014-05-16  1006  	dev->key_mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_DEV_KEY_MODE]);
3e9c156e Phoebe Buckheister 2014-05-16  1007  
3e9c156e Phoebe Buckheister 2014-05-16  1008  	if (dev->key_mode >= __IEEE802154_LLSEC_DEVKEY_MAX)
3e9c156e Phoebe Buckheister 2014-05-16  1009  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1010  
3e9c156e Phoebe Buckheister 2014-05-16  1011  	return 0;
3e9c156e Phoebe Buckheister 2014-05-16  1012  }
3e9c156e Phoebe Buckheister 2014-05-16  1013  
3e9c156e Phoebe Buckheister 2014-05-16  1014  static int llsec_add_dev(struct net_device *dev, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1015  {
3e9c156e Phoebe Buckheister 2014-05-16  1016  	struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev);
3e9c156e Phoebe Buckheister 2014-05-16  1017  	struct ieee802154_llsec_device desc;
3e9c156e Phoebe Buckheister 2014-05-16  1018  
3e9c156e Phoebe Buckheister 2014-05-16  1019  	if (llsec_parse_dev(info, &desc))
3e9c156e Phoebe Buckheister 2014-05-16  1020  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1021  
3e9c156e Phoebe Buckheister 2014-05-16  1022  	return ops->llsec->add_dev(dev, &desc);
3e9c156e Phoebe Buckheister 2014-05-16  1023  }
3e9c156e Phoebe Buckheister 2014-05-16  1024  
3e9c156e Phoebe Buckheister 2014-05-16  1025  int ieee802154_llsec_add_dev(struct sk_buff *skb, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1026  {
3e9c156e Phoebe Buckheister 2014-05-16  1027  	if ((info->nlhdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_EXCL)) !=
3e9c156e Phoebe Buckheister 2014-05-16  1028  	    (NLM_F_CREATE | NLM_F_EXCL))
3e9c156e Phoebe Buckheister 2014-05-16  1029  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1030  
3e9c156e Phoebe Buckheister 2014-05-16  1031  	return ieee802154_nl_llsec_change(skb, info, llsec_add_dev);
3e9c156e Phoebe Buckheister 2014-05-16  1032  }
3e9c156e Phoebe Buckheister 2014-05-16  1033  
3e9c156e Phoebe Buckheister 2014-05-16  1034  static int llsec_del_dev(struct net_device *dev, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1035  {
3e9c156e Phoebe Buckheister 2014-05-16  1036  	struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev);
3e9c156e Phoebe Buckheister 2014-05-16  1037  	__le64 devaddr;
3e9c156e Phoebe Buckheister 2014-05-16  1038  
3e9c156e Phoebe Buckheister 2014-05-16  1039  	if (!info->attrs[IEEE802154_ATTR_HW_ADDR])
3e9c156e Phoebe Buckheister 2014-05-16  1040  		return -EINVAL;
3e9c156e Phoebe Buckheister 2014-05-16  1041  
3e9c156e Phoebe Buckheister 2014-05-16  1042  	devaddr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]);
3e9c156e Phoebe Buckheister 2014-05-16  1043  
3e9c156e Phoebe Buckheister 2014-05-16  1044  	return ops->llsec->del_dev(dev, devaddr);
3e9c156e Phoebe Buckheister 2014-05-16  1045  }
3e9c156e Phoebe Buckheister 2014-05-16  1046  
3e9c156e Phoebe Buckheister 2014-05-16  1047  int ieee802154_llsec_del_dev(struct sk_buff *skb, struct genl_info *info)
3e9c156e Phoebe Buckheister 2014-05-16  1048  {
3e9c156e Phoebe Buckheister 2014-05-16  1049  	return ieee802154_nl_llsec_change(skb, info, llsec_del_dev);
3e9c156e Phoebe Buckheister 2014-05-16  1050  }
3e9c156e Phoebe Buckheister 2014-05-16  1051  
3e9c156e Phoebe Buckheister 2014-05-16  1052  static int
3e9c156e Phoebe Buckheister 2014-05-16  1053  ieee802154_nl_fill_dev(struct sk_buff *msg, u32 portid, u32 seq,
3e9c156e Phoebe Buckheister 2014-05-16  1054  		       const struct ieee802154_llsec_device *desc,
3e9c156e Phoebe Buckheister 2014-05-16  1055  		       const struct net_device *dev)
3e9c156e Phoebe Buckheister 2014-05-16  1056  {
3e9c156e Phoebe Buckheister 2014-05-16  1057  	void *hdr;
3e9c156e Phoebe Buckheister 2014-05-16  1058  
3e9c156e Phoebe Buckheister 2014-05-16  1059  	hdr = genlmsg_put(msg, 0, seq, &nl802154_family, NLM_F_MULTI,
3e9c156e Phoebe Buckheister 2014-05-16  1060  			  IEEE802154_LLSEC_LIST_DEV);
3e9c156e Phoebe Buckheister 2014-05-16  1061  	if (!hdr)
3e9c156e Phoebe Buckheister 2014-05-16  1062  		goto out;
3e9c156e Phoebe Buckheister 2014-05-16  1063  
3e9c156e Phoebe Buckheister 2014-05-16  1064  	if (nla_put_string(msg, IEEE802154_ATTR_DEV_NAME, dev->name) ||
3e9c156e Phoebe Buckheister 2014-05-16  1065  	    nla_put_u32(msg, IEEE802154_ATTR_DEV_INDEX, dev->ifindex) ||
3e9c156e Phoebe Buckheister 2014-05-16  1066  	    nla_put_shortaddr(msg, IEEE802154_ATTR_PAN_ID, desc->pan_id) ||
3e9c156e Phoebe Buckheister 2014-05-16  1067  	    nla_put_shortaddr(msg, IEEE802154_ATTR_SHORT_ADDR,
3e9c156e Phoebe Buckheister 2014-05-16  1068  			      desc->short_addr) ||
a558da09 Nicolas Dichtel    2016-04-25 @1069  	    nla_put_hwaddr(msg, IEEE802154_ATTR_HW_ADDR, desc->hwaddr,
a558da09 Nicolas Dichtel    2016-04-25  1070  			   IEEE802154_ATTR_PAD) ||
3e9c156e Phoebe Buckheister 2014-05-16  1071  	    nla_put_u32(msg, IEEE802154_ATTR_LLSEC_FRAME_COUNTER,
3e9c156e Phoebe Buckheister 2014-05-16  1072  			desc->frame_counter) ||

:::::: The code at line 1003 was first introduced by commit
:::::: 3e9c156e2c210ab67b12b1b692983a6b97c19d3f ieee802154: add netlink interfaces for llsec

:::::: TO: Phoebe Buckheister [off-list ref]
:::::: CC: David S. Miller [off-list ref]

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help