k sounds good. Ethan
On Mon, Dec 9, 2013 at 3:21 PM, Alex Wang <al...@nicira.com> wrote: > okay, this makes sense. we could drop this patch. > > > On Mon, Dec 9, 2013 at 3:18 PM, Ethan Jackson <et...@nicira.com> wrote: >> >> Doesn't the next patch essentially resolve this issue by making the >> forwarding_if_rx calculation more responsive? With the new threaded >> put stuff that's coming, we can more or less guarantee that stats will >> be updated at worst once every 1.5 seconds which makes me think that >> 3000 seconds is overkill. >> >> Thoughts? >> Ethan >> >> On Mon, Dec 9, 2013 at 1:40 PM, Alex Wang <al...@nicira.com> wrote: >> > Currently, the ovs updates the rx_packet counter approximately every >> > 2000 ms. If there is rx_packet and forwarding_if_rx is enabled, the >> > forwarding_if_rx_detect_time will be incremented by 2000 ms. And as >> > long as forwarding_if_rx_detect_time is greater than current time, >> > the forwarding flag value is true. >> > >> > However, this can introduce forwarding flag flaps, when the current >> > time just passes forwarding_if_rx_detect_time and some other thread >> > calls bfd_forwarding() before the rx_packet counter and >> > forwarding_if_rx_detect_time are updated. >> > >> > This commit fixes the above issue by increasing the increment of >> > forwarding_if_rx_detect_time to 3000 ms. So we have 1000 ms to >> > compensate for the race condition. >> > >> > Reported-by: Joe Stringer <joestrin...@nicira.com> >> > Signed-off-by: Alex Wang <al...@nicira.com> >> > --- >> > lib/bfd.c | 2 +- >> > 1 file changed, 1 insertion(+), 1 deletion(-) >> > >> > diff --git a/lib/bfd.c b/lib/bfd.c >> > index 25129c9..4f7017d 100644 >> > --- a/lib/bfd.c >> > +++ b/lib/bfd.c >> > @@ -1105,7 +1105,7 @@ static void >> > bfd_forwarding_if_rx_update(struct bfd *bfd) OVS_REQUIRES(mutex) >> > { >> > int64_t incr = bfd_rx_interval(bfd) * bfd->mult; >> > - bfd->forwarding_if_rx_detect_time = MAX(incr, 2000) + time_msec(); >> > + bfd->forwarding_if_rx_detect_time = MAX(incr, 3000) + time_msec(); >> > bfd_forwarding__(bfd); >> > } >> > >> > -- >> > 1.7.9.5 >> > >> > _______________________________________________ >> > dev mailing list >> > dev@openvswitch.org >> > http://openvswitch.org/mailman/listinfo/dev > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev