]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: prevent from configuring vrf-policy when in BGP VRF instance 1761/head
authorPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 16 Feb 2018 10:00:01 +0000 (11:00 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 16 Feb 2018 17:33:55 +0000 (18:33 +0100)
Under a BGP VRF instance, prevent from entering in vrf-policy mode. This
mode is reserved for non VRF instances that want to handle several VRF
at the same time.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bgpd/rfapi/bgp_rfapi_cfg.c

index 15e09c639e3989563840ea197b8ffd5d047d8014..f28b8a2ceda69cce1b8cfd5a765d0dfc0c4cd6fe 100644 (file)
@@ -2977,6 +2977,11 @@ DEFUN_NOSH (vnc_vrf_policy,
        struct rfapi_nve_group_cfg *rfg;
        VTY_DECLVAR_CONTEXT(bgp, bgp);
 
+       if (bgp->inst_type == BGP_INSTANCE_TYPE_VRF) {
+               vty_out(vty, "Can't configure vrf-policy within a BGP VRF instance\n");
+               return CMD_WARNING_CONFIG_FAILED;
+       }
+
        /* Search for name */
        rfg = bgp_rfapi_cfg_match_byname(bgp, argv[1]->arg,
                                         RFAPI_GROUP_CFG_VRF);
@@ -3007,6 +3012,10 @@ DEFUN (vnc_no_vrf_policy,
 {
        VTY_DECLVAR_CONTEXT(bgp, bgp);
 
+       /* silently return */
+       if (bgp->inst_type == BGP_INSTANCE_TYPE_VRF)
+               return CMD_SUCCESS;
+
        return bgp_rfapi_delete_named_nve_group(vty, bgp, argv[2]->arg,
                                                RFAPI_GROUP_CFG_VRF);
 }