mirror of https://gitee.com/openkylin/linux.git
[NET]: Change memcmp(,,ETH_ALEN) to compare_ether_addr()
This changes some memcmp(one,two,ETH_ALEN) to compare_ether_addr(one,two). Signed-off-by: Kris Katterjohn <kjak@users.sourceforge.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
770cfbcffd
commit
d3f4a687f6
|
@ -214,7 +214,7 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev,
|
||||||
* This allows the VLAN to have a different MAC than the underlying
|
* This allows the VLAN to have a different MAC than the underlying
|
||||||
* device, and still route correctly.
|
* device, and still route correctly.
|
||||||
*/
|
*/
|
||||||
if (memcmp(eth_hdr(skb)->h_dest, skb->dev->dev_addr, ETH_ALEN) == 0) {
|
if (!compare_ether_addr(eth_hdr(skb)->h_dest, skb->dev->dev_addr)) {
|
||||||
/* It is for our (changed) MAC-address! */
|
/* It is for our (changed) MAC-address! */
|
||||||
skb->pkt_type = PACKET_HOST;
|
skb->pkt_type = PACKET_HOST;
|
||||||
}
|
}
|
||||||
|
|
|
@ -296,13 +296,13 @@ static inline __be16 br_type_trans(struct sk_buff *skb, struct net_device *dev)
|
||||||
eth = eth_hdr(skb);
|
eth = eth_hdr(skb);
|
||||||
|
|
||||||
if (is_multicast_ether_addr(eth->h_dest)) {
|
if (is_multicast_ether_addr(eth->h_dest)) {
|
||||||
if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0)
|
if (!compare_ether_addr(eth->h_dest, dev->broadcast))
|
||||||
skb->pkt_type = PACKET_BROADCAST;
|
skb->pkt_type = PACKET_BROADCAST;
|
||||||
else
|
else
|
||||||
skb->pkt_type = PACKET_MULTICAST;
|
skb->pkt_type = PACKET_MULTICAST;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (memcmp(eth->h_dest, dev->dev_addr, ETH_ALEN))
|
else if (compare_ether_addr(eth->h_dest, dev->dev_addr))
|
||||||
skb->pkt_type = PACKET_OTHERHOST;
|
skb->pkt_type = PACKET_OTHERHOST;
|
||||||
|
|
||||||
if (ntohs(eth->h_proto) >= 1536)
|
if (ntohs(eth->h_proto) >= 1536)
|
||||||
|
|
|
@ -1321,7 +1321,7 @@ static int lane2_associate_req (struct net_device *dev, u8 *lan_dst,
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
struct lec_priv *priv = (struct lec_priv*)dev->priv;
|
struct lec_priv *priv = (struct lec_priv*)dev->priv;
|
||||||
|
|
||||||
if ( memcmp(lan_dst, dev->dev_addr, ETH_ALEN) != 0 )
|
if (compare_ether_addr(lan_dst, dev->dev_addr))
|
||||||
return (0); /* not our mac address */
|
return (0); /* not our mac address */
|
||||||
|
|
||||||
kfree(priv->tlvs); /* NULL if there was no previous association */
|
kfree(priv->tlvs); /* NULL if there was no previous association */
|
||||||
|
@ -1798,7 +1798,7 @@ lec_arp_find(struct lec_priv *priv,
|
||||||
|
|
||||||
to_return = priv->lec_arp_tables[place];
|
to_return = priv->lec_arp_tables[place];
|
||||||
while(to_return) {
|
while(to_return) {
|
||||||
if (memcmp(mac_addr, to_return->mac_addr, ETH_ALEN) == 0) {
|
if (!compare_ether_addr(mac_addr, to_return->mac_addr)) {
|
||||||
return to_return;
|
return to_return;
|
||||||
}
|
}
|
||||||
to_return = to_return->next;
|
to_return = to_return->next;
|
||||||
|
@ -2002,7 +2002,7 @@ lec_arp_resolve(struct lec_priv *priv, unsigned char *mac_to_find,
|
||||||
return priv->mcast_vcc;
|
return priv->mcast_vcc;
|
||||||
break;
|
break;
|
||||||
case 2: /* LANE2 wants arp for multicast addresses */
|
case 2: /* LANE2 wants arp for multicast addresses */
|
||||||
if ( memcmp(mac_to_find, bus_mac, ETH_ALEN) == 0)
|
if (!compare_ether_addr(mac_to_find, bus_mac))
|
||||||
return priv->mcast_vcc;
|
return priv->mcast_vcc;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -552,7 +552,7 @@ static int mpc_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||||
goto non_ip; /* Multi-Protocol Over ATM :-) */
|
goto non_ip; /* Multi-Protocol Over ATM :-) */
|
||||||
|
|
||||||
while (i < mpc->number_of_mps_macs) {
|
while (i < mpc->number_of_mps_macs) {
|
||||||
if (memcmp(eth->h_dest, (mpc->mps_macs + i*ETH_ALEN), ETH_ALEN) == 0)
|
if (!compare_ether_addr(eth->h_dest, (mpc->mps_macs + i*ETH_ALEN)))
|
||||||
if ( send_via_shortcut(skb, mpc) == 0 ) /* try shortcut */
|
if ( send_via_shortcut(skb, mpc) == 0 ) /* try shortcut */
|
||||||
return 0; /* success! */
|
return 0; /* success! */
|
||||||
i++;
|
i++;
|
||||||
|
|
|
@ -75,7 +75,7 @@ static struct bnep_session *__bnep_get_session(u8 *dst)
|
||||||
|
|
||||||
list_for_each(p, &bnep_session_list) {
|
list_for_each(p, &bnep_session_list) {
|
||||||
s = list_entry(p, struct bnep_session, list);
|
s = list_entry(p, struct bnep_session, list);
|
||||||
if (!memcmp(dst, s->eh.h_source, ETH_ALEN))
|
if (!compare_ether_addr(dst, s->eh.h_source))
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -420,10 +420,10 @@ static inline int bnep_tx_frame(struct bnep_session *s, struct sk_buff *skb)
|
||||||
iv[il++] = (struct kvec) { &type, 1 };
|
iv[il++] = (struct kvec) { &type, 1 };
|
||||||
len++;
|
len++;
|
||||||
|
|
||||||
if (!memcmp(eh->h_dest, s->eh.h_source, ETH_ALEN))
|
if (!compare_ether_addr(eh->h_dest, s->eh.h_source))
|
||||||
type |= 0x01;
|
type |= 0x01;
|
||||||
|
|
||||||
if (!memcmp(eh->h_source, s->eh.h_dest, ETH_ALEN))
|
if (!compare_ether_addr(eh->h_source, s->eh.h_dest))
|
||||||
type |= 0x02;
|
type |= 0x02;
|
||||||
|
|
||||||
if (type)
|
if (type)
|
||||||
|
|
|
@ -164,8 +164,8 @@ static int ebt_stp_check(const char *tablename, unsigned int hookmask,
|
||||||
if (datalen != len)
|
if (datalen != len)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
/* Make sure the match only receives stp frames */
|
/* Make sure the match only receives stp frames */
|
||||||
if (memcmp(e->destmac, bridge_ula, ETH_ALEN) ||
|
if (compare_ether_addr(e->destmac, bridge_ula) ||
|
||||||
memcmp(e->destmsk, msk, ETH_ALEN) || !(e->bitmask & EBT_DESTMAC))
|
compare_ether_addr(e->destmsk, msk) || !(e->bitmask & EBT_DESTMAC))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -457,7 +457,7 @@ void divert_frame(struct sk_buff *skb)
|
||||||
unsigned char *skb_data_end = skb->data + skb->len;
|
unsigned char *skb_data_end = skb->data + skb->len;
|
||||||
|
|
||||||
/* Packet is already aimed at us, return */
|
/* Packet is already aimed at us, return */
|
||||||
if (!memcmp(eth, skb->dev->dev_addr, ETH_ALEN))
|
if (!compare_ether_addr(eth, skb->dev->dev_addr))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* proto is not IP, do nothing */
|
/* proto is not IP, do nothing */
|
||||||
|
|
|
@ -1506,7 +1506,7 @@ void wireless_spy_update(struct net_device * dev,
|
||||||
|
|
||||||
/* Update all records that match */
|
/* Update all records that match */
|
||||||
for(i = 0; i < spydata->spy_number; i++)
|
for(i = 0; i < spydata->spy_number; i++)
|
||||||
if(!memcmp(address, spydata->spy_address[i], ETH_ALEN)) {
|
if(!compare_ether_addr(address, spydata->spy_address[i])) {
|
||||||
memcpy(&(spydata->spy_stat[i]), wstats,
|
memcpy(&(spydata->spy_stat[i]), wstats,
|
||||||
sizeof(struct iw_quality));
|
sizeof(struct iw_quality));
|
||||||
match = i;
|
match = i;
|
||||||
|
|
|
@ -76,8 +76,8 @@ static struct ieee80211_frag_entry *ieee80211_frag_cache_find(struct
|
||||||
|
|
||||||
if (entry->skb != NULL && entry->seq == seq &&
|
if (entry->skb != NULL && entry->seq == seq &&
|
||||||
(entry->last_frag + 1 == frag || frag == -1) &&
|
(entry->last_frag + 1 == frag || frag == -1) &&
|
||||||
memcmp(entry->src_addr, src, ETH_ALEN) == 0 &&
|
!compare_ether_addr(entry->src_addr, src) &&
|
||||||
memcmp(entry->dst_addr, dst, ETH_ALEN) == 0)
|
!compare_ether_addr(entry->dst_addr, dst))
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -243,12 +243,12 @@ static int ieee80211_is_eapol_frame(struct ieee80211_device *ieee,
|
||||||
/* check that the frame is unicast frame to us */
|
/* check that the frame is unicast frame to us */
|
||||||
if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
|
if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
|
||||||
IEEE80211_FCTL_TODS &&
|
IEEE80211_FCTL_TODS &&
|
||||||
memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0 &&
|
!compare_ether_addr(hdr->addr1, dev->dev_addr) &&
|
||||||
memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) {
|
!compare_ether_addr(hdr->addr3, dev->dev_addr)) {
|
||||||
/* ToDS frame with own addr BSSID and DA */
|
/* ToDS frame with own addr BSSID and DA */
|
||||||
} else if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
|
} else if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
|
||||||
IEEE80211_FCTL_FROMDS &&
|
IEEE80211_FCTL_FROMDS &&
|
||||||
memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0) {
|
!compare_ether_addr(hdr->addr1, dev->dev_addr)) {
|
||||||
/* FromDS frame with own addr as DA */
|
/* FromDS frame with own addr as DA */
|
||||||
} else
|
} else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -505,7 +505,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
|
||||||
if (ieee->iw_mode == IW_MODE_MASTER && !wds &&
|
if (ieee->iw_mode == IW_MODE_MASTER && !wds &&
|
||||||
(fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
|
(fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
|
||||||
IEEE80211_FCTL_FROMDS && ieee->stadev
|
IEEE80211_FCTL_FROMDS && ieee->stadev
|
||||||
&& memcmp(hdr->addr2, ieee->assoc_ap_addr, ETH_ALEN) == 0) {
|
&& !compare_ether_addr(hdr->addr2, ieee->assoc_ap_addr)) {
|
||||||
/* Frame from BSSID of the AP for which we are a client */
|
/* Frame from BSSID of the AP for which we are a client */
|
||||||
skb->dev = dev = ieee->stadev;
|
skb->dev = dev = ieee->stadev;
|
||||||
stats = hostap_get_stats(dev);
|
stats = hostap_get_stats(dev);
|
||||||
|
@ -1231,7 +1231,7 @@ static inline int is_same_network(struct ieee80211_network *src,
|
||||||
* as one network */
|
* as one network */
|
||||||
return ((src->ssid_len == dst->ssid_len) &&
|
return ((src->ssid_len == dst->ssid_len) &&
|
||||||
(src->channel == dst->channel) &&
|
(src->channel == dst->channel) &&
|
||||||
!memcmp(src->bssid, dst->bssid, ETH_ALEN) &&
|
!compare_ether_addr(src->bssid, dst->bssid) &&
|
||||||
!memcmp(src->ssid, dst->ssid, src->ssid_len));
|
!memcmp(src->ssid, dst->ssid, src->ssid_len));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
#include <linux/if_ether.h>
|
#include <linux/if_ether.h>
|
||||||
|
#include <linux/etherdevice.h>
|
||||||
|
|
||||||
#include <linux/netfilter_ipv4/ipt_mac.h>
|
#include <linux/netfilter_ipv4/ipt_mac.h>
|
||||||
#include <linux/netfilter_ipv4/ip_tables.h>
|
#include <linux/netfilter_ipv4/ip_tables.h>
|
||||||
|
@ -33,8 +34,8 @@ match(const struct sk_buff *skb,
|
||||||
return (skb->mac.raw >= skb->head
|
return (skb->mac.raw >= skb->head
|
||||||
&& (skb->mac.raw + ETH_HLEN) <= skb->data
|
&& (skb->mac.raw + ETH_HLEN) <= skb->data
|
||||||
/* If so, compare... */
|
/* If so, compare... */
|
||||||
&& ((memcmp(eth_hdr(skb)->h_source, info->srcaddr, ETH_ALEN)
|
&& ((!compare_ether_addr(eth_hdr(skb)->h_source, info->srcaddr))
|
||||||
== 0) ^ info->invert));
|
^ info->invert));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
|
@ -34,8 +34,8 @@ match(const struct sk_buff *skb,
|
||||||
return (skb->mac.raw >= skb->head
|
return (skb->mac.raw >= skb->head
|
||||||
&& (skb->mac.raw + ETH_HLEN) <= skb->data
|
&& (skb->mac.raw + ETH_HLEN) <= skb->data
|
||||||
/* If so, compare... */
|
/* If so, compare... */
|
||||||
&& ((memcmp(eth_hdr(skb)->h_source, info->srcaddr, ETH_ALEN)
|
&& ((!compare_ether_addr(eth_hdr(skb)->h_source, info->srcaddr))
|
||||||
== 0) ^ info->invert));
|
^ info->invert));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
Loading…
Reference in New Issue