]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd, lib, sharpd, zebra: Use MPLS_LABEL_NONE
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 8 Feb 2018 15:19:34 +0000 (10:19 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 9 Feb 2018 01:38:14 +0000 (20:38 -0500)
Modify mpls.h to rename MPLS_LABEL_ILLEGAL to be MPLS_LABEL_NONE.
Fix all pre-existing code that used MPLS_LABEL_ILLEGAL.

Modify the zapi vrf label message to use MPLS_LABEL_NONE as the
signal to remove label associated with a vrf.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
bgpd/rfapi/bgp_rfapi_cfg.c
lib/mpls.h
lib/zclient.h
sharpd/sharp_vty.c
zebra/zserv.c

index e3cb73946474a0e2829ff2d936d18b1869ce2a25..949e04ab0d178bfbf5dd76ff69c19c93b4733ba9 100644 (file)
@@ -554,7 +554,7 @@ rfapi_group_new(struct bgp *bgp, rfapi_group_cfg_type_t type, const char *name)
                /* add to tail of list */
                listnode_add(bgp->rfapi_cfg->nve_groups_sequential, rfg);
        }
-       rfg->label = MPLS_LABEL_ILLEGAL;
+       rfg->label = MPLS_LABEL_NONE;
        QOBJ_REG(rfg, rfapi_nve_group_cfg);
 
        return rfg;
@@ -3063,7 +3063,7 @@ DEFUN (vnc_vrf_policy_no_label,
                vnc_redistribute_prechange(bgp);
        }
 
-       rfg->label = MPLS_LABEL_ILLEGAL;
+       rfg->label = MPLS_LABEL_NONE;
 
        if (bgp->rfapi_cfg->rfg_redist == rfg) {
                vnc_redistribute_postchange(bgp);
index b55d4875ae4d2877c1f1cbfc6431e860092248ae..1a1819c2c09096bf4a14afd156dfec77e0cfb072 100644 (file)
@@ -38,7 +38,7 @@
 #define MPLS_LABEL_OAM_ALERT           14      /* [RFC3429] */
 #define MPLS_LABEL_EXTENSION           15      /* [RFC7274] */
 #define MPLS_LABEL_MAX                 1048575
-#define MPLS_LABEL_ILLEGAL             0xFFFFFFFF /* for internal use only */
+#define MPLS_LABEL_NONE                0xFFFFFFFF /* for internal use only */
 
 /* Minimum and maximum label values */
 #define MPLS_LABEL_RESERVED_MIN            0
index ff65838b53bcbd9db14a552baeb86af1fc04b7d0..344b45fb5457de941103289f28d4d8bc9b6f55cd 100644 (file)
@@ -387,7 +387,7 @@ extern void redist_del_instance(struct redist_proto *, u_short);
  * Send to zebra that the specified vrf is using label to resolve
  * itself for L3VPN's.  Repeated calls of this function with
  * different labels will cause an effective update of the
- * label for lookup.  If you pass in MPLS_LABEL_IPV4_EXPLICIT_NULL
+ * label for lookup.  If you pass in MPLS_LABEL_NONE
  * we will cause a delete action and remove this label pop
  * operation.
  */
index 786191e6a1a60adcb7bed45c76916c0d71e42477..4f7d61b22fad069679689e0d92d7d9150c729ad3 100644 (file)
@@ -79,13 +79,12 @@ DEFPY (install_routes,
        return CMD_SUCCESS;
 }
 
-DEFPY(vrf_label,
-      vrf_label_cmd,
+DEFPY(vrf_label, vrf_label_cmd,
       "sharp label vrf NAME$name label (0-100000)$label",
       "Sharp Routing Protocol\n"
       "Give a vrf a label\n"
       VRF_CMD_HELP_STR
-      "The label to use\n"
+      "The label to use, 0 specifies remove the label installed from previous\n"
       "Specified range to use\n")
 {
        struct vrf *vrf;
@@ -100,6 +99,9 @@ DEFPY(vrf_label,
                return CMD_WARNING_CONFIG_FAILED;
        }
 
+       if (label == 0)
+               label = MPLS_LABEL_NONE;
+
        vrf_label_add(vrf->vrf_id, label);
        return CMD_SUCCESS;
 }
index 3d8be27f3b79d0fc076f86244479ab375f7bb768..704b861960269afbc20078c710ad994a9122b608 100644 (file)
@@ -2518,11 +2518,11 @@ static void zread_vrf_label(struct zserv *client,
 
        def_zvrf = zebra_vrf_lookup_by_id(VRF_DEFAULT);
 
-       if (zvrf->label != MPLS_LABEL_IPV4_EXPLICIT_NULL)
+       if (zvrf->label != MPLS_LABEL_NONE)
                mpls_lsp_uninstall(def_zvrf, ltype, zvrf->label,
                                   NEXTHOP_TYPE_IFINDEX, NULL, ifp->ifindex);
 
-       if (nlabel != MPLS_LABEL_IPV4_EXPLICIT_NULL)
+       if (nlabel != MPLS_LABEL_NONE)
                mpls_lsp_install(def_zvrf, ltype, nlabel, MPLS_LABEL_IMPLICIT_NULL,
                                 NEXTHOP_TYPE_IFINDEX, NULL, ifp->ifindex);