]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/pw.h
Merge pull request #13649 from donaldsharp/unlock_the_node_or_else
[mirror_frr.git] / lib / pw.h
index 2cfaa47e5d6ef3b38ceb7c7cd21469b7ea925dfb..17f7bdac071d6a17d6ac9bb97df4060f792e2070 100644 (file)
--- a/lib/pw.h
+++ b/lib/pw.h
@@ -1,25 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
 /* Pseudowire definitions
  * Copyright (C) 2016 Volta Networks, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
  */
 
 #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 +38,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 */