From: Julien Courtat <julien.cour...@6wind.com>

To support EVPN, a new AFI and SAFI value are defined here.
For internal processing, two other values are used. Those values will
be used to reach RIB entries by using internal afi and safi values
as indexes.

Signed-off-by: Philippe Guibert <philippe.guib...@6wind.com>
---
 lib/prefix.c | 3 +++
 lib/zebra.h  | 8 ++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/prefix.c b/lib/prefix.c
index 43fc31713016..354890dd0400 100644
--- a/lib/prefix.c
+++ b/lib/prefix.c
@@ -238,6 +238,9 @@ afi2str(afi_t afi)
        return "IPv6";
     case AFI_ETHER:
        return "ethernet";
+    case AFI_INTERNAL_L2VPN:
+    case AFI_L2VPN:
+       return "l2vpn";
   }
   return NULL;
 }
diff --git a/lib/zebra.h b/lib/zebra.h
index a405d46eb9f7..c89b6684a060 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -497,7 +497,9 @@ typedef enum {
   AFI_IP  = 1,
   AFI_IP6 = 2,
   AFI_ETHER = 3,                /* RFC 1700 has "6" for 802.* */
-#define AFI_MAX 4
+  AFI_INTERNAL_L2VPN = 4,
+  AFI_L2VPN = 25
+#define AFI_MAX 5
 } afi_t;
 
 /* Subsequent Address Family Identifier. */
@@ -506,7 +508,9 @@ typedef enum {
 #define SAFI_RESERVED_3           3
 #define SAFI_MPLS_VPN             4
 #define SAFI_ENCAP               7 /* per IANA */
-#define SAFI_MAX                  8
+#define SAFI_INTERNAL_EVPN        8
+#define SAFI_EVPN                 70 /* per IANA */
+#define SAFI_MAX                  9
 
 /* Default Administrative Distance of each protocol. */
 #define ZEBRA_KERNEL_DISTANCE_DEFAULT      0
-- 
2.1.4


_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to