All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 3/6] fddi: slight optimization of addr compare
@ 2013-12-16  8:24 Ding Tianhong
  0 siblings, 0 replies; only message in thread
From: Ding Tianhong @ 2013-12-16  8:24 UTC (permalink / raw)
  To: David S. Miller, Joe Perches, Netdev

Joe Perches add ether_addr_equal_unaligned to test if
possibly unaligned to u16 Ethernet addresses are equal.

If CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is set, this uses
the slightly faster generic routine ether_addr_equal,
otherwise this uses memcmp, and FDDI_K_ALEN is same with
ETH_ALEN.

Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
---
 net/802/fddi.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/802/fddi.c b/net/802/fddi.c
index 9cda406..d536a81 100644
--- a/net/802/fddi.c
+++ b/net/802/fddi.c
@@ -41,6 +41,7 @@
 #include <linux/errno.h>
 #include <net/arp.h>
 #include <net/sock.h>
+#include <linux/etherdevice.h>
 
 /*
  * Create the FDDI MAC header for an arbitrary protocol layer
@@ -147,7 +148,7 @@ __be16 fddi_type_trans(struct sk_buff *skb, struct net_device *dev)
 
 	if (*fddi->daddr & 0x01)
 	{
-		if (memcmp(fddi->daddr, dev->broadcast, FDDI_K_ALEN) == 0)
+		if (ether_addr_equal_unaligned(fddi->daddr, dev->broadcast))
 			skb->pkt_type = PACKET_BROADCAST;
 		else
 			skb->pkt_type = PACKET_MULTICAST;
@@ -155,7 +156,7 @@ __be16 fddi_type_trans(struct sk_buff *skb, struct net_device *dev)
 
 	else if (dev->flags & IFF_PROMISC)
 	{
-		if (memcmp(fddi->daddr, dev->dev_addr, FDDI_K_ALEN))
+		if (!ether_addr_equal_unaligned(fddi->daddr, dev->dev_addr))
 			skb->pkt_type = PACKET_OTHERHOST;
 	}
 
-- 
1.8.0

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-12-16  8:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-16  8:24 [PATCH net-next v2 3/6] fddi: slight optimization of addr compare Ding Tianhong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.