summaryrefslogtreecommitdiff
path: root/lib/zebra.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/zebra.h')
-rw-r--r--lib/zebra.h109
1 files changed, 61 insertions, 48 deletions
diff --git a/lib/zebra.h b/lib/zebra.h
index 8e1c4db804..6d64bbd670 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -126,6 +126,13 @@ typedef unsigned char u_int8_t;
#define __APPLE_USE_RFC_3542
#endif
+#ifndef HAVE_LIBCRYPT
+# ifdef HAVE_LIBCRYPTO
+# include <openssl/des.h>
+# define crypt DES_crypt
+# endif
+#endif
+
#include "openbsd-tree.h"
#include <netinet/in.h>
@@ -416,22 +423,15 @@ extern const char *zserv_command_string(unsigned int command);
typedef enum { AFI_IP = 1, AFI_IP6 = 2, AFI_L2VPN = 3, AFI_MAX = 4 } afi_t;
/* Subsequent Address Family Identifier. */
-#define SAFI_UNICAST 1
-#define SAFI_MULTICAST 2
-#define SAFI_MPLS_VPN 3
-#define SAFI_RESERVED_4 4
-#define SAFI_ENCAP 5
-#define SAFI_RESERVED_5 5
-#define SAFI_EVPN 6
-#define SAFI_LABELED_UNICAST 7
-#define SAFI_MAX 8
-
-#define IANA_SAFI_RESERVED 0
-#define IANA_SAFI_UNICAST 1
-#define IANA_SAFI_MULTICAST 2
-#define IANA_SAFI_LABELED_UNICAST 4
-#define IANA_SAFI_ENCAP 7
-#define IANA_SAFI_MPLS_VPN 128
+typedef enum {
+ SAFI_UNICAST = 1,
+ SAFI_MULTICAST = 2,
+ SAFI_MPLS_VPN = 3,
+ SAFI_ENCAP = 4,
+ SAFI_EVPN = 5,
+ SAFI_LABELED_UNICAST = 6,
+ SAFI_MAX = 7
+} safi_t;
/*
* The above AFI and SAFI definitions are for internal use. The protocol
@@ -451,12 +451,15 @@ typedef enum {
IANA_AFI_IP6MR = 129
} iana_afi_t;
-#define IANA_SAFI_RESERVED 0
-#define IANA_SAFI_UNICAST 1
-#define IANA_SAFI_MULTICAST 2
-#define IANA_SAFI_ENCAP 7
-#define IANA_SAFI_EVPN 70
-#define IANA_SAFI_MPLS_VPN 128
+typedef enum {
+ IANA_SAFI_RESERVED = 0,
+ IANA_SAFI_UNICAST = 1,
+ IANA_SAFI_MULTICAST = 2,
+ IANA_SAFI_LABELED_UNICAST = 4,
+ IANA_SAFI_ENCAP = 7,
+ IANA_SAFI_EVPN = 70,
+ IANA_SAFI_MPLS_VPN = 128
+} iana_safi_t;
/* Default Administrative Distance of each protocol. */
#define ZEBRA_KERNEL_DISTANCE_DEFAULT 0
@@ -477,8 +480,6 @@ typedef enum {
#define UNSET_FLAG(V,F) (V) &= ~(F)
#define RESET_FLAG(V) (V) = 0
-typedef u_int8_t safi_t;
-
/* Zebra types. Used in Zserv message header. */
typedef u_int16_t zebra_size_t;
typedef u_int16_t zebra_command_t;
@@ -492,58 +493,70 @@ typedef uint32_t route_tag_t;
static inline afi_t afi_iana2int(iana_afi_t afi)
{
- if (afi == IANA_AFI_IPV4)
+ switch (afi) {
+ case IANA_AFI_IPV4:
return AFI_IP;
- if (afi == IANA_AFI_IPV6)
+ case IANA_AFI_IPV6:
return AFI_IP6;
- if (afi == IANA_AFI_L2VPN)
+ case IANA_AFI_L2VPN:
return AFI_L2VPN;
- return AFI_MAX;
+ default:
+ return AFI_MAX;
+ }
}
static inline iana_afi_t afi_int2iana(afi_t afi)
{
- if (afi == AFI_IP)
+ switch (afi) {
+ case AFI_IP:
return IANA_AFI_IPV4;
- if (afi == AFI_IP6)
+ case AFI_IP6:
return IANA_AFI_IPV6;
- if (afi == AFI_L2VPN)
+ case AFI_L2VPN:
return IANA_AFI_L2VPN;
- return IANA_AFI_RESERVED;
+ default:
+ return IANA_AFI_RESERVED;
+ }
}
-static inline safi_t safi_iana2int(safi_t safi)
+static inline safi_t safi_iana2int(iana_safi_t safi)
{
- if (safi == IANA_SAFI_UNICAST)
+ switch (safi) {
+ case IANA_SAFI_UNICAST:
return SAFI_UNICAST;
- if (safi == IANA_SAFI_MULTICAST)
+ case IANA_SAFI_MULTICAST:
return SAFI_MULTICAST;
- if (safi == IANA_SAFI_MPLS_VPN)
+ case IANA_SAFI_MPLS_VPN:
return SAFI_MPLS_VPN;
- if (safi == IANA_SAFI_ENCAP)
+ case IANA_SAFI_ENCAP:
return SAFI_ENCAP;
- if (safi == IANA_SAFI_EVPN)
+ case IANA_SAFI_EVPN:
return SAFI_EVPN;
- if (safi == IANA_SAFI_LABELED_UNICAST)
+ case IANA_SAFI_LABELED_UNICAST:
return SAFI_LABELED_UNICAST;
- return SAFI_MAX;
+ default:
+ return SAFI_MAX;
+ }
}
-static inline safi_t safi_int2iana(safi_t safi)
+static inline iana_safi_t safi_int2iana(safi_t safi)
{
- if (safi == SAFI_UNICAST)
+ switch (safi) {
+ case SAFI_UNICAST:
return IANA_SAFI_UNICAST;
- if (safi == SAFI_MULTICAST)
+ case SAFI_MULTICAST:
return IANA_SAFI_MULTICAST;
- if (safi == SAFI_MPLS_VPN)
+ case SAFI_MPLS_VPN:
return IANA_SAFI_MPLS_VPN;
- if (safi == SAFI_ENCAP)
+ case SAFI_ENCAP:
return IANA_SAFI_ENCAP;
- if (safi == SAFI_EVPN)
+ case SAFI_EVPN:
return IANA_SAFI_EVPN;
- if (safi == SAFI_LABELED_UNICAST)
+ case SAFI_LABELED_UNICAST:
return IANA_SAFI_LABELED_UNICAST;
- return IANA_SAFI_RESERVED;
+ default:
+ return IANA_SAFI_RESERVED;
+ }
}
#endif /* _ZEBRA_H */