diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 02:40:46 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 02:40:46 +0200 |
commit | 503006bc2a48c9ec70ee9e8a9fd7725b9304642f (patch) | |
tree | 85be07b08e0c8ade0881dcb35de55e49cc50bd3c /bgpd | |
parent | Fix "no set metric" for ospf6 and RIP (diff) | |
download | frr-503006bc2a48c9ec70ee9e8a9fd7725b9304642f.tar.xz frr-503006bc2a48c9ec70ee9e8a9fd7725b9304642f.zip |
Make "no redistribute" always remove the redistribute statement
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Diffstat (limited to '')
-rw-r--r-- | bgpd/bgp_vty.c | 96 | ||||
-rw-r--r-- | bgpd/bgp_zebra.c | 29 | ||||
-rw-r--r-- | bgpd/bgp_zebra.h | 2 |
3 files changed, 8 insertions, 119 deletions
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 10bdc1507..9f0452e92 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -9494,7 +9494,7 @@ DEFUN (no_bgp_redistribute_ipv4, return bgp_redistribute_unset (vty->index, AFI_IP, type); } -DEFUN (no_bgp_redistribute_ipv4_rmap, +ALIAS (no_bgp_redistribute_ipv4, no_bgp_redistribute_ipv4_rmap_cmd, "no redistribute " QUAGGA_IP_REDIST_STR_BGPD " route-map WORD", NO_STR @@ -9502,21 +9502,8 @@ DEFUN (no_bgp_redistribute_ipv4_rmap, QUAGGA_IP_REDIST_HELP_STR_BGPD "Route map reference\n" "Pointer to route-map entries\n") -{ - int type; - - type = proto_redistnum (AFI_IP, argv[0]); - if (type < 0 || type == ZEBRA_ROUTE_BGP) - { - vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE); - return CMD_WARNING; - } - bgp_redistribute_routemap_unset (vty->index, AFI_IP, type); - return CMD_SUCCESS; -} - -DEFUN (no_bgp_redistribute_ipv4_metric, +ALIAS (no_bgp_redistribute_ipv4, no_bgp_redistribute_ipv4_metric_cmd, "no redistribute " QUAGGA_IP_REDIST_STR_BGPD " metric <0-4294967295>", NO_STR @@ -9524,21 +9511,8 @@ DEFUN (no_bgp_redistribute_ipv4_metric, QUAGGA_IP_REDIST_HELP_STR_BGPD "Metric for redistributed routes\n" "Default metric\n") -{ - int type; - - type = proto_redistnum (AFI_IP, argv[0]); - if (type < 0 || type == ZEBRA_ROUTE_BGP) - { - vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE); - return CMD_WARNING; - } - bgp_redistribute_metric_unset (vty->index, AFI_IP, type); - return CMD_SUCCESS; -} - -DEFUN (no_bgp_redistribute_ipv4_rmap_metric, +ALIAS (no_bgp_redistribute_ipv4, no_bgp_redistribute_ipv4_rmap_metric_cmd, "no redistribute " QUAGGA_IP_REDIST_STR_BGPD " route-map WORD metric <0-4294967295>", NO_STR @@ -9548,22 +9522,8 @@ DEFUN (no_bgp_redistribute_ipv4_rmap_metric, "Pointer to route-map entries\n" "Metric for redistributed routes\n" "Default metric\n") -{ - int type; - - type = proto_redistnum (AFI_IP, argv[0]); - if (type < 0 || type == ZEBRA_ROUTE_BGP) - { - vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE); - return CMD_WARNING; - } - - bgp_redistribute_metric_unset (vty->index, AFI_IP, type); - bgp_redistribute_routemap_unset (vty->index, AFI_IP, type); - return CMD_SUCCESS; -} -ALIAS (no_bgp_redistribute_ipv4_rmap_metric, +ALIAS (no_bgp_redistribute_ipv4, no_bgp_redistribute_ipv4_metric_rmap_cmd, "no redistribute " QUAGGA_IP_REDIST_STR_BGPD " metric <0-4294967295> route-map WORD", NO_STR @@ -9708,7 +9668,7 @@ DEFUN (no_bgp_redistribute_ipv6, return bgp_redistribute_unset (vty->index, AFI_IP6, type); } -DEFUN (no_bgp_redistribute_ipv6_rmap, +ALIAS (no_bgp_redistribute_ipv6, no_bgp_redistribute_ipv6_rmap_cmd, "no redistribute " QUAGGA_IP6_REDIST_STR_BGPD " route-map WORD", NO_STR @@ -9716,21 +9676,8 @@ DEFUN (no_bgp_redistribute_ipv6_rmap, QUAGGA_IP6_REDIST_HELP_STR_BGPD "Route map reference\n" "Pointer to route-map entries\n") -{ - int type; - - type = proto_redistnum (AFI_IP6, argv[0]); - if (type < 0 || type == ZEBRA_ROUTE_BGP) - { - vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE); - return CMD_WARNING; - } - bgp_redistribute_routemap_unset (vty->index, AFI_IP6, type); - return CMD_SUCCESS; -} - -DEFUN (no_bgp_redistribute_ipv6_metric, +ALIAS (no_bgp_redistribute_ipv6, no_bgp_redistribute_ipv6_metric_cmd, "no redistribute " QUAGGA_IP6_REDIST_STR_BGPD " metric <0-4294967295>", NO_STR @@ -9738,21 +9685,8 @@ DEFUN (no_bgp_redistribute_ipv6_metric, QUAGGA_IP6_REDIST_HELP_STR_BGPD "Metric for redistributed routes\n" "Default metric\n") -{ - int type; - - type = proto_redistnum (AFI_IP6, argv[0]); - if (type < 0 || type == ZEBRA_ROUTE_BGP) - { - vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE); - return CMD_WARNING; - } - bgp_redistribute_metric_unset (vty->index, AFI_IP6, type); - return CMD_SUCCESS; -} - -DEFUN (no_bgp_redistribute_ipv6_rmap_metric, +ALIAS (no_bgp_redistribute_ipv6, no_bgp_redistribute_ipv6_rmap_metric_cmd, "no redistribute " QUAGGA_IP6_REDIST_STR_BGPD " route-map WORD metric <0-4294967295>", NO_STR @@ -9762,22 +9696,8 @@ DEFUN (no_bgp_redistribute_ipv6_rmap_metric, "Pointer to route-map entries\n" "Metric for redistributed routes\n" "Default metric\n") -{ - int type; - - type = proto_redistnum (AFI_IP6, argv[0]); - if (type < 0 || type == ZEBRA_ROUTE_BGP) - { - vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE); - return CMD_WARNING; - } - - bgp_redistribute_metric_unset (vty->index, AFI_IP6, type); - bgp_redistribute_routemap_unset (vty->index, AFI_IP6, type); - return CMD_SUCCESS; -} -ALIAS (no_bgp_redistribute_ipv6_rmap_metric, +ALIAS (no_bgp_redistribute_ipv6, no_bgp_redistribute_ipv6_metric_rmap_cmd, "no redistribute " QUAGGA_IP6_REDIST_STR_BGPD " metric <0-4294967295> route-map WORD", NO_STR diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index b3d110911..c109eaba9 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -1419,35 +1419,6 @@ bgp_redistribute_unset (struct bgp *bgp, afi_t afi, int type) return CMD_SUCCESS; } -/* Unset redistribution route-map configuration. */ -int -bgp_redistribute_routemap_unset (struct bgp *bgp, afi_t afi, int type) -{ - if (! bgp->rmap[afi][type].name) - return 0; - - /* Unset route-map. */ - free (bgp->rmap[afi][type].name); - bgp->rmap[afi][type].name = NULL; - bgp->rmap[afi][type].map = NULL; - - return 1; -} - -/* Unset redistribution metric configuration. */ -int -bgp_redistribute_metric_unset (struct bgp *bgp, afi_t afi, int type) -{ - if (! bgp->redist_metric_flag[afi][type]) - return 0; - - /* Unset metric. */ - bgp->redist_metric_flag[afi][type] = 0; - bgp->redist_metric[afi][type] = 0; - - return 1; -} - void bgp_zclient_reset (void) { diff --git a/bgpd/bgp_zebra.h b/bgpd/bgp_zebra.h index eb049a47e..334e3af1d 100644 --- a/bgpd/bgp_zebra.h +++ b/bgpd/bgp_zebra.h @@ -43,8 +43,6 @@ extern int bgp_redistribute_resend (struct bgp *, afi_t, int); extern int bgp_redistribute_rmap_set (struct bgp *, afi_t, int, const char *); extern int bgp_redistribute_metric_set (struct bgp *, afi_t, int, u_int32_t); extern int bgp_redistribute_unset (struct bgp *, afi_t, int); -extern int bgp_redistribute_routemap_unset (struct bgp *, afi_t, int); -extern int bgp_redistribute_metric_unset (struct bgp *, afi_t, int); extern struct interface *if_lookup_by_ipv4 (struct in_addr *); extern struct interface *if_lookup_by_ipv4_exact (struct in_addr *); |