summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2021-06-10 16:49:56 -0400
committermergify-bot <noreply@mergify.io>2021-07-24 17:16:58 +0000
commit0de3408c6945bdd6d1399a01e15efa2d85e91c0c (patch)
treeb705e8249995957bcea30c941c3233eec79ba710
parent12cedff3d2f886a20daff7ceefe489d9bb6b1fc0 (diff)
zebra: add boolean to control pw reachability checking
Add a boolean to control whether pseudowire reachability checking needs to be strict. Signed-off-by: Mark Stapp <mjs@voltanet.io> (cherry picked from commit 6fb3580882bef9cf94aa69a4b202eb9ea5307898)
-rw-r--r--zebra/zebra_mpls.c2
-rw-r--r--zebra/zebra_mpls.h1
-rw-r--r--zebra/zebra_mpls_openbsd.c3
3 files changed, 6 insertions, 0 deletions
diff --git a/zebra/zebra_mpls.c b/zebra/zebra_mpls.c
index 850ca17636..a4576b310e 100644
--- a/zebra/zebra_mpls.c
+++ b/zebra/zebra_mpls.c
@@ -54,6 +54,7 @@ DEFINE_MTYPE_STATIC(ZEBRA, FEC, "MPLS FEC object");
DEFINE_MTYPE_STATIC(ZEBRA, NHLFE, "MPLS nexthop object");
int mpls_enabled;
+bool mpls_pw_reach_strict; /* Strict reachability checking */
/* static function declarations */
@@ -3977,6 +3978,7 @@ void zebra_mpls_init_tables(struct zebra_vrf *zvrf)
void zebra_mpls_init(void)
{
mpls_enabled = 0;
+ mpls_pw_reach_strict = false;
if (mpls_kernel_init() < 0) {
flog_warn(EC_ZEBRA_MPLS_SUPPORT_DISABLED,
diff --git a/zebra/zebra_mpls.h b/zebra/zebra_mpls.h
index dd2d2e5658..7059d393ed 100644
--- a/zebra/zebra_mpls.h
+++ b/zebra/zebra_mpls.h
@@ -576,6 +576,7 @@ static inline int mpls_should_lsps_be_processed(struct route_node *rn)
/* Global variables. */
extern int mpls_enabled;
+extern bool mpls_pw_reach_strict; /* Strict pseudowire reachability checking */
#ifdef __cplusplus
}
diff --git a/zebra/zebra_mpls_openbsd.c b/zebra/zebra_mpls_openbsd.c
index b767929dc0..74b1e37278 100644
--- a/zebra/zebra_mpls_openbsd.c
+++ b/zebra/zebra_mpls_openbsd.c
@@ -458,6 +458,9 @@ int mpls_kernel_init(void)
kr_state.rtseq = 1;
+ /* Strict pseudowire reachability checking required for obsd */
+ mpls_pw_reach_strict = true;
+
return 0;
}