diff options
| -rw-r--r-- | pathd/path_zebra.c | 6 | ||||
| -rw-r--r-- | pathd/path_zebra.h | 1 | ||||
| -rw-r--r-- | pathd/pathd.c | 2 | 
3 files changed, 9 insertions, 0 deletions
diff --git a/pathd/path_zebra.c b/pathd/path_zebra.c index 156267a394..a98532cc39 100644 --- a/pathd/path_zebra.c +++ b/pathd/path_zebra.c @@ -352,3 +352,9 @@ void path_zebra_init(struct thread_master *master)  	/* Connect to the LM. */  	path_zebra_label_manager_connect();  } + +void path_zebra_stop(void) +{ +	zclient_stop(zclient); +	zclient_free(zclient); +} diff --git a/pathd/path_zebra.h b/pathd/path_zebra.h index 42a7123dd4..683fcf10f7 100644 --- a/pathd/path_zebra.h +++ b/pathd/path_zebra.h @@ -30,5 +30,6 @@ void path_zebra_delete_sr_policy(struct srte_policy *policy);  int path_zebra_request_label(mpls_label_t label);  void path_zebra_release_label(mpls_label_t label);  void path_zebra_init(struct thread_master *master); +void path_zebra_stop(void);  #endif /* _FRR_PATH_MPLS_H_ */ diff --git a/pathd/pathd.c b/pathd/pathd.c index be2cfe8b01..e9d7cc6fc7 100644 --- a/pathd/pathd.c +++ b/pathd/pathd.c @@ -510,6 +510,8 @@ void srte_clean_zebra(void)  	RB_FOREACH_SAFE (policy, srte_policy_head, &srte_policies, safe_pol)  		srte_policy_del(policy); + +	path_zebra_stop();  }  /**  | 
