]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/zebra_mpls_vty.c
isisd: implement the 'lsp-too-large' notification
[mirror_frr.git] / zebra / zebra_mpls_vty.c
index ed34831f8f30324a5825a9198d5d66c1da7b7ca1..796aa3f6661044de1f364883fe8386851a9057f3 100644 (file)
@@ -37,7 +37,6 @@
 #include "zebra/zebra_rnh.h"
 #include "zebra/redistribute.h"
 #include "zebra/zebra_routemap.h"
-#include "zebra/zebra_static.h"
 
 static int zebra_mpls_transit_lsp(struct vty *vty, int add_cmd,
                                  const char *inlabel_str, const char *gate_str,
@@ -68,7 +67,7 @@ static int zebra_mpls_transit_lsp(struct vty *vty, int add_cmd,
                return CMD_WARNING_CONFIG_FAILED;
        }
 
-       out_label = MPLS_IMP_NULL_LABEL; /* as initialization */
+       out_label = MPLS_LABEL_IMPLICIT_NULL; /* as initialization */
        label = atoi(inlabel_str);
        if (!IS_MPLS_UNRESERVED_LABEL(label)) {
                vty_out(vty, "%% Invalid label\n");
@@ -107,11 +106,11 @@ static int zebra_mpls_transit_lsp(struct vty *vty, int add_cmd,
 
        if (outlabel_str) {
                if (outlabel_str[0] == 'i')
-                       out_label = MPLS_IMP_NULL_LABEL;
+                       out_label = MPLS_LABEL_IMPLICIT_NULL;
                else if (outlabel_str[0] == 'e' && gtype == NEXTHOP_TYPE_IPV4)
-                       out_label = MPLS_V4_EXP_NULL_LABEL;
+                       out_label = MPLS_LABEL_IPV4_EXPLICIT_NULL;
                else if (outlabel_str[0] == 'e' && gtype == NEXTHOP_TYPE_IPV6)
-                       out_label = MPLS_V6_EXP_NULL_LABEL;
+                       out_label = MPLS_LABEL_IPV6_EXPLICIT_NULL;
                else
                        out_label = atoi(outlabel_str);
        }
@@ -198,7 +197,7 @@ static int zebra_mpls_bind(struct vty *vty, int add_cmd, const char *prefix,
 {
        struct zebra_vrf *zvrf;
        struct prefix p;
-       u_int32_t label;
+       uint32_t label;
        int ret;
 
        zvrf = vrf_info_lookup(VRF_DEFAULT);
@@ -221,12 +220,12 @@ static int zebra_mpls_bind(struct vty *vty, int add_cmd, const char *prefix,
                }
 
                if (!strcmp(label_str, "implicit-null"))
-                       label = MPLS_IMP_NULL_LABEL;
+                       label = MPLS_LABEL_IMPLICIT_NULL;
                else if (!strcmp(label_str, "explicit-null")) {
                        if (p.family == AF_INET)
-                               label = MPLS_V4_EXP_NULL_LABEL;
+                               label = MPLS_LABEL_IPV4_EXPLICIT_NULL;
                        else
-                               label = MPLS_V6_EXP_NULL_LABEL;
+                               label = MPLS_LABEL_IPV6_EXPLICIT_NULL;
                } else {
                        label = atoi(label_str);
                        if (!IS_MPLS_UNRESERVED_LABEL(label)) {
@@ -283,570 +282,6 @@ DEFUN (no_mpls_label_bind,
        return zebra_mpls_bind(vty, 0, argv[4]->arg, NULL);
 }
 
-/* Static route configuration.  */
-DEFUN (ip_route_label,
-       ip_route_label_cmd,
-       "ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg, NULL,
-                                argv[3]->arg, NULL, NULL, NULL, NULL,
-                                argv[5]->arg);
-}
-
-DEFUN (ip_route_tag_label,
-       ip_route_tag_label_cmd,
-       "ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> tag (1-4294967295) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg, NULL,
-                                argv[3]->arg, NULL, argv[5]->arg, NULL, NULL,
-                                argv[7]->arg);
-}
-
-/* Mask as A.B.C.D format.  */
-DEFUN (ip_route_mask_label,
-       ip_route_mask_label_cmd,
-       "ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg,
-                                argv[3]->arg, argv[4]->arg, NULL, NULL, NULL,
-                                NULL, argv[6]->arg);
-}
-
-DEFUN (ip_route_mask_tag_label,
-       ip_route_mask_tag_label_cmd,
-       "ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> tag (1-4294967295) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg,
-                                argv[3]->arg, argv[4]->arg, NULL, argv[6]->arg,
-                                NULL, NULL, argv[8]->arg);
-}
-
-/* Distance option value.  */
-DEFUN (ip_route_distance_label,
-       ip_route_distance_label_cmd,
-       "ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg, NULL,
-                                argv[3]->arg, NULL, NULL, argv[4]->arg, NULL,
-                                argv[6]->arg);
-}
-
-DEFUN (ip_route_tag_distance_label,
-       ip_route_tag_distance_label_cmd,
-       "ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> tag (1-4294967295) (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg, NULL,
-                                argv[3]->arg, NULL, argv[5]->arg, argv[6]->arg,
-                                NULL, argv[8]->arg);
-}
-
-DEFUN (ip_route_mask_distance_label,
-       ip_route_mask_distance_label_cmd,
-       "ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg,
-                                argv[3]->arg, argv[4]->arg, NULL, NULL,
-                                argv[5]->arg, NULL, argv[7]->arg);
-}
-
-DEFUN (ip_route_mask_tag_distance_label,
-       ip_route_mask_tag_distance_label_cmd,
-       "ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> tag (1-4294967295) (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 1, argv[2]->arg,
-                                argv[3]->arg, argv[4]->arg, NULL, argv[6]->arg,
-                                argv[7]->arg, NULL, argv[9]->arg);
-}
-
-DEFUN (no_ip_route_label,
-       no_ip_route_label_cmd,
-       "no ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg, NULL,
-                                argv[4]->arg, NULL, NULL, NULL, NULL,
-                                argv[6]->arg);
-}
-
-DEFUN (no_ip_route_tag_label,
-       no_ip_route_tag_label_cmd,
-       "no ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> tag (1-4294967295) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Tag of this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg, NULL,
-                                argv[4]->arg, NULL, argv[6]->arg, NULL, NULL,
-                                argv[8]->arg);
-}
-
-DEFUN (no_ip_route_mask_label,
-       no_ip_route_mask_label_cmd,
-       "no ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg,
-                                argv[4]->arg, argv[5]->arg, NULL, NULL, NULL,
-                                NULL, argv[7]->arg);
-}
-
-DEFUN (no_ip_route_mask_tag_label,
-       no_ip_route_mask_tag_label_cmd,
-       "no ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> tag (1-4294967295) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Tag of this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg,
-                                argv[4]->arg, argv[5]->arg, NULL, argv[7]->arg,
-                                NULL, NULL, argv[9]->arg);
-}
-
-DEFUN (no_ip_route_distance_label,
-       no_ip_route_distance_label_cmd,
-       "no ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg, NULL,
-                                argv[4]->arg, NULL, NULL, argv[5]->arg, NULL,
-                                argv[7]->arg);
-}
-
-DEFUN (no_ip_route_tag_distance_label,
-       no_ip_route_tag_distance_label_cmd,
-       "no ip route A.B.C.D/M <A.B.C.D|INTERFACE|null0> tag (1-4294967295) (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix (e.g. 10.0.0.0/8)\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Tag of this route\n"
-       "Tag value\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg, NULL,
-                                argv[4]->arg, NULL, argv[6]->arg, argv[7]->arg,
-                                NULL, argv[9]->arg);
-}
-
-DEFUN (no_ip_route_mask_distance_label,
-       no_ip_route_mask_distance_label_cmd,
-       "no ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg,
-                                argv[4]->arg, argv[5]->arg, NULL, NULL,
-                                argv[6]->arg, NULL, argv[8]->arg);
-}
-
-DEFUN (no_ip_route_mask_tag_distance_label,
-       no_ip_route_mask_tag_distance_label_cmd,
-       "no ip route A.B.C.D A.B.C.D <A.B.C.D|INTERFACE|null0> tag (1-4294967295) (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IP destination prefix\n"
-       "IP destination prefix mask\n"
-       "IP gateway address\n"
-       "IP gateway interface name\n"
-       "Null interface\n"
-       "Tag of this route\n"
-       "Tag value\n"
-       "Distance value for this route\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return zebra_static_ipv4(vty, SAFI_UNICAST, 0, argv[3]->arg,
-                                argv[4]->arg, argv[5]->arg, NULL, argv[7]->arg,
-                                argv[8]->arg, NULL, argv[10]->arg);
-}
-
-DEFUN (ipv6_route_label,
-       ipv6_route_label_cmd,
-       "ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg, NULL,
-                               NULL, NULL, NULL, NULL, argv[5]->arg);
-}
-
-DEFUN (ipv6_route_tag_label,
-       ipv6_route_tag_label_cmd,
-       "ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> tag (1-4294967295) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg, NULL,
-                               NULL, argv[5]->arg, NULL, NULL, argv[7]->arg);
-}
-
-DEFUN (ipv6_route_ifname_label,
-       ipv6_route_ifname_label_cmd,
-       "ipv6 route X:X::X:X/M X:X::X:X INTERFACE label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg,
-                               argv[4]->arg, NULL, NULL, NULL, NULL,
-                               argv[6]->arg);
-}
-DEFUN (ipv6_route_ifname_tag_label,
-       ipv6_route_ifname_tag_label_cmd,
-       "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag (1-4294967295) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg,
-                               argv[4]->arg, NULL, argv[6]->arg, NULL, NULL,
-                               argv[8]->arg);
-}
-
-DEFUN (ipv6_route_pref_label,
-       ipv6_route_pref_label_cmd,
-       "ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg, NULL,
-                               NULL, NULL, argv[4]->arg, NULL, argv[6]->arg);
-}
-
-DEFUN (ipv6_route_pref_tag_label,
-       ipv6_route_pref_tag_label_cmd,
-       "ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> tag (1-4294967295) (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg, NULL,
-                               NULL, argv[5]->arg, argv[6]->arg, NULL,
-                               argv[8]->arg);
-}
-
-DEFUN (ipv6_route_ifname_pref_label,
-       ipv6_route_ifname_pref_label_cmd,
-       "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg,
-                               argv[4]->arg, NULL, NULL, argv[5]->arg, NULL,
-                               argv[7]->arg);
-}
-
-DEFUN (ipv6_route_ifname_pref_tag_label,
-       ipv6_route_ifname_pref_tag_label_cmd,
-       "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag (1-4294967295) (1-255) label WORD",
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 1, argv[2]->arg, NULL, argv[3]->arg,
-                               argv[4]->arg, NULL, argv[6]->arg, argv[7]->arg,
-                               NULL, argv[9]->arg);
-}
-
-DEFUN (no_ipv6_route_label,
-       no_ipv6_route_label_cmd,
-       "no ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg, NULL,
-                               NULL, NULL, NULL, NULL, argv[6]->arg);
-}
-
-DEFUN (no_ipv6_route_tag_label,
-       no_ipv6_route_tag_label_cmd,
-       "no ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> tag (1-4294967295) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg, NULL,
-                               NULL, argv[6]->arg, NULL, NULL, argv[8]->arg);
-}
-
-DEFUN (no_ipv6_route_ifname_label,
-       no_ipv6_route_ifname_label_cmd,
-       "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg,
-                               argv[5]->arg, NULL, NULL, NULL, NULL,
-                               argv[7]->arg);
-}
-
-DEFUN (no_ipv6_route_ifname_tag_label,
-       no_ipv6_route_ifname_tag_label_cmd,
-       "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag (1-4294967295) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg,
-                               argv[5]->arg, NULL, argv[7]->arg, NULL, NULL,
-                               argv[9]->arg);
-}
-
-DEFUN (no_ipv6_route_pref_label,
-       no_ipv6_route_pref_label_cmd,
-       "no ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg, NULL,
-                               NULL, NULL, argv[5]->arg, NULL, argv[7]->arg);
-}
-
-DEFUN (no_ipv6_route_pref_tag_label,
-       no_ipv6_route_pref_tag_label_cmd,
-       "no ipv6 route X:X::X:X/M <X:X::X:X|INTERFACE> tag (1-4294967295) (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg, NULL,
-                               NULL, argv[6]->arg, argv[7]->arg, NULL,
-                               argv[9]->arg);
-}
-
-DEFUN (no_ipv6_route_ifname_pref_label,
-       no_ipv6_route_ifname_pref_label_cmd,
-       "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg,
-                               argv[5]->arg, NULL, NULL, argv[6]->arg, NULL,
-                               argv[8]->arg);
-}
-
-DEFUN (no_ipv6_route_ifname_pref_tag_label,
-       no_ipv6_route_ifname_pref_tag_label_cmd,
-       "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag (1-4294967295) (1-255) label WORD",
-       NO_STR
-       IP_STR
-       "Establish static routes\n"
-       "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
-       "IPv6 gateway address\n"
-       "IPv6 gateway interface name\n"
-       "Set tag for this route\n"
-       "Tag value\n"
-       "Distance value for this prefix\n"
-       MPLS_LABEL_HELPSTR)
-{
-       return static_ipv6_func(vty, 0, argv[3]->arg, NULL, argv[4]->arg,
-                               argv[5]->arg, NULL, argv[7]->arg, argv[8]->arg,
-                               NULL, argv[10]->arg);
-}
-
 /* MPLS LSP configuration write function. */
 static int zebra_mpls_config(struct vty *vty)
 {
@@ -904,7 +339,7 @@ DEFUN (show_mpls_table,
        JSON_STR)
 {
        struct zebra_vrf *zvrf;
-       u_char uj = use_json(argc, argv);
+       bool uj = use_json(argc, argv);
 
        zvrf = vrf_info_lookup(VRF_DEFAULT);
        zebra_mpls_print_lsp_table(vty, zvrf, uj);
@@ -920,9 +355,9 @@ DEFUN (show_mpls_table_lsp,
        "LSP to display information about\n"
        JSON_STR)
 {
-       u_int32_t label;
+       uint32_t label;
        struct zebra_vrf *zvrf;
-       u_char uj = use_json(argc, argv);
+       bool uj = use_json(argc, argv);
 
        zvrf = vrf_info_lookup(VRF_DEFAULT);
        label = atoi(argv[3]->arg);
@@ -948,8 +383,8 @@ static int zebra_mpls_global_block(struct vty *vty, int add_cmd,
                                   const char *end_label_str)
 {
        int ret;
-       u_int32_t start_label;
-       u_int32_t end_label;
+       uint32_t start_label;
+       uint32_t end_label;
        struct zebra_vrf *zvrf;
 
        zvrf = zebra_vrf_lookup_by_id(VRF_DEFAULT);
@@ -1024,44 +459,11 @@ void zebra_mpls_vty_init(void)
 
        install_node(&mpls_node, zebra_mpls_config);
 
-       install_element(CONFIG_NODE, &ip_route_label_cmd);
-       install_element(CONFIG_NODE, &ip_route_tag_label_cmd);
-       install_element(CONFIG_NODE, &ip_route_mask_label_cmd);
-       install_element(CONFIG_NODE, &ip_route_mask_tag_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_tag_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_mask_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_mask_tag_label_cmd);
-       install_element(CONFIG_NODE, &ip_route_distance_label_cmd);
-       install_element(CONFIG_NODE, &ip_route_tag_distance_label_cmd);
-       install_element(CONFIG_NODE, &ip_route_mask_distance_label_cmd);
-       install_element(CONFIG_NODE, &ip_route_mask_tag_distance_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_distance_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_tag_distance_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_mask_distance_label_cmd);
-       install_element(CONFIG_NODE, &no_ip_route_mask_tag_distance_label_cmd);
-
-       install_element(CONFIG_NODE, &ipv6_route_label_cmd);
-       install_element(CONFIG_NODE, &ipv6_route_ifname_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_ifname_label_cmd);
-       install_element(CONFIG_NODE, &ipv6_route_pref_label_cmd);
-       install_element(CONFIG_NODE, &ipv6_route_ifname_pref_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_pref_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_ifname_pref_label_cmd);
-       install_element(CONFIG_NODE, &ipv6_route_tag_label_cmd);
-       install_element(CONFIG_NODE, &ipv6_route_ifname_tag_label_cmd);
-       install_element(CONFIG_NODE, &ipv6_route_pref_tag_label_cmd);
-       install_element(CONFIG_NODE, &ipv6_route_ifname_pref_tag_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_tag_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_ifname_tag_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_pref_tag_label_cmd);
-       install_element(CONFIG_NODE, &no_ipv6_route_ifname_pref_tag_label_cmd);
-
        install_element(CONFIG_NODE, &mpls_transit_lsp_cmd);
        install_element(CONFIG_NODE, &no_mpls_transit_lsp_cmd);
        install_element(CONFIG_NODE, &no_mpls_transit_lsp_out_label_cmd);
        install_element(CONFIG_NODE, &no_mpls_transit_lsp_all_cmd);
+
        install_element(CONFIG_NODE, &mpls_label_bind_cmd);
        install_element(CONFIG_NODE, &no_mpls_label_bind_cmd);