From 988638bd8da987edd96bd94c363476f4f502f270 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:27:42 -0500 Subject: [PATCH 1/9] bgpd: Remove extraneous include of version.h It's not needed in these compiles. So let's remove it. Signed-off-by: Donald Sharp --- bgpd/bgp_debug.c | 1 - bgpd/bgp_snmp_bgp4.c | 1 - bgpd/bgp_snmp_bgp4v2.c | 1 - bgpd/rfapi/vnc_debug.c | 1 - 4 files changed, 4 deletions(-) diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c index f01c3e4f35..8e199820bb 100644 --- a/bgpd/bgp_debug.c +++ b/bgpd/bgp_debug.c @@ -20,7 +20,6 @@ #include -#include #include "lib/bfd.h" #include "lib/printfrr.h" #include "prefix.h" diff --git a/bgpd/bgp_snmp_bgp4.c b/bgpd/bgp_snmp_bgp4.c index bb8b7f4b19..5bc2bb2dc1 100644 --- a/bgpd/bgp_snmp_bgp4.c +++ b/bgpd/bgp_snmp_bgp4.c @@ -32,7 +32,6 @@ #include "filter.h" #include "hook.h" #include "libfrr.h" -#include "lib/version.h" #include "bgpd/bgpd.h" #include "bgpd/bgp_table.h" diff --git a/bgpd/bgp_snmp_bgp4v2.c b/bgpd/bgp_snmp_bgp4v2.c index d8d8549960..1755cd9710 100644 --- a/bgpd/bgp_snmp_bgp4v2.c +++ b/bgpd/bgp_snmp_bgp4v2.c @@ -33,7 +33,6 @@ #include "filter.h" #include "hook.h" #include "libfrr.h" -#include "lib/version.h" #include "bgpd/bgpd.h" #include "bgpd/bgp_table.h" diff --git a/bgpd/rfapi/vnc_debug.c b/bgpd/rfapi/vnc_debug.c index 5c627efbee..322f98e160 100644 --- a/bgpd/rfapi/vnc_debug.c +++ b/bgpd/rfapi/vnc_debug.c @@ -19,7 +19,6 @@ #include "lib/zebra.h" -#include #include "lib/prefix.h" #include "lib/linklist.h" #include "lib/stream.h" From 89740607606daa8ee35def3fc52e62e38f3c2b1b Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:28:28 -0500 Subject: [PATCH 2/9] pathd: Remove extraneous include of version.h It's not needed in these compiles. So let's remove it. Signed-off-by: Donald Sharp --- pathd/path_pcep_controller.c | 1 - pathd/path_pcep_pcc.c | 1 - 2 files changed, 2 deletions(-) diff --git a/pathd/path_pcep_controller.c b/pathd/path_pcep_controller.c index 380d1ab221..84b74aed86 100644 --- a/pathd/path_pcep_controller.c +++ b/pathd/path_pcep_controller.c @@ -22,7 +22,6 @@ #include "command.h" #include "libfrr.h" #include "printfrr.h" -#include "lib/version.h" #include "northbound.h" #include "frr_pthread.h" #include "jhash.h" diff --git a/pathd/path_pcep_pcc.c b/pathd/path_pcep_pcc.c index 524c77c1fb..6ad5d6caff 100644 --- a/pathd/path_pcep_pcc.c +++ b/pathd/path_pcep_pcc.c @@ -33,7 +33,6 @@ #include "command.h" #include "libfrr.h" #include "printfrr.h" -#include "lib/version.h" #include "northbound.h" #include "frr_pthread.h" #include "jhash.h" From eea0ea38018870d227c4cc518733867337c44829 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:28:46 -0500 Subject: [PATCH 3/9] pimd: Remove extraneous include of version.h It's not needed in these compiles. So let's remove it. Signed-off-by: Donald Sharp --- pimd/pim_main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/pimd/pim_main.c b/pimd/pim_main.c index c168c0b098..dadc7827c4 100644 --- a/pimd/pim_main.c +++ b/pimd/pim_main.c @@ -32,7 +32,6 @@ #include "filter.h" #include "vty.h" #include "sigevent.h" -#include "lib/version.h" #include "prefix.h" #include "plist.h" #include "vrf.h" From e1f5ddd0b7ac21891964a1a1373c3aeda112a418 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:28:59 -0500 Subject: [PATCH 4/9] bgpd: Remove extraneous include of version.h It's not needed in these compiles. So let's remove it. Signed-off-by: Donald Sharp --- zebra/zebra_ptm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/zebra/zebra_ptm.c b/zebra/zebra_ptm.c index 4a18eb021e..937dc090a4 100644 --- a/zebra/zebra_ptm.c +++ b/zebra/zebra_ptm.c @@ -31,7 +31,6 @@ #include "ptm_lib.h" #include "rib.h" #include "stream.h" -#include "lib/version.h" #include "vrf.h" #include "vty.h" #include "lib_errors.h" From 09339809a073db0a4e7a374a6403280537cf27e6 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:31:56 -0500 Subject: [PATCH 5/9] lib: Remove include of linux specific version.h We apparently do not use it and looking at what this file actually includes, we should not be including this at all. Signed-off-by: Donald Sharp --- lib/zebra.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/zebra.h b/lib/zebra.h index b2f5e5a848..8b3aa80fd0 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -75,11 +75,6 @@ #include #endif -/* machine dependent includes */ -#ifdef HAVE_LINUX_VERSION_H -#include -#endif /* HAVE_LINUX_VERSION_H */ - #ifdef HAVE_ASM_TYPES_H #include #endif /* HAVE_ASM_TYPES_H */ From af01a87b3d625fa88ad9c93b9ccf301e307fdcbb Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:35:44 -0500 Subject: [PATCH 6/9] lib: Remove include of asm/types.h We do not use this, nor should we. So let's remove it. Signed-off-by: Donald Sharp --- lib/zebra.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/zebra.h b/lib/zebra.h index 8b3aa80fd0..7347cddf9c 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -75,10 +75,6 @@ #include #endif -#ifdef HAVE_ASM_TYPES_H -#include -#endif /* HAVE_ASM_TYPES_H */ - /* misc include group */ #include From 8f4ea1fc5d3f0d4c7a5209696e1dd3d5364b961e Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:39:33 -0500 Subject: [PATCH 7/9] lib, zebra: Move ZEBRA_ON_RIB_PROCESS_HOOK_CALL The define of ZEBRA_ON_RIB_PROCESS_HOOK_CALL was in zebra.h which exposes it to everyone, except zebra is the only daemon to use this define. This does not beling in zebra.h Signed-off-by: Donald Sharp --- lib/zebra.h | 3 --- zebra/rib.h | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/zebra.h b/lib/zebra.h index 7347cddf9c..c39406692b 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -402,9 +402,6 @@ typedef uint32_t route_tag_t; #define ROUTE_TAG_MAX UINT32_MAX #define ROUTE_TAG_PRI PRIu32 -/* Name of hook calls */ -#define ZEBRA_ON_RIB_PROCESS_HOOK_CALL "on_rib_process_dplane_results" - #ifdef __cplusplus } #endif diff --git a/zebra/rib.h b/zebra/rib.h index 166500fa5c..8a3b3e657f 100644 --- a/zebra/rib.h +++ b/zebra/rib.h @@ -625,6 +625,9 @@ extern pid_t pid; extern bool v6_rr_semantics; +/* Name of hook calls */ +#define ZEBRA_ON_RIB_PROCESS_HOOK_CALL "on_rib_process_dplane_results" + #ifdef __cplusplus } #endif From 3d55a4ef29b6b44ba7ea2399d81e4496859da84c Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 08:54:56 -0500 Subject: [PATCH 8/9] lib, zebra: Use defines for distance Use the defines for distance that are in zebra.h. We could easily have a cluster where we don't agree with ourselves. So let's convert zebra to use the defines in zebra.h Signed-off-by: Donald Sharp --- lib/zebra.h | 30 ++++++++------ zebra/zebra_rib.c | 99 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 87 insertions(+), 42 deletions(-) diff --git a/lib/zebra.h b/lib/zebra.h index c39406692b..5de0a09342 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -366,17 +366,25 @@ typedef enum { for (safi = SAFI_UNICAST; safi <= SAFI_MPLS_VPN; safi++) /* Default Administrative Distance of each protocol. */ -#define ZEBRA_KERNEL_DISTANCE_DEFAULT 0 -#define ZEBRA_CONNECT_DISTANCE_DEFAULT 0 -#define ZEBRA_STATIC_DISTANCE_DEFAULT 1 -#define ZEBRA_RIP_DISTANCE_DEFAULT 120 -#define ZEBRA_RIPNG_DISTANCE_DEFAULT 120 -#define ZEBRA_OSPF_DISTANCE_DEFAULT 110 -#define ZEBRA_OSPF6_DISTANCE_DEFAULT 110 -#define ZEBRA_ISIS_DISTANCE_DEFAULT 115 -#define ZEBRA_IBGP_DISTANCE_DEFAULT 200 -#define ZEBRA_EBGP_DISTANCE_DEFAULT 20 -#define ZEBRA_TABLE_DISTANCE_DEFAULT 15 +#define ZEBRA_KERNEL_DISTANCE_DEFAULT 0 +#define ZEBRA_CONNECT_DISTANCE_DEFAULT 0 +#define ZEBRA_STATIC_DISTANCE_DEFAULT 1 +#define ZEBRA_RIP_DISTANCE_DEFAULT 120 +#define ZEBRA_RIPNG_DISTANCE_DEFAULT 120 +#define ZEBRA_OSPF_DISTANCE_DEFAULT 110 +#define ZEBRA_OSPF6_DISTANCE_DEFAULT 110 +#define ZEBRA_ISIS_DISTANCE_DEFAULT 115 +#define ZEBRA_IBGP_DISTANCE_DEFAULT 200 +#define ZEBRA_EBGP_DISTANCE_DEFAULT 20 +#define ZEBRA_TABLE_DISTANCE_DEFAULT 15 +#define ZEBRA_EIGRP_DISTANCE_DEFAULT 90 +#define ZEBRA_NHRP_DISTANCE_DEFAULT 10 +#define ZEBRA_LDP_DISTANCE_DEFAULT 150 +#define ZEBRA_BABEL_DISTANCE_DEFAULT 100 +#define ZEBRA_SHARP_DISTANCE_DEFAULT 150 +#define ZEBRA_PBR_DISTANCE_DEFAULT 200 +#define ZEBRA_OPENFABRIC_DISTANCE_DEFAULT 115 +#define ZEBRA_MAX_DISTANCE_DEFAULT 255 /* Flag manipulation macros. */ #define CHECK_FLAG(V,F) ((V) & (F)) diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index ba8073defe..fe9f340c2a 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -99,42 +99,79 @@ static const struct { uint8_t distance; enum meta_queue_indexes meta_q_map; } route_info[ZEBRA_ROUTE_MAX] = { - [ZEBRA_ROUTE_NHG] = {ZEBRA_ROUTE_NHG, 255 /* Unneeded for nhg's */, - META_QUEUE_NHG}, - [ZEBRA_ROUTE_SYSTEM] = {ZEBRA_ROUTE_SYSTEM, 0, META_QUEUE_KERNEL}, - [ZEBRA_ROUTE_KERNEL] = {ZEBRA_ROUTE_KERNEL, 0, META_QUEUE_KERNEL}, - [ZEBRA_ROUTE_CONNECT] = {ZEBRA_ROUTE_CONNECT, 0, META_QUEUE_CONNECTED}, - [ZEBRA_ROUTE_STATIC] = {ZEBRA_ROUTE_STATIC, 1, META_QUEUE_STATIC}, - [ZEBRA_ROUTE_RIP] = {ZEBRA_ROUTE_RIP, 120, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_RIPNG] = {ZEBRA_ROUTE_RIPNG, 120, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_OSPF] = {ZEBRA_ROUTE_OSPF, 110, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_OSPF6] = {ZEBRA_ROUTE_OSPF6, 110, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_ISIS] = {ZEBRA_ROUTE_ISIS, 115, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_BGP] = {ZEBRA_ROUTE_BGP, 20 /* IBGP is 200. */, + [ZEBRA_ROUTE_NHG] = + {ZEBRA_ROUTE_NHG, + ZEBRA_MAX_DISTANCE_DEFAULT /* Unneeded for nhg's */, + META_QUEUE_NHG}, + [ZEBRA_ROUTE_SYSTEM] = {ZEBRA_ROUTE_SYSTEM, + ZEBRA_KERNEL_DISTANCE_DEFAULT, + META_QUEUE_KERNEL}, + [ZEBRA_ROUTE_KERNEL] = {ZEBRA_ROUTE_KERNEL, + ZEBRA_KERNEL_DISTANCE_DEFAULT, + META_QUEUE_KERNEL}, + [ZEBRA_ROUTE_CONNECT] = {ZEBRA_ROUTE_CONNECT, + ZEBRA_CONNECT_DISTANCE_DEFAULT, + META_QUEUE_CONNECTED}, + [ZEBRA_ROUTE_STATIC] = {ZEBRA_ROUTE_STATIC, + ZEBRA_STATIC_DISTANCE_DEFAULT, + META_QUEUE_STATIC}, + [ZEBRA_ROUTE_RIP] = {ZEBRA_ROUTE_RIP, ZEBRA_RIP_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_RIPNG] = {ZEBRA_ROUTE_RIPNG, ZEBRA_RIP_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_OSPF] = {ZEBRA_ROUTE_OSPF, ZEBRA_OSPF_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_OSPF6] = {ZEBRA_ROUTE_OSPF6, ZEBRA_OSPF6_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_ISIS] = {ZEBRA_ROUTE_ISIS, ZEBRA_ISIS_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_BGP] = {ZEBRA_ROUTE_BGP, + ZEBRA_EBGP_DISTANCE_DEFAULT /* IBGP is 200. */, META_QUEUE_BGP}, - [ZEBRA_ROUTE_PIM] = {ZEBRA_ROUTE_PIM, 255, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_EIGRP] = {ZEBRA_ROUTE_EIGRP, 90, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_NHRP] = {ZEBRA_ROUTE_NHRP, 10, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_HSLS] = {ZEBRA_ROUTE_HSLS, 255, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_OLSR] = {ZEBRA_ROUTE_OLSR, 255, META_QUEUE_OTHER}, + [ZEBRA_ROUTE_PIM] = {ZEBRA_ROUTE_PIM, ZEBRA_MAX_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_EIGRP] = {ZEBRA_ROUTE_EIGRP, ZEBRA_EIGRP_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_NHRP] = {ZEBRA_ROUTE_NHRP, ZEBRA_NHRP_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_HSLS] = {ZEBRA_ROUTE_HSLS, ZEBRA_MAX_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_OLSR] = {ZEBRA_ROUTE_OLSR, ZEBRA_MAX_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, [ZEBRA_ROUTE_TABLE] = {ZEBRA_ROUTE_TABLE, 150, META_QUEUE_STATIC}, - [ZEBRA_ROUTE_LDP] = {ZEBRA_ROUTE_LDP, 150, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_VNC] = {ZEBRA_ROUTE_VNC, 20, META_QUEUE_BGP}, - [ZEBRA_ROUTE_VNC_DIRECT] = {ZEBRA_ROUTE_VNC_DIRECT, 20, META_QUEUE_BGP}, - [ZEBRA_ROUTE_VNC_DIRECT_RH] = {ZEBRA_ROUTE_VNC_DIRECT_RH, 20, + [ZEBRA_ROUTE_LDP] = {ZEBRA_ROUTE_LDP, ZEBRA_LDP_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_VNC] = {ZEBRA_ROUTE_VNC, ZEBRA_EBGP_DISTANCE_DEFAULT, + META_QUEUE_BGP}, + [ZEBRA_ROUTE_VNC_DIRECT] = {ZEBRA_ROUTE_VNC_DIRECT, + ZEBRA_EBGP_DISTANCE_DEFAULT, + META_QUEUE_BGP}, + [ZEBRA_ROUTE_VNC_DIRECT_RH] = {ZEBRA_ROUTE_VNC_DIRECT_RH, + ZEBRA_EBGP_DISTANCE_DEFAULT, META_QUEUE_BGP}, - [ZEBRA_ROUTE_BGP_DIRECT] = {ZEBRA_ROUTE_BGP_DIRECT, 20, META_QUEUE_BGP}, - [ZEBRA_ROUTE_BGP_DIRECT_EXT] = {ZEBRA_ROUTE_BGP_DIRECT_EXT, 20, + [ZEBRA_ROUTE_BGP_DIRECT] = {ZEBRA_ROUTE_BGP_DIRECT, + ZEBRA_EBGP_DISTANCE_DEFAULT, + META_QUEUE_BGP}, + [ZEBRA_ROUTE_BGP_DIRECT_EXT] = {ZEBRA_ROUTE_BGP_DIRECT_EXT, + ZEBRA_EBGP_DISTANCE_DEFAULT, META_QUEUE_BGP}, - [ZEBRA_ROUTE_BABEL] = {ZEBRA_ROUTE_BABEL, 100, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_SHARP] = {ZEBRA_ROUTE_SHARP, 150, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_PBR] = {ZEBRA_ROUTE_PBR, 200, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_BFD] = {ZEBRA_ROUTE_BFD, 255, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_OPENFABRIC] = {ZEBRA_ROUTE_OPENFABRIC, 115, + [ZEBRA_ROUTE_BABEL] = {ZEBRA_ROUTE_BABEL, ZEBRA_BABEL_DISTANCE_DEFAULT, + META_QUEUE_NOTBGP}, + [ZEBRA_ROUTE_SHARP] = {ZEBRA_ROUTE_SHARP, ZEBRA_SHARP_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_PBR] = {ZEBRA_ROUTE_PBR, ZEBRA_PBR_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_BFD] = {ZEBRA_ROUTE_BFD, ZEBRA_MAX_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_OPENFABRIC] = {ZEBRA_ROUTE_OPENFABRIC, + ZEBRA_OPENFABRIC_DISTANCE_DEFAULT, META_QUEUE_NOTBGP}, - [ZEBRA_ROUTE_VRRP] = {ZEBRA_ROUTE_VRRP, 255, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_SRTE] = {ZEBRA_ROUTE_SRTE, 255, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_ALL] = {ZEBRA_ROUTE_ALL, 255, META_QUEUE_OTHER}, + [ZEBRA_ROUTE_VRRP] = {ZEBRA_ROUTE_VRRP, ZEBRA_MAX_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_SRTE] = {ZEBRA_ROUTE_SRTE, ZEBRA_MAX_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, + [ZEBRA_ROUTE_ALL] = {ZEBRA_ROUTE_ALL, ZEBRA_MAX_DISTANCE_DEFAULT, + META_QUEUE_OTHER}, /* Any new route type added to zebra, should be mirrored here */ /* no entry/default: 150 */ From 8b6a9cca676fe9c22d2a51f0b830ca2115528800 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 10 Feb 2023 09:04:44 -0500 Subject: [PATCH 9/9] lib, zebra: Consolidate ZEBRA_TABLE_MAX_DISTANCE values Currently `ip import-table 33` imports routes with a distance of 15, as defined by zebra.h. zebra_rib.c on the other hand believes the default value for the table is 150. Let's make them agree with each other. Signed-off-by: Donald Sharp --- zebra/zebra_rib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index fe9f340c2a..fda31b4717 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -138,7 +138,7 @@ static const struct { META_QUEUE_OTHER}, [ZEBRA_ROUTE_OLSR] = {ZEBRA_ROUTE_OLSR, ZEBRA_MAX_DISTANCE_DEFAULT, META_QUEUE_OTHER}, - [ZEBRA_ROUTE_TABLE] = {ZEBRA_ROUTE_TABLE, 150, META_QUEUE_STATIC}, + [ZEBRA_ROUTE_TABLE] = {ZEBRA_ROUTE_TABLE, ZEBRA_TABLE_DISTANCE_DEFAULT, META_QUEUE_STATIC}, [ZEBRA_ROUTE_LDP] = {ZEBRA_ROUTE_LDP, ZEBRA_LDP_DISTANCE_DEFAULT, META_QUEUE_OTHER}, [ZEBRA_ROUTE_VNC] = {ZEBRA_ROUTE_VNC, ZEBRA_EBGP_DISTANCE_DEFAULT,