switch (bs->ses_state) {
case PTM_BFD_INIT:
case PTM_BFD_UP:
- ptm_bfd_ses_dn(bs, BFD_DIAGDETECTTIME);
+ ptm_bfd_ses_dn(bs, BD_CONTROL_EXPIRED);
bfd_recvtimer_update(bs);
break;
switch (bs->ses_state) {
case PTM_BFD_INIT:
case PTM_BFD_UP:
- ptm_bfd_ses_dn(bs, BFD_DIAGDETECTTIME);
+ ptm_bfd_ses_dn(bs, BD_ECHO_FAILED);
break;
}
#define BFD_CBIT 0x08
#define BFD_ABIT 0x04
#define BFD_DEMANDBIT 0x02
-#define BFD_DIAGNEIGHDOWN 3
-#define BFD_DIAGDETECTTIME 1
-#define BFD_DIAGADMINDOWN 7
#define BFD_SETDEMANDBIT(flags, val) \
{ \
if ((val)) \
((int)(ETH_HDR_LEN + IP_HDR_LEN + UDP_HDR_LEN + BFD_ECHO_PKT_LEN))
#define BFD_RX_BUF_LEN 160
+enum bfd_diagnosticis {
+ BD_OK = 0,
+ /* Control Detection Time Expired. */
+ BD_CONTROL_EXPIRED = 1,
+ /* Echo Function Failed. */
+ BD_ECHO_FAILED = 2,
+ /* Neighbor Signaled Session Down. */
+ BD_NEIGHBOR_DOWN = 3,
+ /* Forwarding Plane Reset. */
+ BD_FORWARDING_RESET = 4,
+ /* Path Down. */
+ BD_PATH_DOWN = 5,
+ /* Concatenated Path Down. */
+ BD_CONCATPATH_DOWN = 6,
+ /* Administratively Down. */
+ BD_ADMIN_DOWN = 7,
+ /* Reverse Concatenated Path Down. */
+ BD_REVCONCATPATH_DOWN = 8,
+ /* 9..31: reserved. */
+};
+
/* BFD session flags */
enum bfd_session_flags {
BFD_SESS_FLAG_NONE = 0,
/* State switch from section 6.8.6 */
if (BFD_GETSTATE(cp->flags) == PTM_BFD_ADM_DOWN) {
if (bfd->ses_state != PTM_BFD_DOWN)
- ptm_bfd_ses_dn(bfd, BFD_DIAGNEIGHDOWN);
+ ptm_bfd_ses_dn(bfd, BD_NEIGHBOR_DOWN);
} else {
switch (bfd->ses_state) {
case (PTM_BFD_DOWN):
break;
case (PTM_BFD_UP):
if (BFD_GETSTATE(cp->flags) == PTM_BFD_DOWN)
- ptm_bfd_ses_dn(bfd, BFD_DIAGNEIGHDOWN);
+ ptm_bfd_ses_dn(bfd, BD_NEIGHBOR_DOWN);
break;
}
}
struct bfd_global bglobal;
struct bfd_diag_str_list diag_list[] = {
- {.str = "NeighDown", .type = BFD_DIAGNEIGHDOWN},
- {.str = "DetectTime", .type = BFD_DIAGDETECTTIME},
- {.str = "AdminDown", .type = BFD_DIAGADMINDOWN},
+ {.str = "control-expired", .type = BD_CONTROL_EXPIRED},
+ {.str = "echo-failed", .type = BD_ECHO_FAILED},
+ {.str = "neighbor-down", .type = BD_NEIGHBOR_DOWN},
+ {.str = "forwarding-reset", .type = BD_FORWARDING_RESET},
+ {.str = "path-down", .type = BD_PATH_DOWN},
+ {.str = "concatenated-path-down", .type = BD_CONCATPATH_DOWN},
+ {.str = "administratively-down", .type = BD_ADMIN_DOWN},
+ {.str = "reverse-concat-path-down", .type = BD_REVCONCATPATH_DOWN},
{.str = NULL},
};
struct bfd_state_str_list state_list[] = {
- {.str = "AdminDown", .type = PTM_BFD_ADM_DOWN},
- {.str = "Down", .type = PTM_BFD_DOWN},
- {.str = "Init", .type = PTM_BFD_INIT},
- {.str = "Up", .type = PTM_BFD_UP},
+ {.str = "admin-down", .type = PTM_BFD_ADM_DOWN},
+ {.str = "down", .type = PTM_BFD_DOWN},
+ {.str = "init", .type = PTM_BFD_INIT},
+ {.str = "up", .type = PTM_BFD_UP},
{.str = NULL},
};