vswitchd: Mirror nothing, not everything, if mirror ports don't exist.
authorBen Pfaff <blp@nicira.com>
Mon, 24 Aug 2009 18:06:34 +0000 (11:06 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 26 Aug 2009 21:03:39 +0000 (14:03 -0700)
commite0c27cffbc9b93f90c764e374f6944cb893295a3
tree96fa7a23ee9b3a356cf1ceba22bebf92f0291752
parent274de4d20f450cc4cf83500d806f8b361f1387a5
vswitchd: Mirror nothing, not everything, if mirror ports don't exist.

If all of the ports specified as mirror selection criteria actually do not
exist, then until now the bridge would mirror all incoming packets (on
specified VLAN(s), if any).  This matches the behavior that occurs if no
mirror selection ports were specified at all, and so it makes a certain
amount of logical sense.

But it is far more likely that the user simply misspelled a port name, or
specified the name of a port that does not always exist.  In fact we have
seen this behavior in practice when the controller has not caught up to
the switch's current configuration.  So this commit changes the bridge to
instead disable a mirror if ports are specified and none of those ports
exist.

Bug #1904.
vswitchd/bridge.c