Hey Ben, Joe,

Could I get a review of either or both of you, this evening?

I'm planning to push it later tonight,

Thanks,
Alex Wang


On Tue, Jul 15, 2014 at 7:19 PM, Alex Wang <al...@nicira.com> wrote:

> Commit 0d1cee123a84 (stp: Fix bpdu tx problem in listening state)
> makes ovs drop the stp bpdu packets if stp is not enabled on the
> input port.  However, when pif bridge is used and stp is enabled
> on the integration bridge.  The flow translation of stp bpdu
> packets will go through a level of resubmission which changes
> the input port to the corresponding peer port.  Since, the
> patch port on the pif bridge does not have stp enabled, the
> flow translation will drop the bpdu packets.
>
> This commit fixes the issue by making ovs forward stp bpdu packets
> on stp-disabled port.
>
> VMware-BZ: #1284695
>
> Signed-off-by: Alex Wang <al...@nicira.com>
> ---
>  lib/stp.c |    8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/lib/stp.c b/lib/stp.c
> index 218eb9a..85b8008 100644
> --- a/lib/stp.c
> +++ b/lib/stp.c
> @@ -685,12 +685,16 @@ stp_learn_in_state(enum stp_state state)
>  }
>
>  /* Returns true if 'state' is one in which rx&tx bpdu should be done on
> - * on a port, false otherwise. */
> + * on a port, false otherwise.
> + *
> + * Returns true if 'state' is STP_DISABLED, since presumably in that case
> the
> + * port should still work, just not have STP applied to it. */
>  bool
>  stp_listen_in_state(enum stp_state state)
>  {
>      return (state &
> -            (STP_LISTENING | STP_LEARNING | STP_FORWARDING)) != 0;
> +            ( STP_DISABLED | STP_LISTENING | STP_LEARNING
> +              | STP_FORWARDING)) != 0;
>  }
>
>  /* Returns the name for the given 'role' (for use in debugging and log
> --
> 1.7.9.5
>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to