BFD_STATE_DOWN
case BFD_STATE_DOWN:
bfd_set_state(bfd, BFD_STATE_DOWN);
if (bfd->bc_neighbor->bn_lstate > BFD_STATE_DOWN) {
bfd_set_state(bfd, BFD_STATE_DOWN);
if (bfd->bc_state <= BFD_STATE_DOWN)
if (bfd->bc_state > BFD_STATE_DOWN)
bfd_set_state(bfd, BFD_STATE_DOWN);
if (bfd->bc_state > BFD_STATE_DOWN) {
bfd->bc_state = BFD_STATE_DOWN;
bfd->bc_neighbor->bn_lstate = BFD_STATE_DOWN;
bfd->bc_neighbor->bn_rstate = BFD_STATE_DOWN;
BFD_STATE(peer->bfd_sta_flags) > BFD_STATE_DOWN)
if (bfd->bc_neighbor->bn_lstate != BFD_STATE_DOWN) {
bfd_set_state(bfd, BFD_STATE_DOWN);
} else if (bfd->bc_neighbor->bn_lstate == BFD_STATE_DOWN) {
if (bfd->bc_neighbor->bn_rstate == BFD_STATE_DOWN)
if (bfd->bc_neighbor->bn_rstate == BFD_STATE_DOWN) {
bfd_set_state(bfd, BFD_STATE_DOWN);
bfd->bc_neighbor->bn_lstate = BFD_STATE_DOWN;
case BFD_STATE_DOWN: