diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-03-03 12:20:57 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-03 12:20:57 -0800 |
commit | 988b705077d8f922408913f4f521ae073256d4a1 (patch) | |
tree | 9b57725b954e1e96a80043ed43d83f8e032b47b6 /net/ipv4/netfilter/arp_tables.c | |
parent | 8ed7edce82ca0d8d3adba8c08cd42337af6c758c (diff) | |
download | op-kernel-dev-988b705077d8f922408913f4f521ae073256d4a1.zip op-kernel-dev-988b705077d8f922408913f4f521ae073256d4a1.tar.gz |
[ARP]: Introduce the arp_hdr_len helper.
There are some place, that calculate the ARP header length. These
calculations are correct, but
a) some operate with "magic" constants,
b) enlarge the code length (sometimes at the cost of coding style),
c) are not informative from the first glance.
The proposal is to introduce a helper, that includes all the good
sides of these calculations.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/netfilter/arp_tables.c')
-rw-r--r-- | net/ipv4/netfilter/arp_tables.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c index a7591ce..9b59044 100644 --- a/net/ipv4/netfilter/arp_tables.c +++ b/net/ipv4/netfilter/arp_tables.c @@ -233,10 +233,7 @@ unsigned int arpt_do_table(struct sk_buff *skb, void *table_base; struct xt_table_info *private; - /* ARP header, plus 2 device addresses, plus 2 IP addresses. */ - if (!pskb_may_pull(skb, (sizeof(struct arphdr) + - (2 * skb->dev->addr_len) + - (2 * sizeof(u32))))) + if (!pskb_may_pull(skb, arp_hdr_len(skb->dev))) return NF_DROP; indev = in ? in->name : nulldevname; |