]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/pw.h
lib: Add int encoder/decoder
[mirror_frr.git] / lib / pw.h
index 2cfaa47e5d6ef3b38ceb7c7cd21469b7ea925dfb..2fc4a61f967929c1426176cdde746d0172cef8ea 100644 (file)
--- a/lib/pw.h
+++ b/lib/pw.h
 #ifndef _FRR_PW_H
 #define _FRR_PW_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* L2VPN name length. */
 #define L2VPN_NAME_LEN         32
 
 /* 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.
@@ -44,9 +52,10 @@ union pw_protocol_fields {
                uint32_t pwid;
                char vpn_name[L2VPN_NAME_LEN];
        } ldp;
-       struct {
-               /* TODO */
-       } bgp;
 };
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _FRR_PW_H */