Skip to content

Commit

Permalink
bfd: always export remote_state and remote_diagnostic to OVSDB
Browse files Browse the repository at this point in the history
RFC 5880 specified bfd.RemoteSessionState as one of the state
variables.  In OVS implementation, this value is exported to OVSDB's
BFD status column of the interface table, as one of the map elements,
with the key of 'remote_state'.

It can be surprising when the 'remote_state' map element disappears
when BFD is in the 'DOWN' state, but otherwise always exported.
Change to always exporting it, to make it more predictable for
applications that monitors the BFD status column.

While at it, make the same change to 'remote_diagnostic', so that it
is also always exported to OVSDB for consistency.

VMWare-BZ: 1535979
Reported-by: Mihir Gangar <gangarm@vmware.com>
Signed-off-by: Andy Zhou <azhou@nicira.com>
Acked-by: Justin Pettit <jpettit@nicira.com>
  • Loading branch information
azhou-nicira committed Oct 23, 2015
1 parent 67794d5 commit 2979b91
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions lib/bfd.c
@@ -1,4 +1,4 @@
/* Copyright (c) 2013, 2014 Nicira, Inc.
/* Copyright (c) 2013, 2014, 2015 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -321,11 +321,8 @@ bfd_get_status(const struct bfd *bfd, struct smap *smap)
smap_add(smap, "state", bfd_state_str(bfd->state));
smap_add(smap, "diagnostic", bfd_diag_str(bfd->diag));
smap_add_format(smap, "flap_count", "%"PRIu64, bfd->flap_count);

if (bfd->state != STATE_DOWN) {
smap_add(smap, "remote_state", bfd_state_str(bfd->rmt_state));
smap_add(smap, "remote_diagnostic", bfd_diag_str(bfd->rmt_diag));
}
smap_add(smap, "remote_state", bfd_state_str(bfd->rmt_state));
smap_add(smap, "remote_diagnostic", bfd_diag_str(bfd->rmt_diag));
ovs_mutex_unlock(&mutex);
}

Expand Down

0 comments on commit 2979b91

Please sign in to comment.