* [PATCH v2 net] raw: increment correct SNMP counters for ICMP messages
@ 2015-10-12 14:53 Ben Cartwright-Cox
0 siblings, 0 replies; 3+ messages in thread
From: Ben Cartwright-Cox @ 2015-10-12 14:53 UTC (permalink / raw)
To: davem; +Cc: davem, netdev, linux-kernel, ben+patches, dlstevens, eric.dumazet
Sending ICMP packets with raw sockets ends up in the SNMP counters
logging the type as the first byte of the IPv4 header rather than
the ICMP header. This is fixed by adding the IP Header Length to
the casting into a icmphdr struct.
Signed-off-by: Ben Cartwright-Cox <ben@benjojo.co.uk>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
---
net/ipv4/raw.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 561cd4b..ef3c9ba 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -406,10 +406,12 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
ip_select_ident(net, skb, NULL);
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
+ skb->transport_header += iphlen;
+ if (iph->protocol == IPPROTO_ICMP &&
+ length >= iphlen + sizeof(struct icmphdr))
+ icmp_out_count(net, ((struct icmphdr *)
+ skb_transport_header(skb))->type);
}
- if (iph->protocol == IPPROTO_ICMP)
- icmp_out_count(net, ((struct icmphdr *)
- skb_transport_header(skb))->type);
err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, sk, skb,
NULL, rt->dst.dev, dst_output_sk);
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v2 net] raw: increment correct SNMP counters for ICMP messages
@ 2015-11-14 15:13 Ben Cartwright-Cox
2015-11-16 20:09 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Ben Cartwright-Cox @ 2015-11-14 15:13 UTC (permalink / raw)
To: davem; +Cc: linux-kernel, netdev, ben+patches
Sending ICMP packets with raw sockets ends up in the SNMP counters
logging the type as the first byte of the IPv4 header rather than
the ICMP header. This is fixed by adding the IP Header Length to
the casting into a icmphdr struct.
Signed-off-by: Ben Cartwright-Cox <ben@benjojo.co.uk>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
---
net/ipv4/raw.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 561cd4b..ef3c9ba 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -406,10 +406,12 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
ip_select_ident(net, skb, NULL);
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
+ skb->transport_header += iphlen;
+ if (iph->protocol == IPPROTO_ICMP &&
+ length >= iphlen + sizeof(struct icmphdr))
+ icmp_out_count(net, ((struct icmphdr *)
+ skb_transport_header(skb))->type);
}
- if (iph->protocol == IPPROTO_ICMP)
- icmp_out_count(net, ((struct icmphdr *)
- skb_transport_header(skb))->type);
err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, sk, skb,
NULL, rt->dst.dev, dst_output_sk);
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 net] raw: increment correct SNMP counters for ICMP messages
2015-11-14 15:13 [PATCH v2 net] raw: increment correct SNMP counters for ICMP messages Ben Cartwright-Cox
@ 2015-11-16 20:09 ` David Miller
0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2015-11-16 20:09 UTC (permalink / raw)
To: Ben; +Cc: linux-kernel, netdev, ben+patches
From: Ben Cartwright-Cox <Ben@Benjojo.co.uk>
Date: Sat, 14 Nov 2015 15:13:58 +0000
> Sending ICMP packets with raw sockets ends up in the SNMP counters
> logging the type as the first byte of the IPv4 header rather than
> the ICMP header. This is fixed by adding the IP Header Length to
> the casting into a icmphdr struct.
>
> Signed-off-by: Ben Cartwright-Cox <ben@benjojo.co.uk>
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-11-16 20:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-14 15:13 [PATCH v2 net] raw: increment correct SNMP counters for ICMP messages Ben Cartwright-Cox
2015-11-16 20:09 ` David Miller
-- strict thread matches above, loose matches on Subject: below --
2015-10-12 14:53 Ben Cartwright-Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).