From: Igor Ryzhov Date: Thu, 13 May 2021 22:52:10 +0000 (+0300) Subject: Revert "bgpd: default originate transactional callbacks" X-Git-Tag: frr-8.0~24^2~24 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=9d84a0c2b2bb449ec49c2fb105744b3e8b2a7d9c;p=matthieu%2Ffrr.git Revert "bgpd: default originate transactional callbacks" This reverts commit 7c54def2926e85d760a7ab42f879a6545630878f. --- diff --git a/bgpd/bgp_nb.c b/bgpd/bgp_nb.c index 67684b0da3..7ed1e13edd 100644 --- a/bgpd/bgp_nb.c +++ b/bgpd/bgp_nb.c @@ -2576,12 +2576,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate", - .cbs = { - .apply_finish = bgp_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate/originate", .cbs = { @@ -2884,12 +2878,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-unicast/default-originate", - .cbs = { - .apply_finish = bgp_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-unicast/default-originate/originate", .cbs = { @@ -3116,12 +3104,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-multicast/default-originate", - .cbs = { - .apply_finish = bgp_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-multicast/default-originate/originate", .cbs = { @@ -3348,12 +3330,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-multicast/default-originate", - .cbs = { - .apply_finish = bgp_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-multicast/default-originate/originate", .cbs = { @@ -3580,12 +3556,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-labeled-unicast/default-originate", - .cbs = { - .apply_finish = bgp_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-labeled-unicast/default-originate/originate", .cbs = { @@ -3812,12 +3782,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-labeled-unicast/default-originate", - .cbs = { - .apply_finish = bgp_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-labeled-unicast/default-originate/originate", .cbs = { @@ -4532,12 +4496,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate", - .cbs = { - .apply_finish = bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate/originate", .cbs = { @@ -4840,12 +4798,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-unicast/default-originate", - .cbs = { - .apply_finish = bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-unicast/default-originate/originate", .cbs = { @@ -5072,12 +5024,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-multicast/default-originate", - .cbs = { - .apply_finish = bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-multicast/default-originate/originate", .cbs = { @@ -5303,12 +5249,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-multicast/default-originate", - .cbs = { - .apply_finish = bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-multicast/default-originate/originate", .cbs = { @@ -5534,12 +5474,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-labeled-unicast/default-originate", - .cbs = { - .apply_finish = bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-labeled-unicast/default-originate/originate", .cbs = { @@ -5766,12 +5700,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-labeled-unicast/default-originate", - .cbs = { - .apply_finish = bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-labeled-unicast/default-originate/originate", .cbs = { @@ -6486,12 +6414,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast/default-originate", - .cbs = { - .apply_finish = bgp_peer_group_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast/default-originate/originate", .cbs = { @@ -6794,12 +6716,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-unicast/default-originate", - .cbs = { - .apply_finish = bgp_peer_group_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-unicast/default-originate/originate", .cbs = { @@ -7026,12 +6942,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-multicast/default-originate", - .cbs = { - .apply_finish = bgp_peer_group_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-multicast/default-originate/originate", .cbs = { @@ -7264,12 +7174,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-multicast/default-originate", - .cbs = { - .apply_finish = bgp_peer_group_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-multicast/default-originate/originate", .cbs = { @@ -7502,12 +7406,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-labeled-unicast/default-originate", - .cbs = { - .apply_finish = bgp_peer_group_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-labeled-unicast/default-originate/originate", .cbs = { @@ -7734,12 +7632,6 @@ const struct frr_yang_module_info frr_bgp_info = { .modify = bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_as_path_options_replace_peer_as_modify, } }, - { - .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-labeled-unicast/default-originate", - .cbs = { - .apply_finish = bgp_peer_group_afi_safi_default_originate_apply_finish, - } - }, { .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-labeled-unicast/default-originate/originate", .cbs = { diff --git a/bgpd/bgp_nb.h b/bgpd/bgp_nb.h index 11e9f6442e..2ab843f6a4 100644 --- a/bgpd/bgp_nb.h +++ b/bgpd/bgp_nb.h @@ -3759,12 +3759,6 @@ void bgp_unnumbered_neighbor_afi_safi_prefix_limit_apply_finish( struct nb_cb_apply_finish_args *args); void bgp_peer_group_afi_safi_prefix_limit_apply_finish( struct nb_cb_apply_finish_args *args); -void bgp_neighbor_afi_safi_default_originate_apply_finish( - struct nb_cb_apply_finish_args *args); -void bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish( - struct nb_cb_apply_finish_args *args); -void bgp_peer_group_afi_safi_default_originate_apply_finish( - struct nb_cb_apply_finish_args *args); /* xpath macros */ /* route-list */ diff --git a/bgpd/bgp_nb_config.c b/bgpd/bgp_nb_config.c index f41569ea11..e4c5d84883 100644 --- a/bgpd/bgp_nb_config.c +++ b/bgpd/bgp_nb_config.c @@ -13948,70 +13948,6 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_as_path_options_repla return NB_OK; } -static int -bgp_peer_afi_safi_default_originate_apply(struct nb_cb_apply_finish_args *args, - struct peer *peer, afi_t afi, - safi_t safi) -{ - bool originate = false; - int ret = 0; - struct route_map *route_map = NULL; - const char *rmap = NULL; - - originate = yang_dnode_get_bool(args->dnode, "./originate"); - - if (yang_dnode_exists(args->dnode, "./route-map")) { - rmap = yang_dnode_get_string(args->dnode, "./route-map"); - route_map = route_map_lookup_by_name(rmap); - if (!route_map) { - snprintf(args->errmsg, args->errmsg_len, - "The route-map '%s' does not exist.", rmap); - return -1; - } - } - - // zlog_debug("%s: originate %u route-map %s", __func__, originate, - // rmap); - if (originate) - ret = peer_default_originate_set(peer, afi, safi, rmap, - route_map); - else - ret = peer_default_originate_unset(peer, afi, safi); - - 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/default-originate - */ -void bgp_neighbor_afi_safi_default_originate_apply_finish( - struct nb_cb_apply_finish_args *args) -{ - 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; - - 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); - if (!peer) - return; - - bgp_peer_afi_safi_default_originate_apply(args, peer, afi, safi); -} - /* * XPath: * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate/originate @@ -22357,37 +22293,6 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_as_path_op return NB_OK; } -/* - * XPath: - * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate - */ -void bgp_unnumbered_neighbor_afi_safi_default_originate_apply_finish( - struct nb_cb_apply_finish_args *args) -{ - 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; - - 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); - if (!peer) - return; - - bgp_peer_afi_safi_default_originate_apply(args, peer, afi, safi); -} - /* * XPath: * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate/originate @@ -30679,36 +30584,6 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_as_path_options_r return NB_OK; } -/* - * XPath: - * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast/default-originate - */ -void bgp_peer_group_afi_safi_default_originate_apply_finish( - struct nb_cb_apply_finish_args *args) -{ - 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; - - 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); - if (!peer) - return; - - bgp_peer_afi_safi_default_originate_apply(args, peer, afi, safi); -} - /* * XPath: * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast/default-originate/originate