[PATCH 0/2] reuse eth_mac_addr()

STALE5211d

8 messages, 5 authors, 2012-04-27 · open the first message on its own page

[PATCH 0/2] reuse eth_mac_addr()

From: Danny Kukawka <hidden>
Date: 2012-02-22 12:37:05

Two patches to remove custom .ndo_set_mac_address methodes
and use eth_mac_addr() instead since these functions to the 
same as eth_mac_addr(). 

An advantage of this change: eth_mac_addr() already
checks if the given mac address is valid. 

Danny Kukawka (2):
  3com/typhoon: reuse eth_mac_addr()
  net/ieee802154/6lowpan.c: reuse eth_mac_addr()

 drivers/net/ethernet/3com/typhoon.c |   14 +-------------
 net/ieee802154/6lowpan.c            |   16 ++--------------
 2 files changed, 3 insertions(+), 27 deletions(-)

-- 
1.7.8.3

[PATCH 1/2] 3com/typhoon: reuse eth_mac_addr()

From: Danny Kukawka <hidden>
Date: 2012-02-22 12:36:59

Use eth_mac_addr() for .ndo_set_mac_address, remove
typhoon_set_mac_address() since it do currently the same as
eth_mac_addr(). Additional advantage: eth_mac_addr() already
checks if the given address is valid.

Signed-off-by: Danny Kukawka <redacted>
---
 drivers/net/ethernet/3com/typhoon.c |   14 +-------------
 1 files changed, 1 insertions(+), 13 deletions(-)
diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
index f7d622e..1234a14 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
@@ -966,18 +966,6 @@ typhoon_get_stats(struct net_device *dev)
 	return stats;
 }
 
-static int
-typhoon_set_mac_address(struct net_device *dev, void *addr)
-{
-	struct sockaddr *saddr = (struct sockaddr *) addr;
-
-	if(netif_running(dev))
-		return -EBUSY;
-
-	memcpy(dev->dev_addr, saddr->sa_data, dev->addr_len);
-	return 0;
-}
-
 static void
 typhoon_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
 {
@@ -2266,7 +2254,7 @@ static const struct net_device_ops typhoon_netdev_ops = {
 	.ndo_tx_timeout		= typhoon_tx_timeout,
 	.ndo_get_stats		= typhoon_get_stats,
 	.ndo_validate_addr	= eth_validate_addr,
-	.ndo_set_mac_address	= typhoon_set_mac_address,
+	.ndo_set_mac_address	= eth_mac_addr,
 	.ndo_change_mtu		= eth_change_mtu,
 };
 
-- 
1.7.8.3

[PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr()

From: Danny Kukawka <hidden>
Date: 2012-02-22 12:37:03

Use eth_mac_addr() for .ndo_set_mac_address, remove
lowpan_set_address since it do currently the same as
eth_mac_addr(). Additional advantage: eth_mac_addr() already
checks if the given address is valid

Signed-off-by: Danny Kukawka <redacted>
---
 net/ieee802154/6lowpan.c |   16 ++--------------
 1 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index e4ecc1e..3685158 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -55,6 +55,7 @@
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/netdevice.h>
+#include <linux/etherdevice.h>
 #include <net/af_ieee802154.h>
 #include <net/ieee802154.h>
 #include <net/ieee802154_netdev.h>
@@ -924,19 +925,6 @@ drop:
 	return -EINVAL;
 }
 
-static int lowpan_set_address(struct net_device *dev, void *p)
-{
-	struct sockaddr *sa = p;
-
-	if (netif_running(dev))
-		return -EBUSY;
-
-	/* TODO: validate addr */
-	memcpy(dev->dev_addr, sa->sa_data, dev->addr_len);
-
-	return 0;
-}
-
 static int lowpan_get_mac_header_length(struct sk_buff *skb)
 {
 	/*
@@ -1062,7 +1050,7 @@ static struct header_ops lowpan_header_ops = {
 
 static const struct net_device_ops lowpan_netdev_ops = {
 	.ndo_start_xmit		= lowpan_xmit,
-	.ndo_set_mac_address	= lowpan_set_address,
+	.ndo_set_mac_address	= eth_mac_addr,
 };
 
 static void lowpan_setup(struct net_device *dev)
-- 
1.7.8.3

Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr()

From: Dmitry Eremin-Solenikov <hidden>
Date: 2012-02-22 13:30:15

On Wed, Feb 22, 2012 at 4:36 PM, Danny Kukawka [off-list ref] wrote:
Use eth_mac_addr() for .ndo_set_mac_address, remove
lowpan_set_address since it do currently the same as
eth_mac_addr(). Additional advantage: eth_mac_addr() already
checks if the given address is valid

Signed-off-by: Danny Kukawka <redacted>
Acked-by: Dmitry Eremin-Solenikov <redacted>

-- 
With best wishes
Dmitry

Re: [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr()

From: David Dillow <dave@thedillows.org>
Date: 2012-02-22 13:55:26

On Wed, 2012-02-22 at 13:36 +0100, Danny Kukawka wrote:
Use eth_mac_addr() for .ndo_set_mac_address, remove
typhoon_set_mac_address() since it do currently the same as
eth_mac_addr(). Additional advantage: eth_mac_addr() already
checks if the given address is valid.

Signed-off-by: Danny Kukawka <redacted>
Acked-by: Dave Dillow <dave@thedillows.org>

Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr()

From: David Miller <davem@davemloft.net>
Date: 2012-02-22 19:56:58

From: Danny Kukawka <redacted>
Date: Wed, 22 Feb 2012 13:36:39 +0100
Use eth_mac_addr() for .ndo_set_mac_address, remove
lowpan_set_address since it do currently the same as
eth_mac_addr(). Additional advantage: eth_mac_addr() already
checks if the given address is valid

Signed-off-by: Danny Kukawka <redacted>
Applied.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/

Re: [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr()

From: David Miller <davem@davemloft.net>
Date: 2012-02-22 19:57:42

From: Danny Kukawka <redacted>
Date: Wed, 22 Feb 2012 13:36:38 +0100
Use eth_mac_addr() for .ndo_set_mac_address, remove
typhoon_set_mac_address() since it do currently the same as
eth_mac_addr(). Additional advantage: eth_mac_addr() already
checks if the given address is valid.

Signed-off-by: Danny Kukawka <redacted>
Applied.

Re: [Linux-zigbee-devel] [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr()

From: Tony Cheneau <hidden>
Date: 2012-04-27 20:29:19

Hello,

I believe the following patch should not have been applied and should 
now be reverted.
The reason is because eth_mac_addr() is not functionally equivalent to 
lowpan_set_address() that it replaces:
- lowpan_set_address() copies dev->addr_len bytes, where dev->addr_len 
is set to 8 bytes for IEEE802154 devices (this is an IEEE EUI-64 
address). Hence, the function copies the full 8 bytes of the address.
- eth_mac_addr() copies ETH_ALEN bytes, where ETH_ALEN is set to 6. 
Hence, the function copies only 6 bytes of the 8 bytes address. So, 2 
bytes of the address are never copied.

Does this sound reasonable?

Regards,
Tony


Le 22.02.2012 14:36, Danny Kukawka a écrit :
quoted hunk
Use eth_mac_addr() for .ndo_set_mac_address, remove
lowpan_set_address since it do currently the same as
eth_mac_addr(). Additional advantage: eth_mac_addr() already
checks if the given address is valid

Signed-off-by: Danny Kukawka <redacted>
---
 net/ieee802154/6lowpan.c |   16 ++--------------
 1 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index e4ecc1e..3685158 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -55,6 +55,7 @@
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/netdevice.h>
+#include <linux/etherdevice.h>
 #include <net/af_ieee802154.h>
 #include <net/ieee802154.h>
 #include <net/ieee802154_netdev.h>
@@ -924,19 +925,6 @@ drop:
 	return -EINVAL;
 }

-static int lowpan_set_address(struct net_device *dev, void *p)
-{
-	struct sockaddr *sa = p;
-
-	if (netif_running(dev))
-		return -EBUSY;
-
-	/* TODO: validate addr */
-	memcpy(dev->dev_addr, sa->sa_data, dev->addr_len);
-
-	return 0;
-}
-
 static int lowpan_get_mac_header_length(struct sk_buff *skb)
 {
 	/*
@@ -1062,7 +1050,7 @@ static struct header_ops lowpan_header_ops = {

 static const struct net_device_ops lowpan_netdev_ops = {
 	.ndo_start_xmit		= lowpan_xmit,
-	.ndo_set_mac_address	= lowpan_set_address,
+	.ndo_set_mac_address	= eth_mac_addr,
 };

 static void lowpan_setup(struct net_device *dev)

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help