This patch is basically ready, two minor comments and we'll get it merged today.
First the title line should be changed to "bfd: Implement forwarding_if_rx." Note the period. > > - return bfd->state == STATE_UP > - && bfd->rmt_diag != DIAG_PATH_DOWN > - && bfd->rmt_diag != DIAG_CPATH_DOWN > - && bfd->rmt_diag != DIAG_RCPATH_DOWN; > + return (bfd->forwarding_if_rx > + ? bfd->forwarding_if_rx_detect_time > time_msec() > + : bfd->state == STATE_UP) > + && bfd->rmt_diag != DIAG_PATH_DOWN > + && bfd->rmt_diag != DIAG_CPATH_DOWN > + && bfd->rmt_diag != DIAG_RCPATH_DOWN; The indentation here isn't entirely correct. Also the logic doesn't seem entirely correct. I think we want something more like bfd->state == STATE_UP || (bfd->forwarding_if_rx && bfd->forwarding_if_rx_detect_time > time_msec()) I.E. if the state is up, we should be up no matter what forwarding if rx says. Btw this code reminds me, there's a bug with this logic which Paul fixed in the CFM code a while back. We should probably port the fix to BFD as well (in a separate patch). Could you have a look at it after this is merged? commit 016953a Author: Paul Ingram <ping...@nicira.com> Date: Sat Aug 3 07:12:36 2013 +0000 cfm: update remote opstate only when a CCM is received. 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. Thanks, Ethan _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev