bridge: Eject NORMAL flows without a learning entry from datapath.
authorJesse Gross <jesse@nicira.com>
Thu, 22 Oct 2009 18:40:04 +0000 (11:40 -0700)
committerJesse Gross <jesse@nicira.com>
Thu, 22 Oct 2009 18:40:04 +0000 (11:40 -0700)
commit2416b8eceae7b2508fe72efbc17d9cb71b69d330
tree5e698c923c04789d079a69bd5420b3f1b476198c
parent5422a9e189c627202a0eaa568a52d17e088d82fb
bridge: Eject NORMAL flows without a learning entry from datapath.

When revalidating NORMAL flows we consult the learning table, which
could be empty if a packet hasn't come to userspace in a while or we
just did a bridge flush.  If there is no learning entry then existing
flows will begin flooding packets until a new flow is setup.  The
problem is worse with bonding because we can receive one of the flooded
packets back on a bond slave and learn that port, causing us to send
traffic to the wrong location.
vswitchd/bridge.c