Commit 04091142 authored by Joe Perches's avatar Joe Perches Committed by David S. Miller
Browse files

bridge: netfilter: Use ether_addr_copy



Convert the uses of memcpy to ether_addr_copy because
for some architectures it is smaller and faster.

Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e5a727f6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -506,7 +506,7 @@ bridged_dnat:
					       1);
				return 0;
			}
			memcpy(eth_hdr(skb)->h_dest, dev->dev_addr, ETH_ALEN);
			ether_addr_copy(eth_hdr(skb)->h_dest, dev->dev_addr);
			skb->pkt_type = PACKET_HOST;
		}
	} else {
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ static bool ebt_mac_wormhash_contains(const struct ebt_mac_wormhash *wh,
	uint32_t cmp[2] = { 0, 0 };
	int key = ((const unsigned char *)mac)[5];

	memcpy(((char *) cmp) + 2, mac, ETH_ALEN);
	ether_addr_copy(((char *) cmp) + 2, mac);
	start = wh->table[key];
	limit = wh->table[key + 1];
	if (ip) {
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ ebt_dnat_tg(struct sk_buff *skb, const struct xt_action_param *par)
	if (!skb_make_writable(skb, 0))
		return EBT_DROP;

	memcpy(eth_hdr(skb)->h_dest, info->mac, ETH_ALEN);
	ether_addr_copy(eth_hdr(skb)->h_dest, info->mac);
	return info->target;
}

+3 −3
Original line number Diff line number Diff line
@@ -25,10 +25,10 @@ ebt_redirect_tg(struct sk_buff *skb, const struct xt_action_param *par)

	if (par->hooknum != NF_BR_BROUTING)
		/* rcu_read_lock()ed by nf_hook_slow */
		memcpy(eth_hdr(skb)->h_dest,
		       br_port_get_rcu(par->in)->br->dev->dev_addr, ETH_ALEN);
		ether_addr_copy(eth_hdr(skb)->h_dest,
				br_port_get_rcu(par->in)->br->dev->dev_addr);
	else
		memcpy(eth_hdr(skb)->h_dest, par->in->dev_addr, ETH_ALEN);
		ether_addr_copy(eth_hdr(skb)->h_dest, par->in->dev_addr);
	skb->pkt_type = PACKET_HOST;
	return info->target;
}
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ ebt_snat_tg(struct sk_buff *skb, const struct xt_action_param *par)
	if (!skb_make_writable(skb, 0))
		return EBT_DROP;

	memcpy(eth_hdr(skb)->h_source, info->mac, ETH_ALEN);
	ether_addr_copy(eth_hdr(skb)->h_source, info->mac);
	if (!(info->target & NAT_ARP_BIT) &&
	    eth_hdr(skb)->h_proto == htons(ETH_P_ARP)) {
		const struct arphdr *ap;