diff options
Diffstat (limited to 'net/ipv4/ip_output.c')
| -rw-r--r-- | net/ipv4/ip_output.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 534650cad3a8..d6427d918512 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); | |||
| 160 | static inline int ip_finish_output2(struct sk_buff *skb) | 160 | static inline int ip_finish_output2(struct sk_buff *skb) |
| 161 | { | 161 | { |
| 162 | struct dst_entry *dst = skb->dst; | 162 | struct dst_entry *dst = skb->dst; |
| 163 | struct rtable *rt = (struct rtable *)dst; | ||
| 163 | struct net_device *dev = dst->dev; | 164 | struct net_device *dev = dst->dev; |
| 164 | int hh_len = LL_RESERVED_SPACE(dev); | 165 | int hh_len = LL_RESERVED_SPACE(dev); |
| 165 | 166 | ||
| 167 | if (rt->rt_type == RTN_MULTICAST) | ||
| 168 | IP_INC_STATS(IPSTATS_MIB_OUTMCASTPKTS); | ||
| 169 | else if (rt->rt_type == RTN_BROADCAST) | ||
| 170 | IP_INC_STATS(IPSTATS_MIB_OUTBCASTPKTS); | ||
| 171 | |||
| 166 | /* Be paranoid, rather than too clever. */ | 172 | /* Be paranoid, rather than too clever. */ |
| 167 | if (unlikely(skb_headroom(skb) < hh_len && dev->hard_header)) { | 173 | if (unlikely(skb_headroom(skb) < hh_len && dev->hard_header)) { |
| 168 | struct sk_buff *skb2; | 174 | struct sk_buff *skb2; |
