[Bridge] Getting statistics from a bridge
Jaime Medrano
jaime.medrano at gmail.com
Thu Apr 24 06:41:29 PDT 2008
On Wed, Apr 23, 2008 at 10:43:40AM -0700, Stephen Hemminger wrote:
> On Wed, 23 Apr 2008 10:53:12 +1000
> "Leigh Sharpe" <lsharpe at pacificwireless.com.au> wrote:
>
> > Is there any way of getting detailed statistics from a bridge?
> > Specifically, I need to know how many frames may have been dropped
> > because they exceed the MTU of the underlying port. I'm having a few
> > issues with MTUs not agreeing.
>
> It would not be hard to modify kernel to use one of the existing statistics on
> the bridge interface to keep track of the dropped packets. I'll look into it
> if no one else gets to it first (hint, hint)
>
I think this change will do it.
Regards,
Jaime Medrano.
--- linux-2.6.25.orig/net/bridge/br_forward.c 2008-04-24 11:04:32.000000000 +0200
+++ linux-2.6.25/net/bridge/br_forward.c 2008-04-24 15:15:02.000000000 +0200
@@ -35,9 +35,10 @@
int br_dev_queue_push_xmit(struct sk_buff *skb)
{
/* drop mtu oversized packets except gso */
- if (packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb))
+ if (packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb)) {
+ rcu_dereference(skb->dev->br_port)->br->statistics.tx_dropped++;
kfree_skb(skb);
- else {
+ } else {
/* ip_refrag calls ip_fragment, doesn't copy the MAC header. */
if (nf_bridge_maybe_copy_header(skb))
kfree_skb(skb);
More information about the Bridge
mailing list