[ovs-dev] [PATCH 13/17] rstp-state-machines: fix rcv_info().

Jarno Rajahalme jrajahalme at nicira.com
Thu Nov 13 23:59:37 UTC 2014


Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>

Thanks!

On Nov 6, 2014, at 7:31 AM, Daniele Venturino <daniele.venturino at m3s.it> wrote:

>       A Config BPDU always conveys a Designated Port Role.
> 
> Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
> ---
> lib/rstp-state-machines.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machines.c
> index 13abec0..516093f 100644
> --- a/lib/rstp-state-machines.c
> +++ b/lib/rstp-state-machines.c
> @@ -1026,8 +1026,13 @@ rcv_info(struct rstp_port *p)
> 
>     cp = compare_rstp_priority_vectors(&p->msg_priority, &p->port_priority);
>     ct = rstp_times_equal(&p->port_times, &p->msg_times);
> -    role =
> -        (p->received_bpdu_buffer.flags & ROLE_FLAG_MASK) >> ROLE_FLAG_SHIFT;
> +    /* Configuration BPDU conveys a Designated Port Role. */
> +    if (p->received_bpdu_buffer.bpdu_type == CONFIGURATION_BPDU) {
> +        role = PORT_DES;
> +    } else {
> +        role =
> +            (p->received_bpdu_buffer.flags & ROLE_FLAG_MASK) >> ROLE_FLAG_SHIFT;
> +    }
> 
>     /* 802.1D-2004 does not report this behaviour.
>      * 802.1Q-2008 says set rcvdTcn. */
> @@ -1047,9 +1052,7 @@ rcv_info(struct rstp_port *p)
>      *     17.19.22).
>      * NOTE: Configuration BPDU explicitly conveys a Designated Port Role.
>      */
> -    if ((role == PORT_DES
> -         || p->received_bpdu_buffer.bpdu_type == CONFIGURATION_BPDU)
> -        && (cp == SUPERIOR || (cp == SAME && ct == false))) {
> +    if (role == PORT_DES && (cp == SUPERIOR || (cp == SAME && ct == false))) {
>         return SUPERIOR_DESIGNATED_INFO;
> 
>         /* Returns RepeatedDesignatedInfo if:
> -- 
> 1.8.1.2
> 




More information about the dev mailing list