projects/linux·commit 80787ebc

[IPV4] SNMP: Support OutMcastPkts and OutBcastPkts

80787ebc · Mitsuru Chinen <[email protected]> · 2007-04-30 00:48:20 -07:00

A transmitted IP multicast datagram should be counted as OutMcastPkts.
By the same token, a transmitted IP broadcast datagram should be
counted as OutBcastPkts.

Signed-off-by: Mitsuru Chinen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Commit
80787ebc2bbd8e675d8b9ff8cfa40f15134feebe
Parents
5506b54b

Changes

1 files changed · +6 −0

FileStatusAddDelContent
net/ipv4/ip_output.cmodified+6−0View file

net/ipv4/ip_output.c

View file
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 534650c..d6427d9 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -160,9 +160,15 @@ EXPORT_SYMBOL_GPL(ip_build_and_send_pkt);
static inline int ip_finish_output2(struct sk_buff *skb)
{
struct dst_entry *dst = skb->dst;
+ struct rtable *rt = (struct rtable *)dst;
struct net_device *dev = dst->dev;
int hh_len = LL_RESERVED_SPACE(dev);
+ if (rt->rt_type == RTN_MULTICAST)
+ IP_INC_STATS(IPSTATS_MIB_OUTMCASTPKTS);
+ else if (rt->rt_type == RTN_BROADCAST)
+ IP_INC_STATS(IPSTATS_MIB_OUTBCASTPKTS);
+
/* Be paranoid, rather than too clever. */
if (unlikely(skb_headroom(skb) < hh_len && dev->hard_header)) {
struct sk_buff *skb2;