Thread (7 messages) flat view 7 messages, 4 authors, 2017-05-19

Re: [PATCH net] bridge: fix hello and hold timers starting/stopping

From: Ivan Vecera <hidden>
Date: 2017-05-19 17:06:21
Also in: bridge

2017-05-19 18:55 GMT+02:00 Nikolay Aleksandrov [off-list ref]:
On 5/19/17 7:25 PM, Ivan Vecera wrote:
quoted
Current bridge code incorrectly handles starting/stopping of hello and
hold timers during STP enable/disable.

1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
    transition. This is not correct as the timers are stopped in NO_STP
    case.

This really is a noop, but ok.
Yes, stopping of stopped timers are safe but confusing.
quoted
2. Timers are started in br_stp_stop() during USER_STP->NO_STP transition.
    This is not also correct as the timers should be stopped in NO_STP
    state.

Indeed, but the actual end result is almost as them being stopped because
in the timers there are specific checks if the STP == KERNEL_STP (see
br_transmit_config()) and the hold_timers will simply expire and not rearm
in any other mode. The only real problem is the hello_timer which continues
to rearm itself, but with Xin's earlier patch that is taken care of too.
Yes, this is clean-up as well. The starting of timers are more
confusing than dangerous
but from a reader's point of view the starting of timers is non-sense
when STP is
going to be disabled.
quoted
3. Timers are NOT stopped in br_stp_stop() during KERNEL_STP->NO_STP
    transition. They should be stopped as they are running in KERNEL_STP
    state and should not run in NO_STP case.

Same comment as for point 2.
This can be removed... and leave hello_timer handler to stop itself.
quoted
The patch is a follow-up for "bridge: start hello_timer when enabling
KERNEL_STP in br_stp_start" patch from Xin Long.
I'd say this is more of a cleanup/improvement after Xin's patch and thus
would
suggest targeting net-next. The only real issue is fixed by his patch.
Agree... will send resend against net-next.

Thanks for comments,
Ivan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help