diff options
| -rw-r--r-- | staticd/static_nb.h | 4 | ||||
| -rw-r--r-- | staticd/static_vty.c | 16 | 
2 files changed, 18 insertions, 2 deletions
diff --git a/staticd/static_nb.h b/staticd/static_nb.h index aa11f34021..4902327b95 100644 --- a/staticd/static_nb.h +++ b/staticd/static_nb.h @@ -172,6 +172,10 @@ int routing_control_plane_protocols_name_validate(  	"frr-staticd:staticd/segment-routing/srv6"  /* srv6/static-sids */ +#define FRR_STATIC_SRV6_STATIC_SIDS_XPATH                                                          \ +	FRR_STATIC_SRV6_INFO_KEY_XPATH                                                             \ +	"/static-sids" +  #define FRR_STATIC_SRV6_SID_KEY_XPATH                                                              \  	FRR_STATIC_SRV6_INFO_KEY_XPATH                                                             \  	"/static-sids/"                                                                            \ diff --git a/staticd/static_vty.c b/staticd/static_vty.c index a6bf53e523..13a61e52c7 100644 --- a/staticd/static_vty.c +++ b/staticd/static_vty.c @@ -1174,10 +1174,22 @@ DEFUN_YANG_NOSH (no_static_srv6, no_static_srv6_cmd,  	return nb_cli_apply_changes(vty, "%s", xpath);  } -DEFPY_NOSH (static_srv6_sids, static_srv6_sids_cmd, -      "static-sids", +DEFPY_YANG_NOSH (static_srv6_sids, static_srv6_sids_cmd, +      "[no] static-sids", +	  NO_STR        "Segment Routing SRv6 SIDs\n")  { +	char xpath[XPATH_MAXLEN]; + +	if (no) { +		snprintf(xpath, sizeof(xpath), FRR_STATIC_SRV6_STATIC_SIDS_XPATH, +			 "frr-staticd:staticd", "staticd", VRF_DEFAULT_NAME); + +		nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL); + +		return nb_cli_apply_changes(vty, "%s", xpath); +	} +  	VTY_PUSH_CONTEXT_NULL(SRV6_SIDS_NODE);  	return CMD_SUCCESS;  }  | 
