arp: Do not perturb drop profiles with ignored ARP packets
We do not wish to disturb dropwatch or perf drop profiles with an ARP we will ignore. Signed-off-by: Rick Jones <rick.jones2@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
18d0264f63
commit
825bae5d97
1 changed files with 5 additions and 1 deletions
|
@ -953,10 +953,11 @@ static int arp_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
{
|
||||
const struct arphdr *arp;
|
||||
|
||||
/* do not tweak dropwatch on an ARP we will ignore */
|
||||
if (dev->flags & IFF_NOARP ||
|
||||
skb->pkt_type == PACKET_OTHERHOST ||
|
||||
skb->pkt_type == PACKET_LOOPBACK)
|
||||
goto freeskb;
|
||||
goto consumeskb;
|
||||
|
||||
skb = skb_share_check(skb, GFP_ATOMIC);
|
||||
if (!skb)
|
||||
|
@ -974,6 +975,9 @@ static int arp_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
|
||||
return NF_HOOK(NFPROTO_ARP, NF_ARP_IN, skb, dev, NULL, arp_process);
|
||||
|
||||
consumeskb:
|
||||
consume_skb(skb);
|
||||
return 0;
|
||||
freeskb:
|
||||
kfree_skb(skb);
|
||||
out_of_mem:
|
||||
|
|
Loading…
Reference in a new issue