* [PATCH 0/2] reuse eth_mac_addr() @ 2012-02-22 12:36 Danny Kukawka 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 0 siblings, 2 replies; 9+ messages in thread From: Danny Kukawka @ 2012-02-22 12:36 UTC (permalink / raw) To: David Dillow, Dmitry Eremin-Solenikov Cc: Danny Kukawka, Sergey Lapin, David S. Miller, linux-zigbee-devel, netdev, linux-kernel 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr() 2012-02-22 12:36 [PATCH 0/2] reuse eth_mac_addr() Danny Kukawka @ 2012-02-22 12:36 ` Danny Kukawka 2012-02-22 13:32 ` David Dillow 2012-02-22 19:56 ` David Miller 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 1 sibling, 2 replies; 9+ messages in thread From: Danny Kukawka @ 2012-02-22 12:36 UTC (permalink / raw) To: David Dillow; +Cc: Danny Kukawka, netdev, David S. Miller, linux-kernel 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 <danny.kukawka@bisect.de> --- 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 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka @ 2012-02-22 13:32 ` David Dillow 2012-02-22 19:56 ` David Miller 1 sibling, 0 replies; 9+ messages in thread From: David Dillow @ 2012-02-22 13:32 UTC (permalink / raw) To: Danny Kukawka; +Cc: Danny Kukawka, netdev, David S. Miller, linux-kernel 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 <danny.kukawka@bisect.de> Acked-by: Dave Dillow <dave@thedillows.org> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka 2012-02-22 13:32 ` David Dillow @ 2012-02-22 19:56 ` David Miller 1 sibling, 0 replies; 9+ messages in thread From: David Miller @ 2012-02-22 19:56 UTC (permalink / raw) To: danny.kukawka; +Cc: dave, dkukawka, netdev, linux-kernel From: Danny Kukawka <danny.kukawka@bisect.de> 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 <danny.kukawka@bisect.de> Applied. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() 2012-02-22 12:36 [PATCH 0/2] reuse eth_mac_addr() Danny Kukawka 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka @ 2012-02-22 12:36 ` Danny Kukawka 2012-02-22 13:30 ` Dmitry Eremin-Solenikov [not found] ` <1329914199-30862-3-git-send-email-danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> 1 sibling, 2 replies; 9+ messages in thread From: Danny Kukawka @ 2012-02-22 12:36 UTC (permalink / raw) To: Dmitry Eremin-Solenikov Cc: Danny Kukawka, Sergey Lapin, David S. Miller, linux-zigbee-devel, netdev, linux-kernel 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 <danny.kukawka@bisect.de> --- 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 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka @ 2012-02-22 13:30 ` Dmitry Eremin-Solenikov [not found] ` <1329914199-30862-3-git-send-email-danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> 1 sibling, 0 replies; 9+ messages in thread From: Dmitry Eremin-Solenikov @ 2012-02-22 13:30 UTC (permalink / raw) To: Danny Kukawka Cc: Danny Kukawka, Sergey Lapin, David S. Miller, linux-zigbee-devel, netdev, linux-kernel On Wed, Feb 22, 2012 at 4:36 PM, Danny Kukawka <danny.kukawka@bisect.de> 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 <danny.kukawka@bisect.de> Acked-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1329914199-30862-3-git-send-email-danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org>]
* Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() [not found] ` <1329914199-30862-3-git-send-email-danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> @ 2012-02-22 19:56 ` David Miller 2012-04-27 20:21 ` Tony Cheneau 1 sibling, 0 replies; 9+ messages in thread From: David Miller @ 2012-02-22 19:56 UTC (permalink / raw) To: danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ Cc: netdev-u79uwXL29TY76Z2rM5mHXA, dkukawka-l3A5Bk7waGM, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f From: Danny Kukawka <danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> 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 <danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> 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/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() [not found] ` <1329914199-30862-3-git-send-email-danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> 2012-02-22 19:56 ` David Miller @ 2012-04-27 20:21 ` Tony Cheneau [not found] ` <92f4dc09fca1e6ec54f12ca61b8b8e55-jNfjcPZKvDhg9hUCZPvPmw@public.gmane.org> 1 sibling, 1 reply; 9+ messages in thread From: Tony Cheneau @ 2012-04-27 20:21 UTC (permalink / raw) To: Danny Kukawka Cc: netdev-u79uwXL29TY76Z2rM5mHXA, Danny Kukawka, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, David S. Miller 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 : > 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 <danny.kukawka@bisect.de> > --- > 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <92f4dc09fca1e6ec54f12ca61b8b8e55-jNfjcPZKvDhg9hUCZPvPmw@public.gmane.org>]
* Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() [not found] ` <92f4dc09fca1e6ec54f12ca61b8b8e55-jNfjcPZKvDhg9hUCZPvPmw@public.gmane.org> @ 2012-05-12 8:38 ` Alexander Smirnov 0 siblings, 0 replies; 9+ messages in thread From: Alexander Smirnov @ 2012-05-12 8:38 UTC (permalink / raw) To: Tony Cheneau Cc: Danny Kukawka, Danny Kukawka, linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, netdev-u79uwXL29TY76Z2rM5mHXA Hi Tony, 2012/4/28 Tony Cheneau <tony.cheneau+zigbeedev-jNfjcPZKvDhg9hUCZPvPmw@public.gmane.org>: > 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? > Yeah, you are definitely right. I don't exactly know where did this patch arrive from, looks like I wasn't in Cc. I'm going to create reverted patch. Thanks > Regards, > Tony > > > Le 22.02.2012 14:36, Danny Kukawka a écrit : >> 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 <danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> >> --- >> 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-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel ------------------------------------------------------------------------------ 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/ ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-05-12 8:38 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-02-22 12:36 [PATCH 0/2] reuse eth_mac_addr() Danny Kukawka 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka 2012-02-22 13:32 ` David Dillow 2012-02-22 19:56 ` David Miller 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 2012-02-22 13:30 ` Dmitry Eremin-Solenikov [not found] ` <1329914199-30862-3-git-send-email-danny.kukawka-2YacvwyR+KOzQB+pC5nmwQ@public.gmane.org> 2012-02-22 19:56 ` David Miller 2012-04-27 20:21 ` Tony Cheneau [not found] ` <92f4dc09fca1e6ec54f12ca61b8b8e55-jNfjcPZKvDhg9hUCZPvPmw@public.gmane.org> 2012-05-12 8:38 ` Alexander Smirnov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).