From 7da47d66222855527f023e896cb1a9c2bf3d6674 Mon Sep 17 00:00:00 2001 From: Chirag Shah Date: Mon, 31 Dec 2018 13:18:21 -0800 Subject: [PATCH] bgpd: evpn command to restrict to default vrf Certain EVPN configuartions should only be applied under DEFAULT VRF bgpd instance. reject the cli for non default bgp instance Ticket:CM-18950 Signed-off-by: Chirag Shah --- bgpd/bgp_evpn_vty.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index 13f899e880..776f8f8ef7 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -2883,6 +2883,12 @@ DEFUN (bgp_evpn_advertise_default_gw, if (!bgp) return CMD_WARNING; + if (bgp->vrf_id != VRF_DEFAULT) { + vty_out(vty, + "This command is only supported under Default VRF\n"); + return CMD_WARNING; + } + evpn_set_advertise_default_gw(bgp, NULL); return CMD_SUCCESS; @@ -2899,6 +2905,12 @@ DEFUN (no_bgp_evpn_advertise_default_gw, if (!bgp) return CMD_WARNING; + if (bgp->vrf_id != VRF_DEFAULT) { + vty_out(vty, + "This command is only supported under Default VRF\n"); + return CMD_WARNING; + } + evpn_unset_advertise_default_gw(bgp, NULL); return CMD_SUCCESS; @@ -3011,6 +3023,12 @@ DEFPY (dup_addr_detection, if (!bgp_vrf) return CMD_WARNING; + if (bgp_vrf->vrf_id != VRF_DEFAULT) { + vty_out(vty, + "This command is only supported under Default VRF\n"); + return CMD_WARNING; + } + bgp_vrf->evpn_info->dup_addr_detect = true; if (time_val) @@ -3037,6 +3055,12 @@ DEFPY (dup_addr_detection_auto_recovery, if (!bgp_vrf) return CMD_WARNING; + if (bgp_vrf->vrf_id != VRF_DEFAULT) { + vty_out(vty, + "This command is only supported under Default VRF\n"); + return CMD_WARNING; + } + bgp_vrf->evpn_info->dup_addr_detect = true; bgp_vrf->evpn_info->dad_freeze = true; bgp_vrf->evpn_info->dad_freeze_time = freeze_time; @@ -3066,6 +3090,12 @@ DEFPY (no_dup_addr_detection, if (!bgp_vrf) return CMD_WARNING; + if (bgp_vrf->vrf_id != VRF_DEFAULT) { + vty_out(vty, + "This command is only supported under Default VRF\n"); + return CMD_WARNING; + } + if (argc == 2) { if (!bgp_vrf->evpn_info->dup_addr_detect) return CMD_SUCCESS;