]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: clarify interface-level mpls config 13394/head
authorMark Stapp <mjs@labn.net>
Wed, 26 Apr 2023 19:55:32 +0000 (15:55 -0400)
committerMark Stapp <mjs@labn.net>
Mon, 12 Jun 2023 20:41:27 +0000 (16:41 -0400)
We have both interface-level configuration to enable mpls,
and runtime mpls status. They need to be distinct.

Signed-off-by: Mark Stapp <mjs@labn.net>
zebra/interface.c
zebra/interface.h

index ccf1a0a204b790416b75a2e7abafeb4ab3d87afe..509a0ffd2c1b062f0ddfdaa8b4307c7a074d2f59 100644 (file)
@@ -135,6 +135,7 @@ static int if_zebra_new_hook(struct interface *ifp)
        zebra_if->ifp = ifp;
 
        zebra_if->multicast = IF_ZEBRA_DATA_UNSPEC;
+       zebra_if->mpls_config = IF_ZEBRA_DATA_UNSPEC;
        zebra_if->shutdown = IF_ZEBRA_DATA_OFF;
 
        zebra_if->link_nsid = NS_UNKNOWN;
@@ -3016,10 +3017,10 @@ DEFPY (mpls,
 
        if (no) {
                dplane_intf_mpls_modify_state(ifp, false);
-               if_data->mpls = IF_ZEBRA_DATA_UNSPEC;
+               if_data->mpls_config = IF_ZEBRA_DATA_UNSPEC;
        } else {
                dplane_intf_mpls_modify_state(ifp, true);
-               if_data->mpls = IF_ZEBRA_DATA_ON;
+               if_data->mpls_config = IF_ZEBRA_DATA_ON;
        }
 
        return CMD_SUCCESS;
@@ -4859,7 +4860,8 @@ static int if_config_write(struct vty *vty)
                                                                IF_ZEBRA_DATA_ON
                                                        ? ""
                                                        : "no ");
-                               if (if_data->mpls == IF_ZEBRA_DATA_ON)
+
+                               if (if_data->mpls_config == IF_ZEBRA_DATA_ON)
                                        vty_out(vty, " mpls enable\n");
                        }
 
index e5545d6ba0895826ccdda777ee94050ef7116fb5..44dcafbad0726bf178d39d23609fe19760dd3caa 100644 (file)
@@ -114,6 +114,9 @@ struct zebra_if {
        /* MPLS status. */
        bool mpls;
 
+       /* MPLS configuration */
+       uint8_t mpls_config;
+
        /* Linkdown status */
        bool linkdown, linkdownv6;