]> git.puffer.fish Git - matthieu/frr.git/commitdiff
Revert "bgpd: convert nbr rmap transactional cli"
authorIgor Ryzhov <iryzhov@nfware.com>
Thu, 13 May 2021 22:43:23 +0000 (01:43 +0300)
committerIgor Ryzhov <iryzhov@nfware.com>
Tue, 3 Aug 2021 19:20:52 +0000 (22:20 +0300)
This reverts commit c6685575336566680aeb537e8ed5abb164be0268.

bgpd/bgp_nb_config.c
bgpd/bgp_vty.c

index e8718317710d6a0497d97aeced3bd25265833359..402c02455f384d4f313c0c684b8bfbd220a2a9bf 100644 (file)
@@ -15114,66 +15114,6 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_orf_capability_orf_bo
        return NB_OK;
 }
 
-static int bgp_neighbor_afi_safi_rmap_modify(struct nb_cb_modify_args *args,
-                                            int direct)
-{
-       struct bgp *bgp;
-       const char *peer_str;
-       struct peer *peer;
-       const struct lyd_node *nbr_dnode;
-       const struct lyd_node *nbr_af_dnode;
-       const char *af_name;
-       afi_t afi;
-       safi_t safi;
-       const char *name_str;
-       struct route_map *route_map;
-       int ret;
-
-       nbr_af_dnode = yang_dnode_get_parent(args->dnode, "afi-safi");
-       af_name = yang_dnode_get_string(nbr_af_dnode, "./afi-safi-name");
-       yang_afi_safi_identity2value(af_name, &afi, &safi);
-
-       nbr_dnode = yang_dnode_get_parent(nbr_af_dnode, "neighbor");
-       bgp = nb_running_get_entry(nbr_dnode, NULL, true);
-       peer_str = yang_dnode_get_string(nbr_dnode, "./remote-address");
-       peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
-                                       args->errmsg_len);
-
-       name_str = yang_dnode_get_string(args->dnode, NULL);
-       route_map = route_map_lookup_by_name(name_str);
-       ret = peer_route_map_set(peer, afi, safi, direct, name_str, route_map);
-
-       return bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-}
-
-static int bgp_neighbor_afi_safi_rmap_destroy(struct nb_cb_destroy_args *args,
-                                             int direct)
-{
-       struct bgp *bgp;
-       const char *peer_str;
-       struct peer *peer;
-       const struct lyd_node *nbr_dnode;
-       const struct lyd_node *nbr_af_dnode;
-       const char *af_name;
-       afi_t afi;
-       safi_t safi;
-       int ret;
-
-       nbr_af_dnode = yang_dnode_get_parent(args->dnode, "afi-safi");
-       af_name = yang_dnode_get_string(nbr_af_dnode, "./afi-safi-name");
-       yang_afi_safi_identity2value(af_name, &afi, &safi);
-
-       nbr_dnode = yang_dnode_get_parent(nbr_af_dnode, "neighbor");
-       bgp = nb_running_get_entry(nbr_dnode, NULL, true);
-       peer_str = yang_dnode_get_string(nbr_dnode, "./remote-address");
-       peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
-                                       args->errmsg_len);
-
-       ret = peer_route_map_unset(peer, afi, safi, direct);
-
-       return bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-}
-
 /*
  * XPath:
  * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast/filter-config/rmap-import
@@ -15185,9 +15125,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_config_rmap_im
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -15200,9 +15140,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_config_rmap_im
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -15219,9 +15159,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_config_rmap_ex
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -15234,9 +15174,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_config_rmap_ex
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -16560,9 +16500,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_config_rmap_im
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -16575,9 +16515,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_config_rmap_im
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -16594,9 +16534,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_config_rmap_ex
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -16609,9 +16549,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_config_rmap_ex
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -17859,9 +17799,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -17874,9 +17814,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -17893,9 +17833,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -17908,9 +17848,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -19157,9 +19097,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -19172,9 +19112,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -19191,9 +19131,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -19206,9 +19146,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_config_rmap_
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -20455,9 +20395,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -20470,9 +20410,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -20489,9 +20429,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -20504,9 +20444,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -21753,9 +21693,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -21768,9 +21708,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -21787,9 +21727,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -21802,9 +21742,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_filter_config
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -22896,9 +22836,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -22911,9 +22851,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -22930,9 +22870,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -22945,9 +22885,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24039,9 +23979,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24054,9 +23994,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24073,9 +24013,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24088,9 +24028,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24654,9 +24594,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_filter_config_rmap_impo
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24669,9 +24609,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_filter_config_rmap_impo
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24688,9 +24628,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_filter_config_rmap_expo
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -24703,9 +24643,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_filter_config_rmap_expo
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25063,9 +25003,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_config_rmap_i
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25078,9 +25018,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_config_rmap_i
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25097,9 +25037,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_config_rmap_e
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25112,9 +25052,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_config_rmap_e
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25472,9 +25412,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_config_rmap_i
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25487,9 +25427,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_config_rmap_i
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25506,9 +25446,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_config_rmap_e
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -25521,9 +25461,9 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_config_rmap_e
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_neighbor_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -26951,68 +26891,6 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_orf_capabi
        return NB_OK;
 }
 
-static int
-bgp_unnumbered_neighbor_afi_safi_rmap_modify(struct nb_cb_modify_args *args,
-                                            int direct)
-{
-       struct bgp *bgp;
-       const char *peer_str;
-       struct peer *peer;
-       const struct lyd_node *nbr_dnode;
-       const struct lyd_node *nbr_af_dnode;
-       const char *af_name;
-       afi_t afi;
-       safi_t safi;
-       const char *name_str;
-       struct route_map *route_map;
-       int ret;
-
-       nbr_af_dnode = yang_dnode_get_parent(args->dnode, "afi-safi");
-       af_name = yang_dnode_get_string(nbr_af_dnode, "./afi-safi-name");
-       yang_afi_safi_identity2value(af_name, &afi, &safi);
-
-       nbr_dnode = yang_dnode_get_parent(nbr_af_dnode, "unnumbered-neighbor");
-       bgp = nb_running_get_entry(nbr_dnode, NULL, true);
-       peer_str = yang_dnode_get_string(nbr_dnode, "./interface");
-       peer = bgp_unnumbered_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
-                                                  args->errmsg_len);
-
-       name_str = yang_dnode_get_string(args->dnode, NULL);
-       route_map = route_map_lookup_by_name(name_str);
-       ret = peer_route_map_set(peer, afi, safi, direct, name_str, route_map);
-
-       return bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-}
-
-static int
-bgp_unnumbered_neighbor_afi_safi_rmap_destroy(struct nb_cb_destroy_args *args,
-                                             int direct)
-{
-       struct bgp *bgp;
-       const char *peer_str;
-       struct peer *peer;
-       const struct lyd_node *nbr_dnode;
-       const struct lyd_node *nbr_af_dnode;
-       const char *af_name;
-       afi_t afi;
-       safi_t safi;
-       int ret;
-
-       nbr_af_dnode = yang_dnode_get_parent(args->dnode, "afi-safi");
-       af_name = yang_dnode_get_string(nbr_af_dnode, "./afi-safi-name");
-       yang_afi_safi_identity2value(af_name, &afi, &safi);
-
-       nbr_dnode = yang_dnode_get_parent(nbr_af_dnode, "unnumbered-neighbor");
-       bgp = nb_running_get_entry(nbr_dnode, NULL, true);
-       peer_str = yang_dnode_get_string(nbr_dnode, "./interface");
-       peer = bgp_unnumbered_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
-                                                  args->errmsg_len);
-
-       ret = peer_route_map_unset(peer, afi, safi, direct);
-
-       return bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-}
-
 /*
  * XPath:
  * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast/filter-config/rmap-import
@@ -27024,10 +26902,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -27040,10 +26917,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -27060,10 +26936,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -27076,10 +26951,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -28409,10 +28283,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -28425,10 +28298,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -28445,10 +28317,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -28461,10 +28332,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_filter_con
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -29716,10 +29586,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -29732,10 +29601,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -29752,10 +29620,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -29768,10 +29635,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -31023,10 +30889,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -31039,10 +30904,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -31059,10 +30923,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -31075,10 +30938,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_filter_c
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -32331,10 +32193,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_fi
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -32347,10 +32208,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_fi
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -32367,10 +32227,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_fi
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -32383,10 +32242,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_fi
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -35590,10 +35448,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -35606,10 +35463,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -35626,10 +35482,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -35642,10 +35497,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -36007,10 +35861,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -36023,10 +35876,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -36043,10 +35895,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_modify(args,
-                                                                   RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -36059,10 +35910,9 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_flowspec_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_unnumbered_neighbor_afi_safi_rmap_destroy(args,
-                                                                    RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -37482,62 +37332,6 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_orf_capability_or
        return NB_OK;
 }
 
-static int bgp_peer_group_afi_safi_rmap_modify(struct nb_cb_modify_args *args,
-                                              int direct)
-{
-       struct bgp *bgp;
-       const char *peer_str;
-       struct peer *peer;
-       const struct lyd_node *nbr_dnode;
-       const struct lyd_node *nbr_af_dnode;
-       const char *af_name;
-       afi_t afi;
-       safi_t safi;
-       const char *name_str;
-       struct route_map *route_map;
-       int ret;
-
-       nbr_af_dnode = yang_dnode_get_parent(args->dnode, "afi-safi");
-       af_name = yang_dnode_get_string(nbr_af_dnode, "./afi-safi-name");
-       yang_afi_safi_identity2value(af_name, &afi, &safi);
-       nbr_dnode = yang_dnode_get_parent(nbr_af_dnode, "peer-group");
-       bgp = nb_running_get_entry(nbr_dnode, NULL, true);
-       peer_str = yang_dnode_get_string(nbr_dnode, "./peer-group-name");
-       peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
-       name_str = yang_dnode_get_string(args->dnode, NULL);
-       route_map = route_map_lookup_by_name(name_str);
-       ret = peer_route_map_set(peer, afi, safi, direct, name_str, route_map);
-
-       return bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-}
-
-static int bgp_peer_group_afi_safi_rmap_destroy(struct nb_cb_destroy_args *args,
-                                               int direct)
-{
-       struct bgp *bgp;
-       const char *peer_str;
-       struct peer *peer;
-       const struct lyd_node *nbr_dnode;
-       const struct lyd_node *nbr_af_dnode;
-       const char *af_name;
-       afi_t afi;
-       safi_t safi;
-       int ret;
-
-       nbr_af_dnode = yang_dnode_get_parent(args->dnode, "afi-safi");
-       af_name = yang_dnode_get_string(nbr_af_dnode, "./afi-safi-name");
-       yang_afi_safi_identity2value(af_name, &afi, &safi);
-       nbr_dnode = yang_dnode_get_parent(nbr_af_dnode, "peer-group");
-       bgp = nb_running_get_entry(nbr_dnode, NULL, true);
-       peer_str = yang_dnode_get_string(nbr_dnode, "./peer-group-name");
-       peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
-       ret = peer_route_map_unset(peer, afi, safi, direct);
-
-       return bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-}
-
 /*
  * XPath:
  * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast/filter-config/rmap-import
@@ -37549,9 +37343,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -37564,9 +37358,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -37583,9 +37377,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -37598,9 +37392,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -38921,9 +38715,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -38936,9 +38730,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -38955,9 +38749,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -38970,9 +38764,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_filter_config_rma
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -40219,9 +40013,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -40234,9 +40028,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -40253,9 +40047,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -40268,9 +40062,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -41517,9 +41311,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -41532,9 +41326,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -41551,9 +41345,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -41566,9 +41360,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_filter_config_r
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -42815,9 +42609,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -42830,9 +42624,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -42849,9 +42643,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -42864,9 +42658,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -42919,7 +42713,7 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_filter_co
        case NB_EV_ABORT:
                break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_plist_modify(args, FILTER_OUT);
+               return bgp_peer_group_afi_safi_plist_destroy(args, FILTER_OUT);
        }
 
        return NB_OK;
@@ -44113,9 +43907,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -44128,9 +43922,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -44147,9 +43941,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -44162,9 +43956,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_filter_co
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -45256,9 +45050,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -45271,9 +45065,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -45290,9 +45084,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -45305,9 +45099,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -46399,9 +46193,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -46414,9 +46208,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -46433,9 +46227,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -46448,9 +46242,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_filter_conf
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47083,9 +46877,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47098,9 +46892,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47117,9 +46911,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47132,9 +46926,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47492,9 +47286,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47507,9 +47301,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_IN);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47526,9 +47320,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_modify(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
@@ -47541,7 +47335,6 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_filter_config_rm
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
                return bgp_peer_group_afi_safi_plist_destroy(args, FILTER_IN);
        }
@@ -47575,9 +47368,9 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_filter_config_pl
        case NB_EV_VALIDATE:
        case NB_EV_PREPARE:
        case NB_EV_ABORT:
-               break;
        case NB_EV_APPLY:
-               return bgp_peer_group_afi_safi_rmap_destroy(args, RMAP_OUT);
+               /* TODO: implement me. */
+               break;
        }
 
        return NB_OK;
index 81712c5893f9983feba1a8563387422657d4c43d..59a75857f0479873a5fae05a57d1459dc85bf392 100644 (file)
@@ -7952,7 +7952,7 @@ DEFPY_YANG(
 {
        char base_xpath[XPATH_MAXLEN];
        char af_xpath[XPATH_MAXLEN];
-       char plist_xpath[XPATH_MAXLEN];
+       char plist_xpath[80];
        afi_t afi = bgp_node_afi(vty);
        safi_t safi = bgp_node_safi(vty);
 
@@ -8166,52 +8166,70 @@ ALIAS_HIDDEN(neighbor_advertise_map, neighbor_advertise_map_hidden_cmd,
             "Name of the exist or non exist map\n")
 
 /* Set route-map to the peer. */
-DEFPY_YANG(
-       neighbor_route_map, neighbor_route_map_cmd,
-       "[no$no] neighbor <A.B.C.D|X:X::X:X|WORD>$neighbor_str route-map WORD$rmap_str  <in|out>$direction",
-       NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
-       "Apply route map to neighbor\n"
-       "Name of route map\n"
-       "Apply map to incoming routes\n"
-       "Apply map to outbound routes\n")
+static int peer_route_map_set_vty(struct vty *vty, const char *ip_str,
+                                 afi_t afi, safi_t safi, const char *name_str,
+                                 const char *direct_str)
 {
-       char base_xpath[XPATH_MAXLEN];
-       char af_xpath[XPATH_MAXLEN];
-       char rmap_xpath[XPATH_MAXLEN];
-       afi_t afi = bgp_node_afi(vty);
-       safi_t safi = bgp_node_safi(vty);
+       int ret;
+       struct peer *peer;
+       int direct = RMAP_IN;
+       struct route_map *route_map;
 
-       snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
-                yang_afi_safi_value2identity(afi, safi));
-       if (peer_and_group_lookup_nb(vty, neighbor_str, base_xpath,
-                                    sizeof(base_xpath), af_xpath)
-           < 0)
+       peer = peer_and_group_lookup_vty(vty, ip_str);
+       if (!peer)
                return CMD_WARNING_CONFIG_FAILED;
 
-       if (strmatch(direction, "in"))
-               snprintf(rmap_xpath, sizeof(rmap_xpath),
-                        "./%s/filter-config/rmap-import",
-                        bgp_afi_safi_get_container_str(afi, safi));
-       else if (strmatch(direction, "out"))
-               snprintf(rmap_xpath, sizeof(rmap_xpath),
-                        "./%s/filter-config/rmap-export",
-                        bgp_afi_safi_get_container_str(afi, safi));
+       /* Check filter direction. */
+       if (strncmp(direct_str, "in", 2) == 0)
+               direct = RMAP_IN;
+       else if (strncmp(direct_str, "o", 1) == 0)
+               direct = RMAP_OUT;
 
-       if (!no) {
-               if (!yang_dnode_existsf(
-                           vty->candidate_config->dnode,
-                           "/frr-route-map:lib/route-map[name='%s']",
-                           rmap_str)) {
-                       if (vty_shell_serv(vty))
-                               vty_out(vty,
-                                       "The route-map '%s' does not exist.\n",
-                                       rmap_str);
-               }
-               nb_cli_enqueue_change(vty, rmap_xpath, NB_OP_MODIFY, rmap_str);
-       } else
-               nb_cli_enqueue_change(vty, rmap_xpath, NB_OP_DESTROY, NULL);
+       route_map = route_map_lookup_warn_noexist(vty, name_str);
+       ret = peer_route_map_set(peer, afi, safi, direct, name_str, route_map);
 
-       return nb_cli_apply_changes(vty, base_xpath);
+       return bgp_vty_return(vty, ret);
+}
+
+static int peer_route_map_unset_vty(struct vty *vty, const char *ip_str,
+                                   afi_t afi, safi_t safi,
+                                   const char *direct_str)
+{
+       int ret;
+       struct peer *peer;
+       int direct = RMAP_IN;
+
+       peer = peer_and_group_lookup_vty(vty, ip_str);
+       if (!peer)
+               return CMD_WARNING_CONFIG_FAILED;
+
+       /* Check filter direction. */
+       if (strncmp(direct_str, "in", 2) == 0)
+               direct = RMAP_IN;
+       else if (strncmp(direct_str, "o", 1) == 0)
+               direct = RMAP_OUT;
+
+       ret = peer_route_map_unset(peer, afi, safi, direct);
+
+       return bgp_vty_return(vty, ret);
+}
+
+DEFUN (neighbor_route_map,
+       neighbor_route_map_cmd,
+       "neighbor <A.B.C.D|X:X::X:X|WORD> route-map WORD <in|out>",
+       NEIGHBOR_STR
+       NEIGHBOR_ADDR_STR2
+       "Apply route map to neighbor\n"
+       "Name of route map\n"
+       "Apply map to incoming routes\n"
+       "Apply map to outbound routes\n")
+{
+       int idx_peer = 1;
+       int idx_word = 3;
+       int idx_in_out = 4;
+       return peer_route_map_set_vty(
+               vty, argv[idx_peer]->arg, bgp_node_afi(vty), bgp_node_safi(vty),
+               argv[idx_word]->arg, argv[idx_in_out]->arg);
 }
 
 ALIAS_HIDDEN(neighbor_route_map, neighbor_route_map_hidden_cmd,
@@ -8222,7 +8240,25 @@ ALIAS_HIDDEN(neighbor_route_map, neighbor_route_map_hidden_cmd,
             "Apply map to incoming routes\n"
             "Apply map to outbound routes\n")
 
-ALIAS_HIDDEN(neighbor_route_map, no_neighbor_route_map_hidden_cmd,
+DEFUN (no_neighbor_route_map,
+       no_neighbor_route_map_cmd,
+       "no neighbor <A.B.C.D|X:X::X:X|WORD> route-map WORD <in|out>",
+       NO_STR
+       NEIGHBOR_STR
+       NEIGHBOR_ADDR_STR2
+       "Apply route map to neighbor\n"
+       "Name of route map\n"
+       "Apply map to incoming routes\n"
+       "Apply map to outbound routes\n")
+{
+       int idx_peer = 2;
+       int idx_in_out = 5;
+       return peer_route_map_unset_vty(vty, argv[idx_peer]->arg,
+                                       bgp_node_afi(vty), bgp_node_safi(vty),
+                                       argv[idx_in_out]->arg);
+}
+
+ALIAS_HIDDEN(no_neighbor_route_map, no_neighbor_route_map_hidden_cmd,
             "no neighbor <A.B.C.D|X:X::X:X|WORD> route-map WORD <in|out>",
             NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
             "Apply route map to neighbor\n"
@@ -19445,16 +19481,27 @@ void bgp_vty_init(void)
        install_element(BGP_NODE, &neighbor_route_map_hidden_cmd);
        install_element(BGP_NODE, &no_neighbor_route_map_hidden_cmd);
        install_element(BGP_IPV4_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_IPV4_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_IPV4M_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_IPV4M_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_IPV4L_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_IPV4L_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_IPV6_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_IPV6_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_IPV6M_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_IPV6M_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_IPV6L_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_IPV6L_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_VPNV4_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_VPNV4_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_VPNV6_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_VPNV6_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_FLOWSPECV4_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_FLOWSPECV4_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_FLOWSPECV6_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_FLOWSPECV6_NODE, &no_neighbor_route_map_cmd);
        install_element(BGP_EVPN_NODE, &neighbor_route_map_cmd);
+       install_element(BGP_EVPN_NODE, &no_neighbor_route_map_cmd);
 
        /* "neighbor unsuppress-map" commands. */
        install_element(BGP_NODE, &neighbor_unsuppress_map_hidden_cmd);