All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philip Craig <philipc@snapgear.com>
To: bridge@lists.linux-foundation.org
Subject: [Bridge] delay in bridge learning when forward delay is 0
Date: Mon, 09 Jul 2007 17:50:55 +1000	[thread overview]
Message-ID: <4691E8DF.4060704@snapgear.com> (raw)

Hi,

If you set the bridge forward delay to 0 with:
	brctl setfd br0 0
then the bridge does not learn addresses for the first 20 seconds,
and so it floods everything during this time.

The reason for this is that hold_time() returns 0 after a topology
change, br_fdb_update() is a no-op if hold_time() is 0 (so that
'brctl setmaxage br0 0' can be used to disable learning), and the
topology change flag isn't cleared for max_age seconds, so nothing
is learnt during that time.

It seems that the intent of hold_time() is to expire entries that are
older than forward_delay seconds at the time of the topology change,
which it does, but then it keeps on checking this expiry again for
max_age seconds, and bases these checks on the current time rather
than the time of the change.

A quick fix for the forward delay 0 case would be to skip the
topology change check if stp is disabled, but if I understand things
correctly then the expiry isn't right for non-zero cases either.

             reply	other threads:[~2007-07-09  7:50 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-09  7:50 Philip Craig [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-09-18 19:33 [Bridge] delay in bridge learning when forward delay is 0 Uli Luckas
2008-09-24 11:57 ` Uli Luckas
2008-10-13 16:04   ` Uli Luckas
2008-10-13 18:10     ` Stephen Hemminger
2008-10-14  9:36       ` Uli Luckas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4691E8DF.4060704@snapgear.com \
    --to=philipc@snapgear.com \
    --cc=bridge@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.