summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKaren Schoener <karen@volta.io>2020-05-28 16:36:35 -0400
committerKaren Schoener <karen@volta.io>2020-06-01 13:21:37 -0400
commitfd563cc7f35e598decdbfd6a58bae2f050143b3f (patch)
tree682f7ce1aaa6b133803c0c61e31e2c6f55d387f9 /lib
parent6b2210021cab645efa58a23d5a4d171fe37f305e (diff)
ldpd: Relay data plane pseudowire status in LDP notification
Provide a way for the data plane to indicate pseudowire status (such as: not forwarding, AC failure). On a data plane pseudowire install failure, data plane sets the pseudowire status. Zebra relays the pseudowire status to LDP. LDP includes the pseudowire status in the LDP notification to the LDP peer. Signed-off-by: Karen Schoener <karen@voltanet.io>
Diffstat (limited to 'lib')
-rw-r--r--lib/pw.h10
-rw-r--r--lib/zclient.h1
2 files changed, 8 insertions, 3 deletions
diff --git a/lib/pw.h b/lib/pw.h
index 42b3ee2155..2fc4a61f96 100644
--- a/lib/pw.h
+++ b/lib/pw.h
@@ -35,9 +35,13 @@ extern "C" {
/* Pseudowire flags. */
#define F_PSEUDOWIRE_CWORD 0x01
-/* Pseudowire status. */
-#define PW_STATUS_DOWN 0
-#define PW_STATUS_UP 1
+/* Pseudowire status TLV */
+#define PW_FORWARDING 0
+#define PW_NOT_FORWARDING (1 << 0)
+#define PW_LOCAL_RX_FAULT (1 << 1)
+#define PW_LOCAL_TX_FAULT (1 << 2)
+#define PW_PSN_RX_FAULT (1 << 3)
+#define PW_PSN_TX_FAULT (1 << 4)
/*
* Protocol-specific information about the pseudowire.
diff --git a/lib/zclient.h b/lib/zclient.h
index 4ada064623..e3e929c8d6 100644
--- a/lib/zclient.h
+++ b/lib/zclient.h
@@ -514,6 +514,7 @@ struct zapi_pw_status {
char ifname[IF_NAMESIZE];
ifindex_t ifindex;
uint32_t status;
+ uint32_t pwstatus;
};
enum zapi_route_notify_owner {