Re: [PATCH 10/21] media: dvb_core: slight optimization of addr compare

2014-01-07 Thread Mauro Carvalho Chehab
Em Mon, 23 Dec 2013 13:10:35 +0800
Ding Tianhong  escreveu:

> Use the recently added and possibly more efficient
> ether_addr_equal_unaligned to instead of memcmp.

I'm ok with this change, but I prefer if you could merge it together with the
other patches, as I don't have the patch that added 
ether_addr_equal_unaligned() on my tree yet.
> 
> Cc: Mauro Carvalho Chehab 

Acked-by: Mauro Carvalho Chehab 

> Cc: linux-media@vger.kernel.org
> Cc: linux-ker...@vger.kernel.org
> Signed-off-by: Yang Yingliang 
> Signed-off-by: Ding Tianhong 
> ---
>  drivers/media/dvb-core/dvb_net.c | 10 +-
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/media/dvb-core/dvb_net.c 
> b/drivers/media/dvb-core/dvb_net.c
> index f91c80c..ff00f97 100644
> --- a/drivers/media/dvb-core/dvb_net.c
> +++ b/drivers/media/dvb-core/dvb_net.c
> @@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb,
>   eth = eth_hdr(skb);
>  
>   if (*eth->h_dest & 1) {
> - if(memcmp(eth->h_dest,dev->broadcast, ETH_ALEN)==0)
> + if(ether_addr_equal_unaligned(eth->h_dest, dev->broadcast))
>   skb->pkt_type=PACKET_BROADCAST;
>   else
>   skb->pkt_type=PACKET_MULTICAST;
> @@ -674,11 +674,11 @@ static void dvb_net_ule( struct net_device *dev, const 
> u8 *buf, size_t buf_len )
>   if (priv->rx_mode != RX_MODE_PROMISC) {
>   if (priv->ule_skb->data[0] & 
> 0x01) {
>   /* multicast or 
> broadcast */
> - if 
> (memcmp(priv->ule_skb->data, bc_addr, ETH_ALEN)) {
> + if 
> (!ether_addr_equal_unaligned(priv->ule_skb->data, bc_addr)) {
>   /* multicast */
>   if 
> (priv->rx_mode == RX_MODE_MULTI) {
>   int i;
> - for(i = 
> 0; i < priv->multi_num && memcmp(priv->ule_skb->data, priv->multi_macs[i], 
> ETH_ALEN); i++)
> + for(i = 
> 0; i < priv->multi_num && !ether_addr_equal_unaligned(priv->ule_skb->data, 
> priv->multi_macs[i]); i++)
>   
> ;
>   if (i 
> == priv->multi_num)
>   
> drop = 1;
> @@ -688,7 +688,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 
> *buf, size_t buf_len )
>   }
>   /* else: broadcast */
>   }
> - else if 
> (memcmp(priv->ule_skb->data, dev->dev_addr, ETH_ALEN))
> + else if 
> (!ether_addr_equal_unaligned(priv->ule_skb->data, dev->dev_addr))
>   drop = 1;
>   /* else: destination address 
> matches the MAC address of our receiver device */
>   }
> @@ -837,7 +837,7 @@ static void dvb_net_sec(struct net_device *dev,
>   }
>   if (pkt[5] & 0x02) {
>   /* handle LLC/SNAP, see rfc-1042 */
> - if (pkt_len < 24 || memcmp(&pkt[12], "\xaa\xaa\x03\0\0\0", 6)) {
> + if (pkt_len < 24 || !ether_addr_equal_unaligned(&pkt[12], 
> "\xaa\xaa\x03\0\0\0")) {
>   stats->rx_dropped++;
>   return;
>   }


-- 

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 10/21] media: dvb_core: slight optimization of addr compare

2013-12-22 Thread Ding Tianhong
Use the recently added and possibly more efficient
ether_addr_equal_unaligned to instead of memcmp.

Cc: Mauro Carvalho Chehab 
Cc: linux-media@vger.kernel.org
Cc: linux-ker...@vger.kernel.org
Signed-off-by: Yang Yingliang 
Signed-off-by: Ding Tianhong 
---
 drivers/media/dvb-core/dvb_net.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c
index f91c80c..ff00f97 100644
--- a/drivers/media/dvb-core/dvb_net.c
+++ b/drivers/media/dvb-core/dvb_net.c
@@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb,
eth = eth_hdr(skb);
 
if (*eth->h_dest & 1) {
-   if(memcmp(eth->h_dest,dev->broadcast, ETH_ALEN)==0)
+   if(ether_addr_equal_unaligned(eth->h_dest, dev->broadcast))
skb->pkt_type=PACKET_BROADCAST;
else
skb->pkt_type=PACKET_MULTICAST;
@@ -674,11 +674,11 @@ static void dvb_net_ule( struct net_device *dev, const u8 
*buf, size_t buf_len )
if (priv->rx_mode != RX_MODE_PROMISC) {
if (priv->ule_skb->data[0] & 
0x01) {
/* multicast or 
broadcast */
-   if 
(memcmp(priv->ule_skb->data, bc_addr, ETH_ALEN)) {
+   if 
(!ether_addr_equal_unaligned(priv->ule_skb->data, bc_addr)) {
/* multicast */
if 
(priv->rx_mode == RX_MODE_MULTI) {
int i;
-   for(i = 
0; i < priv->multi_num && memcmp(priv->ule_skb->data, priv->multi_macs[i], 
ETH_ALEN); i++)
+   for(i = 
0; i < priv->multi_num && !ether_addr_equal_unaligned(priv->ule_skb->data, 
priv->multi_macs[i]); i++)

;
if (i 
== priv->multi_num)

drop = 1;
@@ -688,7 +688,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 
*buf, size_t buf_len )
}
/* else: broadcast */
}
-   else if 
(memcmp(priv->ule_skb->data, dev->dev_addr, ETH_ALEN))
+   else if 
(!ether_addr_equal_unaligned(priv->ule_skb->data, dev->dev_addr))
drop = 1;
/* else: destination address 
matches the MAC address of our receiver device */
}
@@ -837,7 +837,7 @@ static void dvb_net_sec(struct net_device *dev,
}
if (pkt[5] & 0x02) {
/* handle LLC/SNAP, see rfc-1042 */
-   if (pkt_len < 24 || memcmp(&pkt[12], "\xaa\xaa\x03\0\0\0", 6)) {
+   if (pkt_len < 24 || !ether_addr_equal_unaligned(&pkt[12], 
"\xaa\xaa\x03\0\0\0")) {
stats->rx_dropped++;
return;
}
-- 
1.8.0


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html