* See the License for the specific language governing permissions and
* limitations under the License.
*/
+/**
+ * @file
+ * @brief BFD protocol implementation
+ */
#include <vnet/bfd/bfd_protocol.h>
u8
return (pkt->head.sta_flags >> 3) & 1;
}
+#if 0
void
bfd_pkt_set_control_plane_independent (bfd_pkt_t * pkt)
{
pkt->head.sta_flags |= 1 << 3;
}
+#endif
u8
bfd_pkt_get_auth_present (const bfd_pkt_t * pkt)
return (pkt->head.sta_flags >> 1) & 1;
}
+#if 0
void
bfd_pkt_set_demand (bfd_pkt_t * pkt)
{
pkt->head.sta_flags |= 1 << 1;
}
+#endif
u8
bfd_pkt_get_multipoint (const bfd_pkt_t * pkt)
return (pkt->head.sta_flags >> 0) & 1;
}
+#if 0
void
bfd_pkt_set_multipoint (bfd_pkt_t * pkt)
{
pkt->head.sta_flags |= 1 << 0;
}
+#endif
u32
-bfd_max_len_for_auth_type (bfd_auth_type_e auth_type)
+bfd_max_key_len_for_auth_type (bfd_auth_type_e auth_type)
{
#define F(t, l, n, s) \
if (auth_type == t) \
return "UNKNOWN";
}
+const char *
+bfd_diag_code_string (bfd_diag_code_e diag)
+{
+#define F(n, t, s) \
+ case BFD_DIAG_CODE_NAME (t): \
+ return s;
+ switch (diag)
+ {
+ foreach_bfd_diag_code (F)}
+ return "UNKNOWN";
+#undef F
+}
+
+const char *
+bfd_state_string (bfd_state_e state)
+{
+#define F(n, t, s) \
+ case BFD_STATE_NAME (t): \
+ return s;
+ switch (state)
+ {
+ foreach_bfd_state (F)}
+ return "UNKNOWN";
+#undef F
+}
+
/*
* fd.io coding-style-patch-verification: ON
*