diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2023-08-11 18:36:35 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-11 18:36:35 +0300 |
| commit | 36156c9f3706b00883e8f2702db25fdcecd0956d (patch) | |
| tree | 563b09df2cd68c9d277185da25e7c4d332b6e2d6 /zebra/interface.c | |
| parent | 8ceb26240126dca3be65162b0c8aa9bad28a65f6 (diff) | |
| parent | 17c3f31642e3df2baabdd96bc1f5864408652549 (diff) | |
Merge pull request #14176 from pguibert6WIND/mpls_yang_enable_disable
Mpls yang enable disable
Diffstat (limited to 'zebra/interface.c')
| -rw-r--r-- | zebra/interface.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 4006f9c574..ab2b7d2446 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -3777,23 +3777,20 @@ DEFUN (multicast, DEFPY (mpls, mpls_cmd, - "[no] mpls enable", + "[no] mpls <enable$on|disable$off>", NO_STR MPLS_STR - "Set mpls to be on for the interface\n") + "Set mpls to be on for the interface\n" + "Set mpls to be off for the interface\n") { - VTY_DECLVAR_CONTEXT(interface, ifp); - struct zebra_if *if_data = ifp->info; - - if (no) { - dplane_intf_mpls_modify_state(ifp, false); - if_data->mpls_config = IF_ZEBRA_DATA_UNSPEC; - } else { - dplane_intf_mpls_modify_state(ifp, true); - if_data->mpls_config = IF_ZEBRA_DATA_ON; - } + if (!no) + nb_cli_enqueue_change(vty, "./frr-zebra:zebra/mpls", + NB_OP_CREATE, on ? "true" : "false"); + else + nb_cli_enqueue_change(vty, "./frr-zebra:zebra/mpls", + NB_OP_DESTROY, NULL); - return CMD_SUCCESS; + return nb_cli_apply_changes(vty, NULL); } int if_multicast_unset(struct interface *ifp) @@ -5633,6 +5630,9 @@ static int if_config_write(struct vty *vty) if (if_data->mpls_config == IF_ZEBRA_DATA_ON) vty_out(vty, " mpls enable\n"); + else if (if_data->mpls_config == + IF_ZEBRA_DATA_OFF) + vty_out(vty, " mpls disable\n"); } hook_call(zebra_if_config_wr, vty, ifp); |
