[ovs-dev] [PATCH V2 2/2] bfd: Implements forwarding_if_rx
Alex Wang
alexw at nicira.com
Thu Aug 22 00:19:17 UTC 2013
Hey Ethan,
> Basically if the remote endpoint signaled cpath down, and
> forwarding_if_rx is enabled, that state should be sticky even if we
> lose some of their packets.
>
We do have a similar issue in BFD. I'm not sure if I fully understand your
suggestion. But I have a intuitive fix below:
"""
+++ b/lib/bfd.c
@@ -953,8 +953,10 @@ bfd_set_state(struct bfd *bfd, enum state state, enum
diag diag)
bfd->diag = diag;
if (bfd->state <= STATE_DOWN) {
+ if (!bfd->forwarding_if_rx) {
+ bfd->rmt_diag = DIAG_NONE;
+ }
bfd->rmt_state = STATE_DOWN;
- bfd->rmt_diag = DIAG_NONE;
bfd->rmt_min_rx = 1;
bfd->rmt_flags = 0;
bfd->rmt_disc = 0;
"""
So, when "bfd->forwarding_if_rx" is enabled, we always retain the
"rmt_diag". And it can only be changed by processing the bfd control
packets received.
Thanks,
Alex Wang,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20130821/b00d6cb0/attachment-0003.html>
More information about the dev
mailing list