summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_nb.c59
-rw-r--r--bgpd/bgp_nb.h52
-rw-r--r--bgpd/bgp_nb_config.c5778
-rw-r--r--bgpd/bgp_vty.c3458
-rw-r--r--bgpd/bgp_vty.h15
5 files changed, 1995 insertions, 7367 deletions
diff --git a/bgpd/bgp_nb.c b/bgpd/bgp_nb.c
index 5dc0c07dd5..09c20b55db 100644
--- a/bgpd/bgp_nb.c
+++ b/bgpd/bgp_nb.c
@@ -616,16 +616,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/local-as",
- .cbs = {
- .apply_finish = bgp_neighbors_neighbor_local_as_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/local-as/local-as",
.cbs = {
.modify = bgp_neighbors_neighbor_local_as_local_as_modify,
- .destroy = bgp_neighbors_neighbor_local_as_local_as_destroy,
}
},
{
@@ -682,16 +675,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/admin-shutdown",
- .cbs = {
- .apply_finish = bgp_neighbors_neighbor_admin_shutdown_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/admin-shutdown/enable",
.cbs = {
.modify = bgp_neighbors_neighbor_admin_shutdown_enable_modify,
- .destroy = bgp_neighbors_neighbor_admin_shutdown_enable_destroy,
}
},
{
@@ -759,7 +745,6 @@ const struct frr_yang_module_info frr_bgp_info = {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/enabled",
.cbs = {
.modify = bgp_neighbors_neighbor_afi_safis_afi_safi_enabled_modify,
- .destroy = bgp_neighbors_neighbor_afi_safis_afi_safi_enabled_destroy,
}
},
{
@@ -866,16 +851,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/neighbor-remote-as",
- .cbs = {
- .apply_finish = bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/neighbor-remote-as/remote-as-type",
.cbs = {
.modify = bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_type_modify,
- .destroy = bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_type_destroy,
}
},
{
@@ -906,16 +884,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/local-as",
- .cbs = {
- .apply_finish = bgp_neighbors_unnumbered_neighbor_local_as_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/local-as/local-as",
.cbs = {
.modify = bgp_neighbors_unnumbered_neighbor_local_as_local_as_modify,
- .destroy = bgp_neighbors_unnumbered_neighbor_local_as_local_as_destroy,
}
},
{
@@ -972,16 +943,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/admin-shutdown",
- .cbs = {
- .apply_finish = bgp_neighbors_unnumbered_neighbor_admin_shutdown_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/admin-shutdown/enable",
.cbs = {
.modify = bgp_neighbors_unnumbered_neighbor_admin_shutdown_enable_modify,
- .destroy = bgp_neighbors_unnumbered_neighbor_admin_shutdown_enable_destroy,
}
},
{
@@ -1049,7 +1013,6 @@ const struct frr_yang_module_info frr_bgp_info = {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/enabled",
.cbs = {
.modify = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_enabled_modify,
- .destroy = bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_enabled_destroy,
}
},
{
@@ -1157,16 +1120,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/neighbor-remote-as",
- .cbs = {
- .apply_finish = bgp_peer_group_neighbor_remote_as_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/neighbor-remote-as/remote-as-type",
.cbs = {
.modify = bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_type_modify,
- .destroy = bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_type_destroy,
}
},
{
@@ -1197,16 +1153,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/local-as",
- .cbs = {
- .apply_finish = bgp_peer_groups_peer_group_local_as_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/local-as/local-as",
.cbs = {
.modify = bgp_peer_groups_peer_group_local_as_local_as_modify,
- .destroy = bgp_peer_groups_peer_group_local_as_local_as_destroy,
}
},
{
@@ -1263,16 +1212,9 @@ const struct frr_yang_module_info frr_bgp_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/admin-shutdown",
- .cbs = {
- .apply_finish = bgp_peer_groups_peer_group_admin_shutdown_apply_finish,
- }
- },
- {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/admin-shutdown/enable",
.cbs = {
.modify = bgp_peer_groups_peer_group_admin_shutdown_enable_modify,
- .destroy = bgp_peer_groups_peer_group_admin_shutdown_enable_destroy,
}
},
{
@@ -1340,7 +1282,6 @@ const struct frr_yang_module_info frr_bgp_info = {
.xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/enabled",
.cbs = {
.modify = bgp_peer_groups_peer_group_afi_safis_afi_safi_enabled_modify,
- .destroy = bgp_peer_groups_peer_group_afi_safis_afi_safi_enabled_destroy,
}
},
{
diff --git a/bgpd/bgp_nb.h b/bgpd/bgp_nb.h
index cf5c6c41bf..dcd49712f2 100644
--- a/bgpd/bgp_nb.h
+++ b/bgpd/bgp_nb.h
@@ -211,8 +211,6 @@ int bgp_neighbors_neighbor_update_source_interface_destroy(
struct nb_cb_destroy_args *args);
int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_type_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_type_destroy(
- struct nb_cb_destroy_args *args);
int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_modify(
struct nb_cb_modify_args *args);
int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_destroy(
@@ -229,8 +227,6 @@ int bgp_neighbors_neighbor_ebgp_multihop_disable_connected_check_modify(
struct nb_cb_modify_args *args);
int bgp_neighbors_neighbor_local_as_local_as_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_neighbor_local_as_local_as_destroy(
- struct nb_cb_destroy_args *args);
int bgp_neighbors_neighbor_local_as_no_prepend_modify(
struct nb_cb_modify_args *args);
int bgp_neighbors_neighbor_local_as_replace_as_modify(
@@ -259,8 +255,6 @@ int bgp_neighbors_neighbor_bfd_options_check_cp_failure_destroy(
struct nb_cb_destroy_args *args);
int bgp_neighbors_neighbor_admin_shutdown_enable_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_neighbor_admin_shutdown_enable_destroy(
- struct nb_cb_destroy_args *args);
int bgp_neighbors_neighbor_admin_shutdown_message_modify(
struct nb_cb_modify_args *args);
int bgp_neighbors_neighbor_admin_shutdown_message_destroy(
@@ -295,8 +289,6 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_destroy(
struct nb_cb_destroy_args *args);
int bgp_neighbors_neighbor_afi_safis_afi_safi_enabled_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_neighbor_afi_safis_afi_safi_enabled_destroy(
- struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_create(struct nb_cb_create_args *args);
int bgp_neighbors_unnumbered_neighbor_destroy(struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_v6only_modify(
@@ -343,8 +335,6 @@ int bgp_neighbors_unnumbered_neighbor_update_source_interface_destroy(
struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_type_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_type_destroy(
- struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_modify(
struct nb_cb_modify_args *args);
int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_destroy(
@@ -361,8 +351,6 @@ int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_disable_connected_check_modi
struct nb_cb_modify_args *args);
int bgp_neighbors_unnumbered_neighbor_local_as_local_as_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_unnumbered_neighbor_local_as_local_as_destroy(
- struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_local_as_no_prepend_modify(
struct nb_cb_modify_args *args);
int bgp_neighbors_unnumbered_neighbor_local_as_replace_as_modify(
@@ -391,8 +379,6 @@ int bgp_neighbors_unnumbered_neighbor_bfd_options_check_cp_failure_destroy(
struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_admin_shutdown_enable_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_unnumbered_neighbor_admin_shutdown_enable_destroy(
- struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_admin_shutdown_message_modify(
struct nb_cb_modify_args *args);
int bgp_neighbors_unnumbered_neighbor_admin_shutdown_message_destroy(
@@ -427,8 +413,6 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_destroy(
struct nb_cb_destroy_args *args);
int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_enabled_modify(
struct nb_cb_modify_args *args);
-int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_enabled_destroy(
- struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_create(struct nb_cb_create_args *args);
int bgp_peer_groups_peer_group_destroy(struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_ipv4_listen_range_create(
@@ -475,8 +459,6 @@ int bgp_peer_groups_peer_group_update_source_interface_destroy(
struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_type_modify(
struct nb_cb_modify_args *args);
-int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_type_destroy(
- struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_modify(
struct nb_cb_modify_args *args);
int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_destroy(
@@ -493,8 +475,6 @@ int bgp_peer_groups_peer_group_ebgp_multihop_disable_connected_check_modify(
struct nb_cb_modify_args *args);
int bgp_peer_groups_peer_group_local_as_local_as_modify(
struct nb_cb_modify_args *args);
-int bgp_peer_groups_peer_group_local_as_local_as_destroy(
- struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_local_as_no_prepend_modify(
struct nb_cb_modify_args *args);
int bgp_peer_groups_peer_group_local_as_replace_as_modify(
@@ -523,8 +503,6 @@ int bgp_peer_groups_peer_group_bfd_options_check_cp_failure_destroy(
struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_admin_shutdown_enable_modify(
struct nb_cb_modify_args *args);
-int bgp_peer_groups_peer_group_admin_shutdown_enable_destroy(
- struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_admin_shutdown_message_modify(
struct nb_cb_modify_args *args);
int bgp_peer_groups_peer_group_admin_shutdown_message_destroy(
@@ -559,8 +537,6 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_destroy(
struct nb_cb_destroy_args *args);
int bgp_peer_groups_peer_group_afi_safis_afi_safi_enabled_modify(
struct nb_cb_modify_args *args);
-int bgp_peer_groups_peer_group_afi_safis_afi_safi_enabled_destroy(
- struct nb_cb_destroy_args *args);
int bgp_global_afi_safis_afi_safi_ipv4_unicast_network_config_create(
struct nb_cb_create_args *args);
int bgp_global_afi_safis_afi_safi_ipv4_unicast_network_config_destroy(
@@ -3599,22 +3575,6 @@ void bgp_global_afi_safi_ip_unicast_redistribution_list_apply_finish(
struct nb_cb_apply_finish_args *args);
void bgp_global_afi_safis_afi_safi_route_flap_dampening_apply_finish(
struct nb_cb_apply_finish_args *args);
-void bgp_neighbors_neighbor_local_as_apply_finish(
- struct nb_cb_apply_finish_args *args);
-void bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_apply_finish(
- struct nb_cb_apply_finish_args *args);
-void bgp_neighbors_unnumbered_neighbor_local_as_apply_finish(
- struct nb_cb_apply_finish_args *args);
-void bgp_peer_group_neighbor_remote_as_apply_finish(
- struct nb_cb_apply_finish_args *args);
-void bgp_neighbors_neighbor_admin_shutdown_apply_finish(
- struct nb_cb_apply_finish_args *args);
-void bgp_neighbors_unnumbered_neighbor_admin_shutdown_apply_finish(
- struct nb_cb_apply_finish_args *args);
-void bgp_peer_groups_peer_group_admin_shutdown_apply_finish(
- struct nb_cb_apply_finish_args *args);
-void bgp_peer_groups_peer_group_local_as_apply_finish(
- struct nb_cb_apply_finish_args *args);
/* xpath macros */
/* route-list */
@@ -3630,17 +3590,5 @@ void bgp_peer_groups_peer_group_local_as_apply_finish(
#define FRR_BGP_AFI_SAFI_REDIST_XPATH \
"./global/afi-safis/afi-safi[afi-safi-name='%s']/%s/" \
"redistribution-list[route-type='%s'][route-instance='%s']"
-#define FRR_BGP_NEIGHBOR_NUM_XPATH "./neighbors/neighbor[remote-address='%s']%s"
-#define FRR_BGP_NEIGHBOR_UNNUM_XPATH \
- "./neighbors/unnumbered-neighbor[interface='%s']%s"
-#define FRR_BGP_PEER_GROUP_XPATH \
- "./peer-groups/peer-group[peer-group-name='%s']%s"
-#define FRR_BGP_NEIGHBOR_NUM_AFI_SAFI_XPATH \
- "./neighbors/neighbor[remote-address='%s']/afi-safis/afi-safi[afi-safi-name='%s']"
-#define FRR_BGP_NEIGHBOR_UNNUM_AFI_SAFI_XPATH \
- "./neighbors/neighbor[interface='%s']/afi-safis/afi-safi[afi-safi-name='%s']"
-#define FRR_BGP_PEER_GROUP_AFI_SAFI_XPATH \
- "./peer-groups/peer-group[peer-group-name='%s']/afi-safis/afi-safi[afi-safi-name='%s']"
-#define FRR_BGP_AF_XPATH "/afi-safis/afi-safi[afi-safi-name='%s']"
#endif
diff --git a/bgpd/bgp_nb_config.c b/bgpd/bgp_nb_config.c
index ade5038217..a053264025 100644
--- a/bgpd/bgp_nb_config.c
+++ b/bgpd/bgp_nb_config.c
@@ -2109,73 +2109,18 @@ int bgp_global_afi_safis_afi_safi_destroy(struct nb_cb_destroy_args *args)
return NB_OK;
}
-static struct peer *bgp_neighbor_peer_lookup(struct bgp *bgp,
- const char *peer_str, char *errmsg,
- size_t errmsg_len)
-{
- struct peer *peer = NULL;
- union sockunion su;
-
- str2sockunion(peer_str, &su);
- peer = peer_lookup(bgp, &su);
- if (!peer) {
- snprintf(errmsg, errmsg_len,
- "Specify remote-as or peer-group commands first");
- return NULL;
- }
- if (peer_dynamic_neighbor(peer)) {
- snprintf(errmsg, errmsg_len,
- "Operation not allowed on a dynamic neighbor\n");
- return NULL;
- }
- return peer;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor
*/
int bgp_neighbors_neighbor_create(struct nb_cb_create_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- union sockunion su;
-
switch (args->event) {
case NB_EV_VALIDATE:
-
- peer_str =
- yang_dnode_get_string(args->dnode, "./remote-address");
-
- bgp = nb_running_get_entry(args->dnode, NULL, false);
- if (!bgp)
- return NB_OK;
-
- str2sockunion(peer_str, &su);
- if (peer_address_self_check(bgp, &su)) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "Can not configure the local system as neighbor");
- return NB_ERR_VALIDATION;
- }
-
- break;
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- /* Once bgp instance available check self peer addr */
- bgp = nb_running_get_entry(args->dnode, NULL, true);
-
- peer_str =
- yang_dnode_get_string(args->dnode, "./remote-address");
- str2sockunion(peer_str, &su);
- if (peer_address_self_check(bgp, &su)) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "Can not configure the local system as neighbor");
- return NB_ERR_INCONSISTENCY;
- }
+ /* TODO: implement me. */
break;
}
@@ -2184,65 +2129,12 @@ int bgp_neighbors_neighbor_create(struct nb_cb_create_args *args)
int bgp_neighbors_neighbor_destroy(struct nb_cb_destroy_args *args)
{
-
- struct bgp *bgp;
- const char *peer_str;
- union sockunion su;
- struct peer *peer = NULL;
- struct peer *other;
-
switch (args->event) {
case NB_EV_VALIDATE:
- bgp = nb_running_get_entry(args->dnode, NULL, false);
- if (!bgp)
- return NB_OK;
- peer_str =
- yang_dnode_get_string(args->dnode, "./remote-address");
- str2sockunion(peer_str, &su);
-
- peer = peer_lookup(bgp, &su);
- if (peer) {
- if (peer_dynamic_neighbor(peer)) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "Operation not allowed on a dynamic neighbor");
- return NB_ERR_VALIDATION;
- }
- }
- break;
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
-
- peer_str =
- yang_dnode_get_string(args->dnode, "./remote-address");
- str2sockunion(peer_str, &su);
-
- peer = peer_lookup(bgp, &su);
- if (peer) {
- if (peer_dynamic_neighbor(peer)) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "Operation not allowed on a dynamic neighbor");
- return NB_ERR_INCONSISTENCY;
- }
-
- other = peer->doppelganger;
-
- if (CHECK_FLAG(peer->flags, PEER_FLAG_CAPABILITY_ENHE))
- bgp_zebra_terminate_radv(peer->bgp, peer);
-
- peer_notify_unconfig(peer);
- peer_delete(peer);
- if (other && other->status != Deleted) {
- peer_notify_unconfig(other);
- peer_delete(other);
- }
- }
-
+ /* TODO: implement me. */
break;
}
@@ -2256,38 +2148,12 @@ int bgp_neighbors_neighbor_destroy(struct nb_cb_destroy_args *args)
int bgp_neighbors_neighbor_local_interface_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *intf_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer) {
- snprintf(args->errmsg, args->errmsg_len,
- "BGP invalid peer %s", peer_str);
- return NB_ERR_INCONSISTENCY;
- }
-
- if (peer->conf_if) {
- snprintf(args->errmsg, args->errmsg_len,
- "BGP invalid peer %s", peer_str);
- return NB_ERR_INCONSISTENCY;
- }
-
- intf_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_interface_set(peer, intf_str);
-
+ /* TODO: implement me. */
break;
}
@@ -2297,35 +2163,12 @@ int bgp_neighbors_neighbor_local_interface_modify(
int bgp_neighbors_neighbor_local_interface_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer) {
- snprintf(args->errmsg, args->errmsg_len,
- "BGP invalid peer %s", peer_str);
- return NB_ERR_INCONSISTENCY;
- }
-
- if (peer->conf_if) {
- snprintf(args->errmsg, args->errmsg_len,
- "BGP invalid peer %s", peer_str);
- return NB_ERR_INCONSISTENCY;
- }
-
- peer_interface_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -2338,31 +2181,12 @@ int bgp_neighbors_neighbor_local_interface_destroy(
*/
int bgp_neighbors_neighbor_local_port_modify(struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t port;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer) {
- snprintf(args->errmsg, args->errmsg_len,
- "BGP invalid peer %s", peer_str);
- return NB_ERR_INCONSISTENCY;
- }
-
- port = yang_dnode_get_uint16(args->dnode, NULL);
- peer_port_set(peer, port);
-
+ /* TODO: implement me. */
break;
}
@@ -2371,33 +2195,12 @@ int bgp_neighbors_neighbor_local_port_modify(struct nb_cb_modify_args *args)
int bgp_neighbors_neighbor_local_port_destroy(struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t port;
- struct servent *sp;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer) {
- snprintf(args->errmsg, args->errmsg_len,
- "BGP invalid peer %s", peer_str);
- return NB_ERR_INCONSISTENCY;
- }
-
- sp = getservbyname("bgp", "tcp");
- port = (sp == NULL) ? BGP_PORT_DEFAULT : ntohs(sp->s_port);
- peer_port_set(peer, port);
-
+ /* TODO: implement me. */
break;
}
@@ -2410,67 +2213,12 @@ int bgp_neighbors_neighbor_local_port_destroy(struct nb_cb_destroy_args *args)
*/
int bgp_neighbors_neighbor_peer_group_modify(struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *peer_grp_str;
- struct peer *peer;
- struct peer_group *group;
- union sockunion su;
- as_t as;
- int ret = 0;
- char prgrp_xpath[XPATH_MAXLEN];
- const struct lyd_node *bgp_dnode;
-
switch (args->event) {
case NB_EV_VALIDATE:
- peer_grp_str = yang_dnode_get_string(args->dnode, NULL);
- bgp_dnode = yang_dnode_get_parent(args->dnode, "bgp");
- snprintf(prgrp_xpath, sizeof(prgrp_xpath),
- FRR_BGP_PEER_GROUP_XPATH, peer_grp_str, "");
-
- if (!yang_dnode_exists(bgp_dnode, prgrp_xpath)) {
- snprintf(args->errmsg, args->errmsg_len,
- "Configure the peer-group first %s",
- peer_grp_str);
- return NB_ERR_VALIDATION;
- }
-
- break;
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- str2sockunion(peer_str, &su);
-
- peer_grp_str = yang_dnode_get_string(args->dnode, NULL);
- group = peer_group_lookup(bgp, peer_grp_str);
- if (!group) {
- snprintf(args->errmsg, args->errmsg_len,
- "Configure the peer-group first %s",
- peer_grp_str);
- return NB_ERR_INCONSISTENCY;
- }
-
- ret = peer_group_bind(bgp, &su, peer, group, &as);
-
- if (ret == BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "Peer with AS %u cannot be in this peer-group, members must be all internal or all external\n",
- as);
- return NB_ERR_INCONSISTENCY;
- }
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -2479,33 +2227,12 @@ int bgp_neighbors_neighbor_peer_group_modify(struct nb_cb_modify_args *args)
int bgp_neighbors_neighbor_peer_group_destroy(struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- if (CHECK_FLAG(peer->flags, PEER_FLAG_CAPABILITY_ENHE))
- bgp_zebra_terminate_radv(peer->bgp, peer);
-
- peer_notify_unconfig(peer);
- ret = peer_delete(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -2518,29 +2245,12 @@ int bgp_neighbors_neighbor_peer_group_destroy(struct nb_cb_destroy_args *args)
*/
int bgp_neighbors_neighbor_password_modify(struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *passwrd_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- passwrd_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_password_set(peer, passwrd_str);
-
+ /* TODO: implement me. */
break;
}
@@ -2549,26 +2259,12 @@ int bgp_neighbors_neighbor_password_modify(struct nb_cb_modify_args *args)
int bgp_neighbors_neighbor_password_destroy(struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_password_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -2581,44 +2277,12 @@ int bgp_neighbors_neighbor_password_destroy(struct nb_cb_destroy_args *args)
*/
int bgp_neighbors_neighbor_ttl_security_modify(struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
- uint8_t gtsm_hops;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- gtsm_hops = yang_dnode_get_uint8(args->dnode, NULL);
- /*
- * If 'neighbor swpX', then this is for directly connected
- * peers, we should not accept a ttl-security hops value greater
- * than 1.
- */
- if (peer->conf_if && (gtsm_hops > BGP_GTSM_HOPS_CONNECTED)) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "%d is directly connected peer, hops cannot exceed 1\n",
- gtsm_hops);
- return NB_ERR_INCONSISTENCY;
- }
-
- ret = peer_ttl_security_hops_set(peer, gtsm_hops);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret))
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -2627,31 +2291,12 @@ int bgp_neighbors_neighbor_ttl_security_modify(struct nb_cb_modify_args *args)
int bgp_neighbors_neighbor_ttl_security_destroy(struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ttl_security_hops_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
-
+ /* TODO: implement me. */
break;
}
@@ -2683,28 +2328,12 @@ int bgp_neighbors_neighbor_solo_modify(struct nb_cb_modify_args *args)
int bgp_neighbors_neighbor_enforce_first_as_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_ENFORCE_FIRST_AS, enable,
- args->errmsg, args->errmsg_len);
+ /* TODO: implement me. */
break;
}
@@ -2717,30 +2346,12 @@ int bgp_neighbors_neighbor_enforce_first_as_modify(
*/
int bgp_neighbors_neighbor_description_modify(struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *desc_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
-
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- desc_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_description_set(peer, desc_str);
-
+ /* TODO: implement me. */
break;
}
@@ -2749,26 +2360,12 @@ int bgp_neighbors_neighbor_description_modify(struct nb_cb_modify_args *args)
int bgp_neighbors_neighbor_description_destroy(struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_description_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -2781,32 +2378,12 @@ int bgp_neighbors_neighbor_description_destroy(struct nb_cb_destroy_args *args)
*/
int bgp_neighbors_neighbor_passive_mode_modify(struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (peer_flag_modify_nb(bgp, peer_str, peer, PEER_FLAG_PASSIVE,
- set, args->errmsg, args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -2820,29 +2397,12 @@ int bgp_neighbors_neighbor_passive_mode_modify(struct nb_cb_modify_args *args)
int bgp_neighbors_neighbor_capability_options_dynamic_capability_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_DYNAMIC_CAPABILITY, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -2875,29 +2435,12 @@ int bgp_neighbors_neighbor_capability_options_strict_capability_modify(
int bgp_neighbors_neighbor_capability_options_extended_nexthop_capability_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_CAPABILITY_ENHE, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -2949,30 +2492,12 @@ int bgp_neighbors_neighbor_capability_options_override_capability_modify(
int bgp_neighbors_neighbor_update_source_ip_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str, *source_str;
- struct peer *peer;
- union sockunion su;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- source_str = yang_dnode_get_string(args->dnode, NULL);
-
- str2sockunion(source_str, &su);
- peer_update_source_addr_set(peer, &su);
-
+ /* TODO: implement me. */
break;
}
@@ -2982,26 +2507,12 @@ int bgp_neighbors_neighbor_update_source_ip_modify(
int bgp_neighbors_neighbor_update_source_ip_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_update_source_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -3015,28 +2526,12 @@ int bgp_neighbors_neighbor_update_source_ip_destroy(
int bgp_neighbors_neighbor_update_source_interface_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str, *source_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- source_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_update_source_if_set(peer, source_str);
-
+ /* TODO: implement me. */
break;
}
@@ -3046,26 +2541,12 @@ int bgp_neighbors_neighbor_update_source_interface_modify(
int bgp_neighbors_neighbor_update_source_interface_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_update_source_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -3079,45 +2560,6 @@ int bgp_neighbors_neighbor_update_source_interface_destroy(
int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_type_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- int as_type = AS_SPECIFIED;
- union sockunion su;
- int ret;
- as_t as = 0;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
-
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- as_type = yang_dnode_get_enum(args->dnode, "../remote-as-type");
- /* When remote-as-type is as-specified, the peer will be
- * created in remote_as_modify callback */
- if (yang_dnode_exists(args->dnode, "../remote-as"))
- return NB_OK;
-
- str2sockunion(peer_str, &su);
- ret = peer_remote_as(bgp, &su, NULL, &as, as_type);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
-
- break;
- }
-
- return NB_OK;
-}
-
-int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_type_destroy(
- struct nb_cb_destroy_args *args)
-{
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
@@ -3137,33 +2579,12 @@ int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_type_destroy(
int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- int as_type = AS_SPECIFIED;
- union sockunion su;
- int ret;
- as_t as = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
-
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- as_type = yang_dnode_get_enum(args->dnode, "../remote-as-type");
- as = yang_dnode_get_uint32(args->dnode, NULL);
-
- str2sockunion(peer_str, &su);
- ret = peer_remote_as(bgp, &su, NULL, &as, as_type);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
-
+ /* TODO: implement me. */
break;
}
@@ -3192,46 +2613,12 @@ int bgp_neighbors_neighbor_neighbor_remote_as_remote_as_destroy(
int bgp_neighbors_neighbor_ebgp_multihop_enabled_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
- int ret = 0;
- uint8_t ttl = MAXTTL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- if (peer->conf_if) {
- ret = BGP_ERR_INVALID_FOR_DIRECT_PEER;
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len,
- ret);
- return NB_ERR_INCONSISTENCY;
- }
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (set)
- ret = peer_ebgp_multihop_set(peer, ttl);
- else
- ret = peer_ebgp_multihop_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
-
+ /* TODO: implement me. */
break;
}
@@ -3241,32 +2628,12 @@ int bgp_neighbors_neighbor_ebgp_multihop_enabled_modify(
int bgp_neighbors_neighbor_ebgp_multihop_enabled_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ebgp_multihop_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
-
+ /* TODO: implement me. */
break;
}
@@ -3280,39 +2647,12 @@ int bgp_neighbors_neighbor_ebgp_multihop_enabled_destroy(
int bgp_neighbors_neighbor_ebgp_multihop_multihop_ttl_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
- uint8_t ttl = MAXTTL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- if (peer->conf_if) {
- ret = BGP_ERR_INVALID_FOR_DIRECT_PEER;
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len,
- ret);
- return NB_ERR_INCONSISTENCY;
- }
-
- ttl = yang_dnode_get_uint8(args->dnode, NULL);
-
- ret = peer_ebgp_multihop_set(peer, ttl);
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -3322,29 +2662,12 @@ int bgp_neighbors_neighbor_ebgp_multihop_multihop_ttl_modify(
int bgp_neighbors_neighbor_ebgp_multihop_multihop_ttl_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ebgp_multihop_unset(peer);
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -3358,33 +2681,12 @@ int bgp_neighbors_neighbor_ebgp_multihop_multihop_ttl_destroy(
int bgp_neighbors_neighbor_ebgp_multihop_disable_connected_check_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_DISABLE_CONNECTED_CHECK, set,
- args->errmsg, args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -3393,40 +2695,6 @@ int bgp_neighbors_neighbor_ebgp_multihop_disable_connected_check_modify(
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/local-as
- */
-void bgp_neighbors_neighbor_local_as_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- int ret;
- as_t as = 0;
- const char *peer_str;
- struct peer *peer = NULL;
- bool no_prepend = 0;
- bool replace_as = 0;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- if (yang_dnode_exists(args->dnode, "./local-as"))
- as = yang_dnode_get_uint32(args->dnode, "./local-as");
- if (yang_dnode_exists(args->dnode, "./no-prepend"))
- no_prepend = yang_dnode_get_bool(args->dnode, "./no-prepend");
- if (yang_dnode_exists(args->dnode, "./replace-as"))
- replace_as = yang_dnode_get_bool(args->dnode, "./replace-as");
-
- if (!as && !no_prepend && !replace_as)
- ret = peer_local_as_unset(peer);
- else
- ret = peer_local_as_set(peer, as, no_prepend, replace_as);
- 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/local-as/local-as
*/
int bgp_neighbors_neighbor_local_as_local_as_modify(
@@ -3444,40 +2712,6 @@ int bgp_neighbors_neighbor_local_as_local_as_modify(
return NB_OK;
}
-int bgp_neighbors_neighbor_local_as_local_as_destroy(
- struct nb_cb_destroy_args *args)
-{
- struct bgp *bgp;
- int ret;
- const char *peer_str;
- struct peer *peer;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
-
-
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- ret = peer_local_as_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
-
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/local-as/no-prepend
@@ -3707,34 +2941,6 @@ int bgp_neighbors_neighbor_bfd_options_check_cp_failure_destroy(
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/admin-shutdown
- */
-void bgp_neighbors_neighbor_admin_shutdown_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
- const char *message;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- if (yang_dnode_exists(args->dnode, "./message")) {
- message = yang_dnode_get_string(args->dnode, "./message");
- peer_tx_shutdown_message_set(peer, message);
- }
- enable = yang_dnode_get_bool(args->dnode, "./enable");
-
- peer_flag_modify_nb(bgp, peer_str, peer, PEER_FLAG_SHUTDOWN, enable,
- args->errmsg, args->errmsg_len);
-}
-
-/*
- * XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/admin-shutdown/enable
*/
int bgp_neighbors_neighbor_admin_shutdown_enable_modify(
@@ -3752,21 +2958,6 @@ int bgp_neighbors_neighbor_admin_shutdown_enable_modify(
return NB_OK;
}
-int bgp_neighbors_neighbor_admin_shutdown_enable_destroy(
- struct nb_cb_destroy_args *args)
-{
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- case NB_EV_APPLY:
- /* TODO: implement me. */
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/admin-shutdown/message
@@ -3910,30 +3101,12 @@ int bgp_neighbors_neighbor_graceful_restart_graceful_restart_disable_destroy(
int bgp_neighbors_neighbor_timers_advertise_interval_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t routeadv;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- routeadv = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_advertise_interval_set(peer, routeadv);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -3943,28 +3116,12 @@ int bgp_neighbors_neighbor_timers_advertise_interval_modify(
int bgp_neighbors_neighbor_timers_advertise_interval_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- ret = peer_advertise_interval_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -3978,30 +3135,12 @@ int bgp_neighbors_neighbor_timers_advertise_interval_destroy(
int bgp_neighbors_neighbor_timers_connect_time_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t connect;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- connect = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_timers_connect_set(peer, connect);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4011,28 +3150,12 @@ int bgp_neighbors_neighbor_timers_connect_time_modify(
int bgp_neighbors_neighbor_timers_connect_time_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- ret = peer_timers_connect_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4046,37 +3169,12 @@ int bgp_neighbors_neighbor_timers_connect_time_destroy(
int bgp_neighbors_neighbor_timers_hold_time_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t keepalive = 0;
- uint16_t holdtime = 0;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- keepalive = yang_dnode_get_uint16(args->dnode, "../keepalive");
- holdtime = yang_dnode_get_uint16(args->dnode, NULL);
-
- if (keepalive != BGP_DEFAULT_KEEPALIVE
- && holdtime != BGP_DEFAULT_HOLDTIME) {
- ret = peer_timers_set(peer, keepalive, holdtime);
- } else
- ret = peer_timers_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4090,44 +3188,12 @@ int bgp_neighbors_neighbor_timers_hold_time_modify(
int bgp_neighbors_neighbor_timers_keepalive_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t keepalive = 0, curr_keep = 0;
- uint16_t holdtime = 0;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../remote-address");
- peer = bgp_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- keepalive = yang_dnode_get_uint16(args->dnode, NULL);
- holdtime = yang_dnode_get_uint16(args->dnode, "../hold-time");
-
- if (keepalive != BGP_DEFAULT_KEEPALIVE
- && holdtime != BGP_DEFAULT_HOLDTIME) {
- if (peer->holdtime == holdtime) {
- curr_keep = (keepalive < holdtime / 3
- ? keepalive
- : holdtime / 3);
- if (curr_keep == keepalive)
- return NB_OK;
- }
- ret = peer_timers_set(peer, keepalive, holdtime);
- } else
- ret = peer_timers_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4175,49 +3241,6 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_destroy(
int bgp_neighbors_neighbor_afi_safis_afi_safi_enabled_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *af_name;
- afi_t afi;
- safi_t safi;
- bool activate = false;
- int ret = 0;
- union sockunion su;
- struct peer *peer;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- af_name =
- yang_dnode_get_string(args->dnode, "../afi-safi-name");
- yang_afi_safi_identity2value(af_name, &afi, &safi);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../../remote-address");
- str2sockunion(peer_str, &su);
- peer = peer_lookup(bgp, &su);
-
- activate = yang_dnode_get_bool(args->dnode, NULL);
-
- if (activate)
- ret = peer_activate(peer, afi, safi);
- else
- ret = peer_deactivate(peer, afi, safi);
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
- break;
- }
-
- return NB_OK;
-}
-
-int bgp_neighbors_neighbor_afi_safis_afi_safi_enabled_destroy(
- struct nb_cb_destroy_args *args)
-{
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
@@ -4230,90 +3253,18 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_enabled_destroy(
return NB_OK;
}
-static struct peer *bgp_unnumbered_neighbor_peer_lookup(struct bgp *bgp,
- const char *peer_str,
- char *errmsg,
- size_t errmsg_len)
-{
- struct peer *peer = NULL;
-
- /* Not IP, could match either peer configured on interface or a
- * group. */
- peer = peer_lookup_by_conf_if(bgp, peer_str);
- if (!peer) {
- snprintf(errmsg, errmsg_len,
- "Specify remote-as or peer-group commands first");
- return NULL;
- }
- if (peer_dynamic_neighbor(peer)) {
- snprintf(errmsg, errmsg_len,
- "Operation not allowed on a dynamic neighbor\n");
- return NULL;
- }
-
- return peer;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor
*/
int bgp_neighbors_unnumbered_neighbor_create(struct nb_cb_create_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *peer_grp_str = NULL;
- bool v6_only = false;
- int as_type = AS_UNSPECIFIED;
- as_t as = 0;
- char prgrp_xpath[XPATH_MAXLEN];
- const struct lyd_node *bgp_dnode;
-
switch (args->event) {
case NB_EV_VALIDATE:
- peer_str = yang_dnode_get_string(args->dnode, "./interface");
- bgp_dnode = yang_dnode_get_parent(args->dnode, "bgp");
- snprintf(prgrp_xpath, sizeof(prgrp_xpath),
- FRR_BGP_PEER_GROUP_XPATH, peer_str, "");
-
- if (yang_dnode_exists(bgp_dnode, prgrp_xpath)) {
- snprintf(args->errmsg, args->errmsg_len,
- "Name conflict with peer-group: %s", peer_str);
- return NB_ERR_VALIDATION;
- }
-
- break;
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "./interface");
-
- if (yang_dnode_exists(args->dnode, "./peer-group"))
- peer_grp_str = yang_dnode_get_string(args->dnode,
- "./peer-group");
-
- if (yang_dnode_exists(args->dnode, "./v6-only"))
- v6_only = yang_dnode_get_bool(args->dnode, "./v6-only");
-
- if (yang_dnode_exists(args->dnode,
- "./neighbor-remote-as/remote-as-type")) {
- as_type = yang_dnode_get_enum(
- args->dnode,
- "./neighbor-remote-as/remote-as-type");
- if (yang_dnode_exists(args->dnode,
- "./neighbor-remote-as/remote-as"))
- as = yang_dnode_get_uint32(
- args->dnode,
- "./neighbor-remote-as/remote-as");
- }
-
- if (peer_conf_interface_create(bgp, peer_str, v6_only,
- peer_grp_str, as_type, as,
- args->errmsg, args->errmsg_len))
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4322,34 +3273,12 @@ int bgp_neighbors_unnumbered_neighbor_create(struct nb_cb_create_args *args)
int bgp_neighbors_unnumbered_neighbor_destroy(struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
-
- peer_str = yang_dnode_get_string(args->dnode, "./interface");
- /* look up for neighbor by interface name config. */
- peer = peer_lookup_by_conf_if(bgp, peer_str);
- if (peer) {
- /* Request zebra to terminate IPv6 RAs on this
- * interface. */
- if (peer->ifp)
- bgp_zebra_terminate_radv(peer->bgp, peer);
- peer_notify_unconfig(peer);
- peer_delete(peer);
- } else {
- snprintf(args->errmsg, args->errmsg_len,
- "Create the peer-group first");
- return NB_ERR_INCONSISTENCY;
- }
-
+ /* TODO: implement me. */
break;
}
@@ -4363,26 +3292,12 @@ int bgp_neighbors_unnumbered_neighbor_destroy(struct nb_cb_destroy_args *args)
int bgp_neighbors_unnumbered_neighbor_v6only_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- bool v6_only = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
-
- v6_only = yang_dnode_get_bool(args->dnode, NULL);
-
- if (peer_conf_interface_create(bgp, peer_str, v6_only, NULL,
- AS_UNSPECIFIED, 0, args->errmsg,
- args->errmsg_len))
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4396,60 +3311,12 @@ int bgp_neighbors_unnumbered_neighbor_v6only_modify(
int bgp_neighbors_unnumbered_neighbor_peer_group_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *peer_grp_str;
- struct peer *peer;
- struct peer_group *group;
- union sockunion su;
- as_t as;
- int ret = 0;
- char prgrp_xpath[XPATH_MAXLEN];
- const struct lyd_node *bgp_dnode;
-
switch (args->event) {
case NB_EV_VALIDATE:
- peer_grp_str = yang_dnode_get_string(args->dnode, NULL);
- bgp_dnode = yang_dnode_get_parent(args->dnode, "bgp");
- snprintf(prgrp_xpath, sizeof(prgrp_xpath),
- FRR_BGP_PEER_GROUP_XPATH, peer_grp_str, "");
-
- if (!yang_dnode_exists(bgp_dnode, prgrp_xpath)) {
- snprintf(args->errmsg, args->errmsg_len,
- "Configure the peer-group first %s",
- peer_grp_str);
- return NB_ERR_VALIDATION;
- }
-
- break;
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
-
- peer_grp_str = yang_dnode_get_string(args->dnode, NULL);
- group = peer_group_lookup(bgp, peer_grp_str);
- if (!group) {
- snprintf(args->errmsg, args->errmsg_len,
- "Configure the peer-group first\n");
- return NB_ERR_INCONSISTENCY;
- }
-
- ret = peer_group_bind(bgp, &su, peer, group, &as);
- if (ret == BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "Peer with AS %u cannot be in this peer-group, members must be all internal or all external\n",
- as);
- return NB_ERR_INCONSISTENCY;
- }
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -4459,33 +3326,12 @@ int bgp_neighbors_unnumbered_neighbor_peer_group_modify(
int bgp_neighbors_unnumbered_neighbor_peer_group_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../remote-address");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
-
- if (CHECK_FLAG(peer->flags, PEER_FLAG_CAPABILITY_ENHE))
- bgp_zebra_terminate_radv(peer->bgp, peer);
-
- peer_notify_unconfig(peer);
- ret = peer_delete(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4499,27 +3345,12 @@ int bgp_neighbors_unnumbered_neighbor_peer_group_destroy(
int bgp_neighbors_unnumbered_neighbor_password_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *passwrd_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- passwrd_str = yang_dnode_get_string(args->dnode, NULL);
- peer_password_set(peer, passwrd_str);
-
+ /* TODO: implement me. */
break;
}
@@ -4529,25 +3360,12 @@ int bgp_neighbors_unnumbered_neighbor_password_modify(
int bgp_neighbors_unnumbered_neighbor_password_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_password_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -4561,44 +3379,12 @@ int bgp_neighbors_unnumbered_neighbor_password_destroy(
int bgp_neighbors_unnumbered_neighbor_ttl_security_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
- uint8_t gtsm_hops;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- gtsm_hops = yang_dnode_get_uint8(args->dnode, NULL);
- /*
- * If 'neighbor swpX', then this is for directly connected
- * peers, we should not accept a ttl-security hops value greater
- * than 1.
- */
- if (peer->conf_if && (gtsm_hops > BGP_GTSM_HOPS_CONNECTED)) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "%d is directly connected peer, hops cannot exceed 1\n",
- gtsm_hops);
- return NB_ERR_INCONSISTENCY;
- }
-
- ret = peer_ttl_security_hops_set(peer, gtsm_hops);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4608,27 +3394,12 @@ int bgp_neighbors_unnumbered_neighbor_ttl_security_modify(
int bgp_neighbors_unnumbered_neighbor_ttl_security_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ttl_security_hops_unset(peer);
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -4661,28 +3432,12 @@ int bgp_neighbors_unnumbered_neighbor_solo_modify(
int bgp_neighbors_unnumbered_neighbor_enforce_first_as_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_ENFORCE_FIRST_AS, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -4696,29 +3451,12 @@ int bgp_neighbors_unnumbered_neighbor_enforce_first_as_modify(
int bgp_neighbors_unnumbered_neighbor_description_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *desc_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
-
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- desc_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_description_set(peer, desc_str);
-
+ /* TODO: implement me. */
break;
}
@@ -4728,26 +3466,12 @@ int bgp_neighbors_unnumbered_neighbor_description_modify(
int bgp_neighbors_unnumbered_neighbor_description_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
-
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_description_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -4761,31 +3485,12 @@ int bgp_neighbors_unnumbered_neighbor_description_destroy(
int bgp_neighbors_unnumbered_neighbor_passive_mode_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (peer_flag_modify_nb(bgp, peer_str, peer, PEER_FLAG_PASSIVE,
- set, args->errmsg, args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -4799,31 +3504,12 @@ int bgp_neighbors_unnumbered_neighbor_passive_mode_modify(
int bgp_neighbors_unnumbered_neighbor_capability_options_dynamic_capability_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_DYNAMIC_CAPABILITY, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -4856,31 +3542,12 @@ int bgp_neighbors_unnumbered_neighbor_capability_options_strict_capability_modif
int bgp_neighbors_unnumbered_neighbor_capability_options_extended_nexthop_capability_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_CAPABILITY_ENHE, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -4932,30 +3599,12 @@ int bgp_neighbors_unnumbered_neighbor_capability_options_override_capability_mod
int bgp_neighbors_unnumbered_neighbor_update_source_ip_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str, *source_str;
- struct peer *peer;
- union sockunion su;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- source_str = yang_dnode_get_string(args->dnode, NULL);
-
- str2sockunion(source_str, &su);
- peer_update_source_addr_set(peer, &su);
-
+ /* TODO: implement me. */
break;
}
@@ -4965,26 +3614,12 @@ int bgp_neighbors_unnumbered_neighbor_update_source_ip_modify(
int bgp_neighbors_unnumbered_neighbor_update_source_ip_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_update_source_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -4998,28 +3633,12 @@ int bgp_neighbors_unnumbered_neighbor_update_source_ip_destroy(
int bgp_neighbors_unnumbered_neighbor_update_source_interface_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str, *source_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- source_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_update_source_if_set(peer, source_str);
-
+ /* TODO: implement me. */
break;
}
@@ -5029,26 +3648,12 @@ int bgp_neighbors_unnumbered_neighbor_update_source_interface_modify(
int bgp_neighbors_unnumbered_neighbor_update_source_interface_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_update_source_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -5057,39 +3662,6 @@ int bgp_neighbors_unnumbered_neighbor_update_source_interface_destroy(
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/neighbor-remote-as
- */
-void bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- int as_type = AS_SPECIFIED;
- int ret;
- as_t as = 0;
- struct peer *peer = NULL;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- as_type = yang_dnode_get_enum(args->dnode, "./remote-as-type");
- if (yang_dnode_exists(args->dnode, "./remote-as"))
- as = yang_dnode_get_uint32(args->dnode, "./remote-as");
-
- peer = peer_lookup_by_conf_if(bgp, peer_str);
-
- ret = peer_remote_as(bgp, NULL, peer_str, &as, as_type);
-
- if (ret < 0 && !peer) {
- snprintf(args->errmsg, args->errmsg_len,
- "Create the peer-group or interface first");
- 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/neighbor-remote-as/remote-as-type
*/
int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_type_modify(
@@ -5107,33 +3679,6 @@ int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_type_modify(
return NB_OK;
}
-int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_type_destroy(
- struct nb_cb_destroy_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = peer_lookup_by_conf_if(bgp, peer_str);
-
- /* remote-as set to 0 and as_type to unspecified */
- peer_as_change(peer, 0, AS_UNSPECIFIED);
-
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/neighbor-remote-as/remote-as
@@ -5175,42 +3720,12 @@ int bgp_neighbors_unnumbered_neighbor_neighbor_remote_as_remote_as_destroy(
int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_enabled_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
- int ret = 0;
- uint8_t ttl = MAXTTL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = peer_lookup_by_conf_if(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- if (peer->conf_if) {
- ret = BGP_ERR_INVALID_FOR_DIRECT_PEER;
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len,
- ret);
- return NB_ERR_INCONSISTENCY;
- }
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (set)
- ret = peer_ebgp_multihop_set(peer, ttl);
- else
- ret = peer_ebgp_multihop_unset(peer);
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -5220,28 +3735,12 @@ int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_enabled_modify(
int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_enabled_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = peer_lookup_by_conf_if(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ebgp_multihop_unset(peer);
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -5255,38 +3754,12 @@ int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_enabled_destroy(
int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_multihop_ttl_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
- uint8_t ttl = MAXTTL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = peer_lookup_by_conf_if(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- if (peer->conf_if) {
- ret = BGP_ERR_INVALID_FOR_DIRECT_PEER;
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len,
- ret);
- return NB_ERR_INCONSISTENCY;
- }
-
- ttl = yang_dnode_get_uint8(args->dnode, NULL);
-
- ret = peer_ebgp_multihop_set(peer, ttl);
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -5296,28 +3769,12 @@ int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_multihop_ttl_modify(
int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_multihop_ttl_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = peer_lookup_by_conf_if(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ebgp_multihop_unset(peer);
-
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -5331,32 +3788,12 @@ int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_multihop_ttl_destroy(
int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_disable_connected_check_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = peer_lookup_by_conf_if(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_DISABLE_CONNECTED_CHECK, set,
- args->errmsg, args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -5365,42 +3802,6 @@ int bgp_neighbors_unnumbered_neighbor_ebgp_multihop_disable_connected_check_modi
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/local-as
- */
-void bgp_neighbors_unnumbered_neighbor_local_as_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- int ret;
- as_t as = 0;
- const char *peer_str;
- struct peer *peer = NULL;
- bool no_prepend = 0;
- bool replace_as = 0;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
-
- peer = bgp_unnumbered_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- if (yang_dnode_exists(args->dnode, "./local-as"))
- as = yang_dnode_get_uint32(args->dnode, "./local-as");
- if (yang_dnode_exists(args->dnode, "./no-prepend"))
- no_prepend = yang_dnode_get_bool(args->dnode, "./no-prepend");
- if (yang_dnode_exists(args->dnode, "./replace-as"))
- replace_as = yang_dnode_get_bool(args->dnode, "./replace-as");
-
- if (!as && !no_prepend && !replace_as)
- ret = peer_local_as_unset(peer);
- else
- ret = peer_local_as_set(peer, as, no_prepend, replace_as);
-
- 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/local-as/local-as
*/
int bgp_neighbors_unnumbered_neighbor_local_as_local_as_modify(
@@ -5418,21 +3819,6 @@ int bgp_neighbors_unnumbered_neighbor_local_as_local_as_modify(
return NB_OK;
}
-int bgp_neighbors_unnumbered_neighbor_local_as_local_as_destroy(
- struct nb_cb_destroy_args *args)
-{
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- case NB_EV_APPLY:
- /* TODO: implement me. */
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/local-as/no-prepend
@@ -5662,34 +4048,6 @@ int bgp_neighbors_unnumbered_neighbor_bfd_options_check_cp_failure_destroy(
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/admin-shutdown
- */
-void bgp_neighbors_unnumbered_neighbor_admin_shutdown_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
- const char *message;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
-
- if (yang_dnode_exists(args->dnode, "./message")) {
- message = yang_dnode_get_string(args->dnode, "./message");
- peer_tx_shutdown_message_set(peer, message);
- }
- enable = yang_dnode_get_bool(args->dnode, "./enable");
-
- peer_flag_modify_nb(bgp, peer_str, peer, PEER_FLAG_SHUTDOWN, enable,
- args->errmsg, args->errmsg_len);
-}
-
-/*
- * XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/admin-shutdown/enable
*/
int bgp_neighbors_unnumbered_neighbor_admin_shutdown_enable_modify(
@@ -5707,21 +4065,6 @@ int bgp_neighbors_unnumbered_neighbor_admin_shutdown_enable_modify(
return NB_OK;
}
-int bgp_neighbors_unnumbered_neighbor_admin_shutdown_enable_destroy(
- struct nb_cb_destroy_args *args)
-{
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- case NB_EV_APPLY:
- /* TODO: implement me. */
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/unnumbered-neighbor/admin-shutdown/message
@@ -5865,28 +4208,12 @@ int bgp_neighbors_unnumbered_neighbor_graceful_restart_graceful_restart_disable_
int bgp_neighbors_unnumbered_neighbor_timers_advertise_interval_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t routeadv;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- routeadv = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_advertise_interval_set(peer, routeadv);
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -5896,26 +4223,12 @@ int bgp_neighbors_unnumbered_neighbor_timers_advertise_interval_modify(
int bgp_neighbors_unnumbered_neighbor_timers_advertise_interval_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
-
- ret = peer_advertise_interval_unset(peer);
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -5929,28 +4242,12 @@ int bgp_neighbors_unnumbered_neighbor_timers_advertise_interval_destroy(
int bgp_neighbors_unnumbered_neighbor_timers_connect_time_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t connect;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- connect = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_timers_connect_set(peer, connect);
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret);
-
+ /* TODO: implement me. */
break;
}
@@ -5960,27 +4257,12 @@ int bgp_neighbors_unnumbered_neighbor_timers_connect_time_modify(
int bgp_neighbors_unnumbered_neighbor_timers_connect_time_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
- ret = peer_timers_connect_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -5994,38 +4276,12 @@ int bgp_neighbors_unnumbered_neighbor_timers_connect_time_destroy(
int bgp_neighbors_unnumbered_neighbor_timers_hold_time_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t keepalive = 0;
- uint16_t holdtime = 0;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
-
- keepalive = yang_dnode_get_uint16(args->dnode, "../keepalive");
- holdtime = yang_dnode_get_uint16(args->dnode, NULL);
-
- if (keepalive != BGP_DEFAULT_KEEPALIVE
- && holdtime != BGP_DEFAULT_HOLDTIME) {
- ret = peer_timers_set(peer, keepalive, holdtime);
- } else
- ret = peer_timers_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -6039,45 +4295,12 @@ int bgp_neighbors_unnumbered_neighbor_timers_hold_time_modify(
int bgp_neighbors_unnumbered_neighbor_timers_keepalive_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t keepalive = 0, curr_keep = 0;
- uint16_t holdtime = 0;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str =
- yang_dnode_get_string(args->dnode, "../../interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
-
- keepalive = yang_dnode_get_uint16(args->dnode, NULL);
- holdtime = yang_dnode_get_uint16(args->dnode, "../hold-time");
-
- if (keepalive != BGP_DEFAULT_KEEPALIVE
- && holdtime != BGP_DEFAULT_HOLDTIME) {
- if (peer->holdtime == holdtime) {
- curr_keep = (keepalive < holdtime / 3
- ? keepalive
- : holdtime / 3);
- if (curr_keep == keepalive)
- return NB_OK;
- }
- ret = peer_timers_set(peer, keepalive, holdtime);
- } else
- ret = peer_timers_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -6125,51 +4348,6 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_destroy(
int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_enabled_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *af_name;
- afi_t afi;
- safi_t safi;
- bool activate = false;
- int ret = 0;
- struct peer *peer;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- af_name =
- yang_dnode_get_string(args->dnode, "../afi-safi-name");
- yang_afi_safi_identity2value(af_name, &afi, &safi);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../../interface");
-
- peer = bgp_unnumbered_neighbor_peer_lookup(
- bgp, peer_str, args->errmsg, args->errmsg_len);
-
- activate = yang_dnode_get_bool(args->dnode, NULL);
-
- if (activate)
- ret = peer_activate(peer, afi, safi);
- else
- ret = peer_deactivate(peer, afi, safi);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
- break;
- }
-
- return NB_OK;
-}
-
-int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_enabled_destroy(
- struct nb_cb_destroy_args *args)
-{
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
@@ -6182,65 +4360,18 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_enabled_destroy(
return NB_OK;
}
-static struct peer *bgp_peer_group_peer_lookup(struct bgp *bgp,
- const char *peer_str)
-{
- struct peer *peer = NULL;
- struct peer_group *group = NULL;
-
- group = peer_group_lookup(bgp, peer_str);
- return peer = group->conf;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group
*/
int bgp_peer_groups_peer_group_create(struct nb_cb_create_args *args)
{
- const char *peer_grp_str;
- struct peer *peer;
- struct peer_group *group;
- struct bgp *bgp;
- char unnbr_xpath[XPATH_MAXLEN];
- const struct lyd_node *bgp_dnode;
-
switch (args->event) {
case NB_EV_VALIDATE:
- peer_grp_str =
- yang_dnode_get_string(args->dnode, "./peer-group-name");
- bgp_dnode = yang_dnode_get_parent(args->dnode, "bgp");
- snprintf(unnbr_xpath, sizeof(unnbr_xpath),
- FRR_BGP_NEIGHBOR_UNNUM_XPATH, peer_grp_str, "");
-
- if (yang_dnode_exists(bgp_dnode, unnbr_xpath)) {
- snprintf(args->errmsg, args->errmsg_len,
- "Name conflict with interface: %s",
- peer_grp_str);
- return NB_ERR_VALIDATION;
- }
-
- break;
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_grp_str =
- yang_dnode_get_string(args->dnode, "./peer-group-name");
- peer = peer_lookup_by_conf_if(bgp, peer_grp_str);
- if (peer) {
- snprintf(args->errmsg, args->errmsg_len,
- "Name conflict with interface:");
- return NB_ERR_INCONSISTENCY;
- }
-
- group = peer_group_get(bgp, peer_grp_str);
- if (!group) {
- snprintf(args->errmsg, args->errmsg_len,
- "BGP failed to find or create peer-group");
- return NB_ERR_INCONSISTENCY;
- }
+ /* TODO: implement me. */
break;
}
@@ -6249,26 +4380,12 @@ int bgp_peer_groups_peer_group_create(struct nb_cb_create_args *args)
int bgp_peer_groups_peer_group_destroy(struct nb_cb_destroy_args *args)
{
- const char *peer_grp_str;
- struct peer_group *group;
- struct bgp *bgp;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_grp_str =
- yang_dnode_get_string(args->dnode, "./peer-group-name");
-
- group = peer_group_lookup(bgp, peer_grp_str);
- if (group) {
- peer_group_notify_unconfig(group);
- peer_group_delete(group);
- }
-
+ /* TODO: implement me. */
break;
}
@@ -6349,25 +4466,12 @@ int bgp_peer_groups_peer_group_ipv6_listen_range_destroy(
*/
int bgp_peer_groups_peer_group_password_modify(struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *passwrd_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- passwrd_str = yang_dnode_get_string(args->dnode, NULL);
- peer_password_set(peer, passwrd_str);
-
+ /* TODO: implement me. */
break;
}
@@ -6376,23 +4480,12 @@ int bgp_peer_groups_peer_group_password_modify(struct nb_cb_modify_args *args)
int bgp_peer_groups_peer_group_password_destroy(struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- peer_password_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -6406,44 +4499,12 @@ int bgp_peer_groups_peer_group_password_destroy(struct nb_cb_destroy_args *args)
int bgp_peer_groups_peer_group_ttl_security_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
- uint8_t gtsm_hops;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- gtsm_hops = yang_dnode_get_uint8(args->dnode, NULL);
- /*
- * If 'neighbor swpX', then this is for directly connected
- * peers, we should not accept a ttl-security hops value greater
- * than 1.
- */
- if (peer->conf_if && (gtsm_hops > BGP_GTSM_HOPS_CONNECTED)) {
- snprintf(
- args->errmsg, args->errmsg_len,
- "%d is directly connected peer, hops cannot exceed 1\n",
- gtsm_hops);
- return NB_ERR_INCONSISTENCY;
- }
-
- ret = peer_ttl_security_hops_set(peer, gtsm_hops);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -6453,29 +4514,12 @@ int bgp_peer_groups_peer_group_ttl_security_modify(
int bgp_peer_groups_peer_group_ttl_security_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ttl_security_hops_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -6507,28 +4551,12 @@ int bgp_peer_groups_peer_group_solo_modify(struct nb_cb_modify_args *args)
int bgp_peer_groups_peer_group_enforce_first_as_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_ENFORCE_FIRST_AS, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -6542,26 +4570,12 @@ int bgp_peer_groups_peer_group_enforce_first_as_modify(
int bgp_peer_groups_peer_group_description_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *desc_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- desc_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_description_set(peer, desc_str);
-
+ /* TODO: implement me. */
break;
}
@@ -6571,25 +4585,12 @@ int bgp_peer_groups_peer_group_description_modify(
int bgp_peer_groups_peer_group_description_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer = NULL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_description_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -6603,31 +4604,12 @@ int bgp_peer_groups_peer_group_description_destroy(
int bgp_peer_groups_peer_group_passive_mode_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (peer_flag_modify_nb(bgp, peer_str, peer, PEER_FLAG_PASSIVE,
- set, args->errmsg, args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -6641,30 +4623,12 @@ int bgp_peer_groups_peer_group_passive_mode_modify(
int bgp_peer_groups_peer_group_capability_options_dynamic_capability_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_DYNAMIC_CAPABILITY, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -6697,30 +4661,12 @@ int bgp_peer_groups_peer_group_capability_options_strict_capability_modify(
int bgp_peer_groups_peer_group_capability_options_extended_nexthop_capability_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- enable = yang_dnode_get_bool(args->dnode, NULL);
-
- peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_CAPABILITY_ENHE, enable,
- args->errmsg, args->errmsg_len);
-
+ /* TODO: implement me. */
break;
}
@@ -6772,29 +4718,12 @@ int bgp_peer_groups_peer_group_capability_options_override_capability_modify(
int bgp_peer_groups_peer_group_update_source_ip_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str, *source_str;
- struct peer *peer;
- union sockunion su;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- source_str = yang_dnode_get_string(args->dnode, NULL);
-
- str2sockunion(source_str, &su);
- peer_update_source_addr_set(peer, &su);
-
+ /* TODO: implement me. */
break;
}
@@ -6804,25 +4733,12 @@ int bgp_peer_groups_peer_group_update_source_ip_modify(
int bgp_peer_groups_peer_group_update_source_ip_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_update_source_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -6836,27 +4752,12 @@ int bgp_peer_groups_peer_group_update_source_ip_destroy(
int bgp_peer_groups_peer_group_update_source_interface_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str, *source_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- source_str = yang_dnode_get_string(args->dnode, NULL);
-
- peer_update_source_if_set(peer, source_str);
-
+ /* TODO: implement me. */
break;
}
@@ -6866,25 +4767,12 @@ int bgp_peer_groups_peer_group_update_source_interface_modify(
int bgp_peer_groups_peer_group_update_source_interface_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- peer_update_source_unset(peer);
-
+ /* TODO: implement me. */
break;
}
@@ -6893,33 +4781,6 @@ int bgp_peer_groups_peer_group_update_source_interface_destroy(
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/neighbor-remote-as
- */
-void bgp_peer_group_neighbor_remote_as_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- int as_type = AS_SPECIFIED;
- int ret;
- as_t as = 0;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../peer-group-name");
- as_type = yang_dnode_get_enum(args->dnode, "./remote-as-type");
- if (yang_dnode_exists(args->dnode, "./remote-as"))
- as = yang_dnode_get_uint32(args->dnode, "./remote-as");
-
- ret = peer_group_remote_as(bgp, peer_str, &as, as_type);
- if (ret < 0) {
- snprintf(args->errmsg, args->errmsg_len,
- "Create the peer-group or interface first");
- return;
- }
-}
-
-/*
- * XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/neighbor-remote-as/remote-as-type
*/
int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_type_modify(
@@ -6937,32 +4798,6 @@ int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_type_modify(
return NB_OK;
}
-int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_type_destroy(
- struct nb_cb_destroy_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- struct peer_group *group;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- group = peer_group_lookup(bgp, peer_str);
- if (group)
- peer_group_remote_as_delete(group);
-
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/neighbor-remote-as/remote-as
@@ -7004,44 +4839,12 @@ int bgp_peer_groups_peer_group_neighbor_remote_as_remote_as_destroy(
int bgp_peer_groups_peer_group_ebgp_multihop_enabled_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
- int ret = 0;
- uint8_t ttl = MAXTTL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- if (peer->conf_if) {
- ret = BGP_ERR_INVALID_FOR_DIRECT_PEER;
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len,
- ret);
- return NB_ERR_INCONSISTENCY;
- }
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (set)
- ret = peer_ebgp_multihop_set(peer, ttl);
- else
- ret = peer_ebgp_multihop_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7051,30 +4854,12 @@ int bgp_peer_groups_peer_group_ebgp_multihop_enabled_modify(
int bgp_peer_groups_peer_group_ebgp_multihop_enabled_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ebgp_multihop_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7088,40 +4873,12 @@ int bgp_peer_groups_peer_group_ebgp_multihop_enabled_destroy(
int bgp_peer_groups_peer_group_ebgp_multihop_multihop_ttl_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
- uint8_t ttl = MAXTTL;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- if (peer->conf_if) {
- ret = BGP_ERR_INVALID_FOR_DIRECT_PEER;
- bgp_nb_errmsg_return(args->errmsg, args->errmsg_len,
- ret);
- return NB_ERR_INCONSISTENCY;
- }
-
- ttl = yang_dnode_get_uint8(args->dnode, NULL);
-
- ret = peer_ebgp_multihop_set(peer, ttl);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7131,30 +4888,12 @@ int bgp_peer_groups_peer_group_ebgp_multihop_multihop_ttl_modify(
int bgp_peer_groups_peer_group_ebgp_multihop_multihop_ttl_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- ret = peer_ebgp_multihop_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7168,32 +4907,12 @@ int bgp_peer_groups_peer_group_ebgp_multihop_multihop_ttl_destroy(
int bgp_peer_groups_peer_group_ebgp_multihop_disable_connected_check_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool set = false;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- if (!peer)
- return NB_ERR_INCONSISTENCY;
-
- set = yang_dnode_get_bool(args->dnode, NULL);
-
- if (peer_flag_modify_nb(bgp, peer_str, peer,
- PEER_FLAG_DISABLE_CONNECTED_CHECK, set,
- args->errmsg, args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7202,44 +4921,6 @@ int bgp_peer_groups_peer_group_ebgp_multihop_disable_connected_check_modify(
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/local-as
- */
-void bgp_peer_groups_peer_group_local_as_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- int ret;
- as_t as = 0;
- const char *peer_str;
- struct peer *peer = NULL;
- bool no_prepend = false;
- bool replace_as = false;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../peer-group-name");
-
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- if (yang_dnode_exists(args->dnode, "./local-as"))
- as = yang_dnode_get_uint32(args->dnode, "./local-as");
-
- if (yang_dnode_exists(args->dnode, "./local-as"))
- as = yang_dnode_get_uint32(args->dnode, "./local-as");
- if (yang_dnode_exists(args->dnode, "./no-prepend"))
- no_prepend = yang_dnode_get_bool(args->dnode, "./no-prepend");
- if (yang_dnode_exists(args->dnode, "./replace-as"))
- replace_as = yang_dnode_get_bool(args->dnode, "./replace-as");
-
- if (!as && !no_prepend && !replace_as)
- ret = peer_local_as_unset(peer);
- else
- ret = peer_local_as_set(peer, as, no_prepend, replace_as);
-
- 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/local-as/local-as
*/
int bgp_peer_groups_peer_group_local_as_local_as_modify(
@@ -7257,36 +4938,6 @@ int bgp_peer_groups_peer_group_local_as_local_as_modify(
return NB_OK;
}
-int bgp_peer_groups_peer_group_local_as_local_as_destroy(
- struct nb_cb_destroy_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- ret = peer_local_as_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/local-as/no-prepend
@@ -7516,33 +5167,6 @@ int bgp_peer_groups_peer_group_bfd_options_check_cp_failure_destroy(
/*
* XPath:
- * /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/admin-shutdown
- */
-void bgp_peer_groups_peer_group_admin_shutdown_apply_finish(
- struct nb_cb_apply_finish_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- bool enable = false;
- const char *message;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode, "../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- if (yang_dnode_exists(args->dnode, "./message")) {
- message = yang_dnode_get_string(args->dnode, "./message");
- peer_tx_shutdown_message_set(peer, message);
- }
- enable = yang_dnode_get_bool(args->dnode, "./enable");
-
- peer_flag_modify_nb(bgp, peer_str, peer, PEER_FLAG_SHUTDOWN, enable,
- args->errmsg, args->errmsg_len);
-}
-
-/*
- * XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/admin-shutdown/enable
*/
int bgp_peer_groups_peer_group_admin_shutdown_enable_modify(
@@ -7560,21 +5184,6 @@ int bgp_peer_groups_peer_group_admin_shutdown_enable_modify(
return NB_OK;
}
-int bgp_peer_groups_peer_group_admin_shutdown_enable_destroy(
- struct nb_cb_destroy_args *args)
-{
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- case NB_EV_APPLY:
- /* TODO: implement me. */
- break;
- }
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/admin-shutdown/message
@@ -7718,29 +5327,12 @@ int bgp_peer_groups_peer_group_graceful_restart_graceful_restart_disable_destroy
int bgp_peer_groups_peer_group_timers_advertise_interval_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t routeadv;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- routeadv = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_advertise_interval_set(peer, routeadv);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7750,27 +5342,12 @@ int bgp_peer_groups_peer_group_timers_advertise_interval_modify(
int bgp_peer_groups_peer_group_timers_advertise_interval_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- ret = peer_advertise_interval_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7784,29 +5361,12 @@ int bgp_peer_groups_peer_group_timers_advertise_interval_destroy(
int bgp_peer_groups_peer_group_timers_connect_time_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t connect;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
- connect = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_timers_connect_set(peer, connect);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7816,27 +5376,12 @@ int bgp_peer_groups_peer_group_timers_connect_time_modify(
int bgp_peer_groups_peer_group_timers_connect_time_destroy(
struct nb_cb_destroy_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- int ret;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- ret = peer_timers_connect_unset(peer);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7850,37 +5395,12 @@ int bgp_peer_groups_peer_group_timers_connect_time_destroy(
int bgp_peer_groups_peer_group_timers_hold_time_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t keepalive = 0;
- uint16_t holdtime = 0;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- keepalive = yang_dnode_get_uint16(args->dnode, "../keepalive");
- holdtime = yang_dnode_get_uint16(args->dnode, NULL);
-
- if (keepalive != BGP_DEFAULT_KEEPALIVE
- && holdtime != BGP_DEFAULT_HOLDTIME) {
- ret = peer_timers_set(peer, keepalive, holdtime);
- } else
- ret = peer_timers_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7894,49 +5414,12 @@ int bgp_peer_groups_peer_group_timers_hold_time_modify(
int bgp_peer_groups_peer_group_timers_keepalive_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- uint16_t keepalive = 0, curr_keep = 0;
- uint16_t holdtime = 0;
- int ret = 0;
-
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- keepalive = yang_dnode_get_uint16(args->dnode, NULL);
- holdtime = yang_dnode_get_uint16(args->dnode, "../hold-time");
-
- if (keepalive != BGP_DEFAULT_KEEPALIVE
- && holdtime != BGP_DEFAULT_HOLDTIME) {
- if (peer->holdtime == holdtime) {
- curr_keep = (keepalive < holdtime / 3
- ? keepalive
- : holdtime / 3);
- if (curr_keep == keepalive) {
- // zlog_debug("%s holdtime %u keepalive
- // %u value is already set, skipping
- // update.",
- // __func__, holdtime, keepalive);
- return NB_OK;
- }
- }
- ret = peer_timers_set(peer, keepalive, holdtime);
- } else
- ret = peer_timers_unset(peer);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
+ /* TODO: implement me. */
break;
}
@@ -7984,48 +5467,6 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_destroy(
int bgp_peer_groups_peer_group_afi_safis_afi_safi_enabled_modify(
struct nb_cb_modify_args *args)
{
- struct bgp *bgp;
- const char *peer_str;
- const char *af_name;
- afi_t afi;
- safi_t safi;
- bool activate = false;
- int ret = 0;
- struct peer *peer;
-
- switch (args->event) {
- case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
- return NB_OK;
- case NB_EV_APPLY:
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- af_name =
- yang_dnode_get_string(args->dnode, "../afi-safi-name");
- yang_afi_safi_identity2value(af_name, &afi, &safi);
- peer_str = yang_dnode_get_string(args->dnode,
- "../../../peer-group-name");
- peer = bgp_peer_group_peer_lookup(bgp, peer_str);
-
- activate = yang_dnode_get_bool(args->dnode, NULL);
- if (activate)
- ret = peer_activate(peer, afi, safi);
- else
- ret = peer_deactivate(peer, afi, safi);
-
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
- break;
- }
-
- return NB_OK;
-}
-
-int bgp_peer_groups_peer_group_afi_safis_afi_safi_enabled_destroy(
- struct nb_cb_destroy_args *args)
-{
switch (args->event) {
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
@@ -13740,36 +11181,6 @@ int bgp_global_bmp_config_target_list_afi_safis_afi_safi_ipv6_multicast_common_c
return NB_OK;
}
-static int bgp_neighbor_afi_safi_flag_modify(struct nb_cb_modify_args *args,
- uint32_t flags, bool set)
-{
- 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_af_flag_modify_nb(peer, afi, safi, flags, set, args->errmsg,
- args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast/add-paths/path-type
@@ -13868,12 +11279,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_as_path_options_repla
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14235,12 +11642,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_nexthop_self_next_hop
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14258,12 +11661,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_nexthop_self_next_hop
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14281,12 +11680,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14304,12 +11699,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14327,12 +11718,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14350,79 +11737,14 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
return NB_OK;
}
-static int bgp_neighbor_afi_safi_weight_modify(struct nb_cb_modify_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;
- uint16_t weight;
- 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);
-
- weight = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_weight_set(peer, afi, safi, weight);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret) < 0)
- return NB_ERR_INCONSISTENCY;
-
- return NB_OK;
-}
-
-static int bgp_neighbor_afi_safi_weight_destroy(struct nb_cb_destroy_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;
- 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_weight_unset(peer, afi, safi);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret) < 0)
- return NB_ERR_INCONSISTENCY;
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast/weight/weight-attribute
@@ -14434,10 +11756,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_weight_weight_attribu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -14451,10 +11771,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_weight_weight_attribu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -14472,12 +11790,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_route_reflector_route
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14495,12 +11809,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_route_server_route_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14518,12 +11828,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_send_community_send_c
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14541,12 +11847,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_send_community_send_e
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14564,12 +11866,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_send_community_send_l
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14587,12 +11885,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_soft_reconfiguration_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14610,12 +11904,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_attr_unchanged_as_pat
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14633,12 +11923,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_attr_unchanged_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -14656,12 +11942,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_unicast_attr_unchanged_med_un
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15227,12 +12509,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_as_path_options_repla
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15250,12 +12528,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_attr_unchanged_as_pat
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15273,12 +12547,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_attr_unchanged_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15296,12 +12566,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_attr_unchanged_med_un
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15712,12 +12978,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_nexthop_self_next_hop
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15735,12 +12997,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_nexthop_self_next_hop
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15758,12 +13016,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15781,12 +13035,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15804,12 +13054,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15827,12 +13073,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as_remove_pri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15850,12 +13092,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_route_reflector_route
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15873,12 +13111,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_route_server_route_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15896,12 +13130,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_send_community_send_c
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15919,12 +13149,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_send_community_send_e
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15942,12 +13168,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_send_community_send_l
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15965,12 +13187,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_soft_reconfiguration_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -15988,10 +13206,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_weight_weight_attribu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -16005,10 +13221,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_unicast_weight_weight_attribu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -16113,12 +13327,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_as_path_options_rep
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16136,12 +13346,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_attr_unchanged_as_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16159,12 +13365,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_attr_unchanged_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16182,12 +13384,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_attr_unchanged_med_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16598,12 +13796,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_nexthop_self_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16621,12 +13815,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_nexthop_self_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16644,12 +13834,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16667,12 +13853,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16690,12 +13872,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16713,12 +13891,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16736,12 +13910,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_route_reflector_rou
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16759,12 +13929,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_route_server_route_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16782,12 +13948,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_send_community_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16805,12 +13967,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_send_community_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16828,12 +13986,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_send_community_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16851,12 +14005,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_soft_reconfiguratio
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -16874,10 +14024,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_weight_weight_attri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -16891,10 +14039,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_multicast_weight_weight_attri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -16999,12 +14145,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_as_path_options_rep
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17022,12 +14164,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_attr_unchanged_as_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17045,12 +14183,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_attr_unchanged_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17068,12 +14202,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_attr_unchanged_med_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17484,12 +14614,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_nexthop_self_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17507,12 +14633,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_nexthop_self_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17530,12 +14652,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17553,12 +14671,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17576,12 +14690,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17599,12 +14709,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_private_as_remove_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17622,12 +14728,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_route_reflector_rou
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17645,12 +14747,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_route_server_route_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17668,12 +14766,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_send_community_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17691,12 +14785,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_send_community_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17714,12 +14804,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_send_community_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17737,12 +14823,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_soft_reconfiguratio
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17760,10 +14842,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_weight_weight_attri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -17777,10 +14857,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_multicast_weight_weight_attri
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -17885,12 +14963,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_as_path_optio
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17908,12 +14982,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_attr_unchange
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17931,12 +15001,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_attr_unchange
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -17954,12 +15020,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_attr_unchange
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18370,12 +15432,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_nexthop_self_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18393,12 +15451,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_nexthop_self_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18416,12 +15470,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18439,12 +15489,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18462,12 +15508,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18485,12 +15527,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18508,12 +15546,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_route_reflect
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18531,12 +15565,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_route_server_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18554,12 +15584,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_send_communit
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18577,12 +15603,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_send_communit
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18600,12 +15622,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_send_communit
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18623,12 +15641,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_soft_reconfig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18646,10 +15660,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_weight_weight
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -18663,10 +15675,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_weight_weight
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -18771,12 +15781,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_as_path_optio
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18794,12 +15800,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_attr_unchange
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18817,12 +15819,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_attr_unchange
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -18840,12 +15838,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_attr_unchange
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19256,12 +16250,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_nexthop_self_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19279,12 +16269,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_nexthop_self_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19302,12 +16288,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19325,12 +16307,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19348,12 +16326,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19371,12 +16345,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_private_as_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19394,12 +16364,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_route_reflect
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19417,12 +16383,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_route_server_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19440,12 +16402,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_send_communit
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19463,12 +16421,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_send_communit
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19486,12 +16440,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_send_communit
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19509,12 +16459,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_soft_reconfig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19532,10 +16478,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_weight_weight
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -19549,10 +16493,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_weight_weight
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -19657,12 +16599,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_as_path_options
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19680,12 +16618,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19703,12 +16637,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -19726,12 +16656,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20040,12 +16966,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20063,12 +16985,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20086,12 +17004,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20109,12 +17023,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20132,12 +17042,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20155,12 +17061,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20178,12 +17080,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_route_reflector
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20201,12 +17099,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_route_server_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20224,12 +17118,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20247,12 +17137,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20270,12 +17156,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20293,12 +17175,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_soft_reconfigur
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20316,10 +17194,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -20333,10 +17209,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -20441,12 +17315,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_as_path_options
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20464,12 +17334,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20487,12 +17353,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20510,12 +17372,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20824,12 +17682,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20847,12 +17701,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20870,12 +17720,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20893,12 +17739,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20916,12 +17758,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20939,12 +17777,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20962,12 +17796,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_route_reflector
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -20985,12 +17815,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_route_server_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21008,12 +17834,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21031,12 +17853,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21054,12 +17872,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21077,12 +17891,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_soft_reconfigur
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21100,10 +17910,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -21117,10 +17925,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -21206,12 +18012,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_as_path_options_replace
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21229,12 +18031,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_attr_unchanged_as_path_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21252,12 +18050,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_attr_unchanged_next_hop
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21275,12 +18069,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_attr_unchanged_med_unch
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21298,12 +18088,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_nexthop_self_next_hop_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21321,12 +18107,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_nexthop_self_next_hop_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21344,12 +18126,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_route_reflector_route_r
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21367,12 +18145,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_route_server_route_serv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21390,12 +18164,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_l2vpn_evpn_soft_reconfiguration_mo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21413,12 +18183,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_flowspec_route_reflector_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21436,12 +18202,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_flowspec_route_server_route_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21459,12 +18221,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv4_flowspec_soft_reconfiguration
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21482,12 +18240,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_flowspec_route_reflector_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21505,12 +18259,8 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_flowspec_route_server_route_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -21528,49 +18278,14 @@ int bgp_neighbors_neighbor_afi_safis_afi_safi_ipv6_flowspec_soft_reconfiguration
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
return NB_OK;
}
-static int
-bgp_unnumbered_neighbor_afi_safi_flag_modify(struct nb_cb_modify_args *args,
- uint32_t flags, bool set)
-{
- 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_af_flag_modify_nb(peer, afi, safi, flags, set, args->errmsg,
- args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
- 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/add-paths/path-type
@@ -21669,12 +18384,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_as_path_op
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22036,12 +18747,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_nexthop_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22059,12 +18766,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_nexthop_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22082,12 +18785,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22105,12 +18804,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22128,12 +18823,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22151,80 +18842,14 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
return NB_OK;
}
-static int
-bgp_unnumbered_neighbor_afi_safi_weight_modify(struct nb_cb_modify_args *args)
-{
- struct bgp *bgp;
- const char *peer_str;
- struct peer *peer;
- const struct lyd_node *nbr_dnode;
- const char *af_name;
- uint16_t weight;
- afi_t afi;
- safi_t safi;
- const struct lyd_node *nbr_af_dnode;
- 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);
-
- weight = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_weight_set(peer, afi, safi, weight);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret) < 0)
- return NB_ERR_INCONSISTENCY;
-
- return NB_OK;
-}
-
-static int
-bgp_unnumbered_neighbor_afi_safi_weight_destroy(struct nb_cb_destroy_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;
- int ret;
-
- bgp = nb_running_get_entry(args->dnode, NULL, true);
- nbr_dnode = yang_dnode_get_parent(args->dnode, "unnumbered-neighbor");
- peer_str = yang_dnode_get_string(nbr_dnode, "./interface");
- peer = bgp_unnumbered_neighbor_peer_lookup(bgp, peer_str, args->errmsg,
- args->errmsg_len);
- 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);
-
- ret = peer_weight_unset(peer, afi, safi);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret) < 0)
- return NB_ERR_INCONSISTENCY;
-
- 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/weight/weight-attribute
@@ -22236,10 +18861,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_weight_wei
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -22253,10 +18876,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_weight_wei
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -22274,12 +18895,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_route_refl
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22297,12 +18914,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_route_serv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22320,12 +18933,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_send_commu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22343,12 +18952,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_send_commu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22366,12 +18971,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_send_commu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22389,12 +18990,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_soft_recon
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22412,12 +19009,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_attr_uncha
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22435,12 +19028,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_attr_uncha
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -22458,12 +19047,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_unicast_attr_uncha
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23029,12 +19614,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_as_path_op
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23052,12 +19633,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_attr_uncha
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23075,12 +19652,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_attr_uncha
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23098,12 +19671,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_attr_uncha
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23514,12 +20083,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_nexthop_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23537,12 +20102,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_nexthop_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23560,12 +20121,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23583,12 +20140,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23606,12 +20159,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23629,12 +20178,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_private_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23652,12 +20197,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_route_refl
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23675,12 +20216,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_route_serv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23698,12 +20235,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_send_commu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23721,12 +20254,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_send_commu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23744,12 +20273,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_send_commu
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23767,12 +20292,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_soft_recon
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23790,10 +20311,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_weight_wei
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -23807,10 +20326,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_unicast_weight_wei
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -23915,12 +20432,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_as_path_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23938,12 +20451,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_attr_unc
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23961,12 +20470,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_attr_unc
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -23984,12 +20489,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_attr_unc
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24400,12 +20901,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_nexthop_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24423,12 +20920,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_nexthop_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24446,12 +20939,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24469,12 +20958,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24492,12 +20977,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24515,12 +20996,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24538,12 +21015,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_route_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24561,12 +21034,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_route_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24584,12 +21053,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_send_com
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24607,12 +21072,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_send_com
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24630,12 +21091,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_send_com
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24653,12 +21110,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_soft_rec
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24676,10 +21129,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_weight_w
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -24693,10 +21144,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_multicast_weight_w
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -24801,12 +21250,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_as_path_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24824,12 +21269,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_attr_unc
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24847,12 +21288,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_attr_unc
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -24870,12 +21307,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_attr_unc
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25286,12 +21719,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_nexthop_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25309,12 +21738,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_nexthop_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25332,12 +21757,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25355,12 +21776,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25378,12 +21795,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25401,12 +21814,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_private_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25424,12 +21833,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_route_re
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25447,12 +21852,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_route_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25470,12 +21871,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_send_com
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25493,12 +21890,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_send_com
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25516,12 +21909,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_send_com
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25539,12 +21928,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_soft_rec
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25562,10 +21947,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_weight_w
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -25579,10 +21962,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_multicast_weight_w
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -25687,12 +22068,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25710,12 +22087,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_at
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25733,12 +22106,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_at
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -25756,12 +22125,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_at
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26172,12 +22537,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26195,12 +22556,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26218,12 +22575,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26241,12 +22594,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26264,12 +22613,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26287,12 +22632,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26310,12 +22651,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26333,12 +22670,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26356,12 +22689,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26379,12 +22708,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26402,12 +22727,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26425,12 +22746,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_so
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26448,10 +22765,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -26465,10 +22780,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_labeled_unicast_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -26573,12 +22886,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26596,12 +22905,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_at
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26619,12 +22924,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_at
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -26642,12 +22943,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_at
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27058,12 +23355,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27081,12 +23374,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27104,12 +23393,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27127,12 +23412,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27150,12 +23431,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27173,12 +23450,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_pr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27196,12 +23469,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27219,12 +23488,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27242,12 +23507,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27265,12 +23526,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27288,12 +23545,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27311,12 +23564,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_so
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27334,10 +23583,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -27351,10 +23598,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_labeled_unicast_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -27459,12 +23704,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_as_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27482,12 +23723,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27505,12 +23742,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27528,12 +23761,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27842,12 +24071,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27865,12 +24090,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27888,12 +24109,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27911,12 +24128,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27934,12 +24147,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27957,12 +24166,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -27980,12 +24185,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28003,12 +24204,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28026,12 +24223,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28049,12 +24242,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28072,12 +24261,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28095,12 +24280,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_soft
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28118,10 +24299,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -28135,10 +24314,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv4_unicast_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -28243,12 +24420,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_as_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28266,12 +24439,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28289,12 +24458,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28312,12 +24477,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28626,12 +24787,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28649,12 +24806,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28672,12 +24825,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28695,12 +24844,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28718,12 +24863,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28741,12 +24882,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_priv
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28764,12 +24901,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28787,12 +24920,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28810,12 +24939,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28833,12 +24958,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28856,12 +24977,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_send
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28879,12 +24996,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_soft
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -28902,10 +25015,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -28919,10 +25030,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l3vpn_ipv6_unicast_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -29008,12 +25117,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_as_path_opti
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29031,12 +25136,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_attr_unchang
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29054,12 +25155,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_attr_unchang
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29077,12 +25174,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_attr_unchang
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29100,12 +25193,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_nexthop_self
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29123,12 +25212,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_nexthop_self
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29146,12 +25231,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_route_reflec
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29169,12 +25250,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_route_server
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29192,12 +25269,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_l2vpn_evpn_soft_reconfi
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29215,12 +25288,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_flowspec_route_ref
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29238,12 +25307,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_flowspec_route_ser
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29261,12 +25326,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv4_flowspec_soft_reco
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29284,12 +25345,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_flowspec_route_ref
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29307,12 +25364,8 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_flowspec_route_ser
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29330,46 +25383,14 @@ int bgp_neighbors_unnumbered_neighbor_afi_safis_afi_safi_ipv6_flowspec_soft_reco
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_unnumbered_neighbor_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
return NB_OK;
}
-static int bgp_peer_group_afi_safi_flag_modify(struct nb_cb_modify_args *args,
- uint32_t flags, bool set)
-{
- 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_af_flag_modify_nb(peer, afi, safi, flags, set, args->errmsg,
- args->errmsg_len)
- < 0)
- return NB_ERR_INCONSISTENCY;
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast/add-paths/path-type
@@ -29468,12 +25489,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_as_path_options_r
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29835,12 +25852,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_nexthop_self_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29858,12 +25871,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_nexthop_self_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29881,12 +25890,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29904,12 +25909,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29927,12 +25928,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -29950,77 +25947,14 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
return NB_OK;
}
-static int bgp_peer_group_afi_safi_weight_modify(struct nb_cb_modify_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;
- uint16_t weight;
- 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(args->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);
-
- weight = yang_dnode_get_uint16(args->dnode, NULL);
-
- ret = peer_weight_set(peer, afi, safi, weight);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret) < 0)
- return NB_ERR_INCONSISTENCY;
-
- return NB_OK;
-}
-
-static int
-bgp_peer_group_afi_safi_weight_destroy(struct nb_cb_destroy_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;
- 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_weight_unset(peer, afi, safi);
- if (bgp_nb_errmsg_return(args->errmsg, args->errmsg_len, ret) < 0)
- return NB_ERR_INCONSISTENCY;
-
- return NB_OK;
-}
-
/*
* XPath:
* /frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-bgp:bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast/weight/weight-attribute
@@ -30032,10 +25966,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_weight_weight_att
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -30049,10 +25981,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_weight_weight_att
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -30070,12 +26000,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_route_reflector_r
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30093,12 +26019,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_route_server_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30116,12 +26038,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_send_community_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30139,12 +26057,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_send_community_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30162,12 +26076,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_send_community_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30185,12 +26095,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_soft_reconfigurat
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30208,12 +26114,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_attr_unchanged_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30231,12 +26133,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_attr_unchanged_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30254,12 +26152,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_unicast_attr_unchanged_me
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30825,12 +26719,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_as_path_options_r
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30848,12 +26738,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_attr_unchanged_as
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30871,12 +26757,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_attr_unchanged_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -30894,12 +26776,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_attr_unchanged_me
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31310,12 +27188,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_nexthop_self_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31333,12 +27207,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_nexthop_self_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31356,12 +27226,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31379,12 +27245,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31402,12 +27264,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31425,12 +27283,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_private_as_remove
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31448,12 +27302,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_route_reflector_r
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31471,12 +27321,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_route_server_rout
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31494,12 +27340,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_send_community_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31517,12 +27359,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_send_community_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31540,12 +27378,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_send_community_se
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31563,12 +27397,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_soft_reconfigurat
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31586,10 +27416,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_weight_weight_att
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -31603,10 +27431,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_unicast_weight_weight_att
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -31711,12 +27537,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_as_path_options
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31734,12 +27556,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31757,12 +27575,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -31780,12 +27594,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32196,12 +28006,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32219,12 +28025,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32242,12 +28044,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32265,12 +28063,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32288,12 +28082,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32311,12 +28101,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32334,12 +28120,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_route_reflector
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32357,12 +28139,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_route_server_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32380,12 +28158,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32403,12 +28177,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32426,12 +28196,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32449,12 +28215,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_soft_reconfigur
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32472,10 +28234,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -32489,10 +28249,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_multicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -32597,12 +28355,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_as_path_options
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32620,12 +28374,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32643,12 +28393,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -32666,12 +28412,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_attr_unchanged_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33082,12 +28824,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33105,12 +28843,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_nexthop_self_ne
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33128,12 +28862,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33151,12 +28881,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33174,12 +28900,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33197,12 +28919,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_private_as_remo
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33220,12 +28938,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_route_reflector
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33243,12 +28957,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_route_server_ro
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33266,12 +28976,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33289,12 +28995,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33312,12 +29014,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_send_community_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33335,12 +29033,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_soft_reconfigur
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33358,10 +29052,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -33375,10 +29067,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_multicast_weight_weight_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -33483,12 +29173,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_as_path_o
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33506,12 +29192,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_attr_unch
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33529,12 +29211,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_attr_unch
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33552,12 +29230,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_attr_unch
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33968,12 +29642,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_nexthop_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -33991,12 +29661,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_nexthop_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34014,12 +29680,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34037,12 +29699,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34060,12 +29718,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34083,12 +29737,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34106,12 +29756,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_route_ref
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34129,12 +29775,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_route_ser
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34152,12 +29794,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_send_comm
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34175,12 +29813,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_send_comm
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34198,12 +29832,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_send_comm
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34221,12 +29851,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_soft_reco
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34244,10 +29870,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_weight_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -34261,10 +29885,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_labeled_unicast_weight_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -34369,12 +29991,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_as_path_o
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34392,12 +30010,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_attr_unch
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34415,12 +30029,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_attr_unch
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34438,12 +30048,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_attr_unch
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34854,12 +30460,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_nexthop_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34877,12 +30479,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_nexthop_s
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34900,12 +30498,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34923,12 +30517,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34946,12 +30536,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34969,12 +30555,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_private_a
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -34992,12 +30574,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_route_ref
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35015,12 +30593,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_route_ser
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35038,12 +30612,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_send_comm
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35061,12 +30631,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_send_comm
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35084,12 +30650,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_send_comm
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35107,12 +30669,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_soft_reco
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35130,10 +30688,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_weight_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -35147,10 +30703,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_labeled_unicast_weight_we
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -35255,12 +30809,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_as_path_opt
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35278,12 +30828,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr_unchan
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35301,12 +30847,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr_unchan
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35324,12 +30866,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_attr_unchan
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35638,12 +31176,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_nexthop_sel
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35661,12 +31195,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_nexthop_sel
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35684,12 +31214,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35707,12 +31233,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35730,12 +31252,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35753,12 +31271,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35776,12 +31290,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_route_refle
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35799,12 +31309,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_route_serve
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35822,12 +31328,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_send_commun
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35845,12 +31347,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_send_commun
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35868,12 +31366,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_send_commun
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35891,12 +31385,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_soft_reconf
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -35914,10 +31404,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_weight_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -35931,10 +31419,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv4_unicast_weight_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -36039,12 +31525,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_as_path_opt
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36062,12 +31544,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr_unchan
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36085,12 +31563,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr_unchan
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36108,12 +31582,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_attr_unchan
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36422,12 +31892,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_nexthop_sel
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36445,12 +31911,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_nexthop_sel
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36468,12 +31930,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36491,12 +31949,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36514,12 +31968,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36537,12 +31987,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_private_as_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36560,12 +32006,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_route_refle
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36583,12 +32025,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_route_serve
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36606,12 +32044,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_send_commun
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36629,12 +32063,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_send_commun
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_EXT_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36652,12 +32082,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_send_commun
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SEND_LARGE_COMMUNITY,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36675,12 +32101,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_soft_reconf
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36698,10 +32120,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_weight_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_modify(args);
-
+ /* TODO: implement me. */
break;
}
@@ -36715,10 +32135,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l3vpn_ipv6_unicast_weight_weig
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_weight_destroy(args);
-
+ /* TODO: implement me. */
break;
}
@@ -36804,12 +32222,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_as_path_options_rep
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_OVERRIDE,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36827,12 +32241,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_attr_unchanged_as_p
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_AS_PATH_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36850,12 +32260,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_attr_unchanged_next
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36873,12 +32279,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_attr_unchanged_med_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_MED_UNCHANGED,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36896,12 +32298,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_nexthop_self_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36919,12 +32317,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_nexthop_self_next_h
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_FORCE_NEXTHOP_SELF,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36942,12 +32336,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_route_reflector_rou
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36965,12 +32355,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_route_server_route_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -36988,12 +32374,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_l2vpn_evpn_soft_reconfiguratio
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -37011,12 +32393,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_flowspec_route_reflector_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -37034,12 +32412,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_flowspec_route_server_rou
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -37057,12 +32431,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv4_flowspec_soft_reconfigura
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -37080,12 +32450,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_route_reflector_
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_REFLECTOR_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -37103,12 +32469,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_route_server_rou
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_RSERVER_CLIENT,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
@@ -37126,12 +32488,8 @@ int bgp_peer_groups_peer_group_afi_safis_afi_safi_ipv6_flowspec_soft_reconfigura
case NB_EV_VALIDATE:
case NB_EV_PREPARE:
case NB_EV_ABORT:
- return NB_OK;
case NB_EV_APPLY:
- return bgp_peer_group_afi_safi_flag_modify(
- args, PEER_FLAG_SOFT_RECONFIG,
- yang_dnode_get_bool(args->dnode, NULL));
-
+ /* TODO: implement me. */
break;
}
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 1860e539f2..bceb506b60 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -159,10 +159,6 @@ static int bgp_show_neighbor_graceful_restart_afi_all(struct vty *vty,
const char *ip_str,
afi_t afi, bool use_json);
-static int peer_and_group_lookup_nb(struct vty *vty, const char *peer_str,
- char *base_xpath, int xpath_len,
- char *abs_xpath);
-
static enum node_type bgp_node_type(afi_t afi, safi_t safi)
{
switch (afi) {
@@ -678,7 +674,7 @@ int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
return *idx;
}
-bool peer_address_self_check(struct bgp *bgp, union sockunion *su)
+static bool peer_address_self_check(struct bgp *bgp, union sockunion *su)
{
struct interface *ifp = NULL;
@@ -695,6 +691,49 @@ bool peer_address_self_check(struct bgp *bgp, union sockunion *su)
return false;
}
+/* Utility function for looking up peer from VTY. */
+/* This is used only for configuration, so disallow if attempted on
+ * a dynamic neighbor.
+ */
+static struct peer *peer_lookup_vty(struct vty *vty, const char *ip_str)
+{
+ struct bgp *bgp = VTY_GET_CONTEXT(bgp);
+ int ret;
+ union sockunion su;
+ struct peer *peer;
+
+ if (!bgp) {
+ return NULL;
+ }
+
+ ret = str2sockunion(ip_str, &su);
+ if (ret < 0) {
+ peer = peer_lookup_by_conf_if(bgp, ip_str);
+ if (!peer) {
+ if ((peer = peer_lookup_by_hostname(bgp, ip_str))
+ == NULL) {
+ vty_out(vty,
+ "%% Malformed address or name: %s\n",
+ ip_str);
+ return NULL;
+ }
+ }
+ } else {
+ peer = peer_lookup(bgp, &su);
+ if (!peer) {
+ vty_out(vty,
+ "%% Specify remote-as or peer-group commands first\n");
+ return NULL;
+ }
+ if (peer_dynamic_neighbor(peer)) {
+ vty_out(vty,
+ "%% Operation not allowed on a dynamic neighbor\n");
+ return NULL;
+ }
+ }
+ return peer;
+}
+
/* Utility function for looking up peer or peer group. */
/* This is used only for configuration, so disallow if attempted on
* a dynamic neighbor.
@@ -741,98 +780,6 @@ struct peer *peer_and_group_lookup_vty(struct vty *vty, const char *peer_str)
return NULL;
}
-int bgp_nb_errmsg_return(char *errmsg, size_t errmsg_len, int ret)
-{
- const char *str = NULL;
-
- switch (ret) {
- case BGP_ERR_INVALID_VALUE:
- str = "Invalid value";
- break;
- case BGP_ERR_INVALID_FLAG:
- str = "Invalid flag";
- break;
- case BGP_ERR_PEER_GROUP_SHUTDOWN:
- str = "Peer-group has been shutdown. Activate the peer-group first";
- break;
- case BGP_ERR_PEER_FLAG_CONFLICT:
- str = "Can't set override-capability and strict-capability-match at the same time";
- break;
- case BGP_ERR_PEER_GROUP_NO_REMOTE_AS:
- str = "Specify remote-as or peer-group remote AS first";
- break;
- case BGP_ERR_PEER_GROUP_CANT_CHANGE:
- str = "Cannot change the peer-group. Deconfigure first";
- break;
- case BGP_ERR_PEER_GROUP_MISMATCH:
- str = "Peer is not a member of this peer-group";
- break;
- case BGP_ERR_PEER_FILTER_CONFLICT:
- str = "Prefix/distribute list can not co-exist";
- break;
- case BGP_ERR_NOT_INTERNAL_PEER:
- str = "Invalid command. Not an internal neighbor";
- break;
- case BGP_ERR_REMOVE_PRIVATE_AS:
- str = "remove-private-AS cannot be configured for IBGP peers";
- break;
- case BGP_ERR_LOCAL_AS_ALLOWED_ONLY_FOR_EBGP:
- str = "Local-AS allowed only for EBGP peers";
- break;
- case BGP_ERR_CANNOT_HAVE_LOCAL_AS_SAME_AS:
- str = "Cannot have local-as same as BGP AS number";
- break;
- case BGP_ERR_TCPSIG_FAILED:
- str = "Error while applying TCP-Sig to session(s)";
- break;
- case BGP_ERR_NO_EBGP_MULTIHOP_WITH_TTLHACK:
- str = "ebgp-multihop and ttl-security cannot be configured together";
- break;
- case BGP_ERR_NO_IBGP_WITH_TTLHACK:
- str = "ttl-security only allowed for EBGP peers";
- break;
- case BGP_ERR_AS_OVERRIDE:
- str = "as-override cannot be configured for IBGP peers";
- break;
- case BGP_ERR_INVALID_DYNAMIC_NEIGHBORS_LIMIT:
- str = "Invalid limit for number of dynamic neighbors";
- break;
- case BGP_ERR_DYNAMIC_NEIGHBORS_RANGE_EXISTS:
- str = "Dynamic neighbor listen range already exists";
- break;
- case BGP_ERR_INVALID_FOR_DYNAMIC_PEER:
- str = "Operation not allowed on a dynamic neighbor";
- break;
- case BGP_ERR_INVALID_FOR_DIRECT_PEER:
- str = "Operation not allowed on a directly connected neighbor";
- break;
- case BGP_ERR_PEER_SAFI_CONFLICT:
- str = "Cannot activate peer for both 'ipv4 unicast' and 'ipv4 labeled-unicast'";
- break;
- case BGP_ERR_GR_INVALID_CMD:
- str = "The Graceful Restart command used is not valid at this moment.";
- break;
- case BGP_ERR_GR_OPERATION_FAILED:
- str = "The Graceful Restart Operation failed due to an err.";
- break;
- case BGP_GR_NO_OPERATION:
- str = GR_NO_OPER;
- break;
- case BGP_ERR_PEER_GROUP_MEMBER:
- str = "Peer-group member cannot override remote-as of peer-group";
- break;
- case BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT:
- str = "Peer-group members must be all internal or all external";
- break;
- }
- if (str) {
- snprintf(errmsg, errmsg_len, "%s", str);
- return -1;
- }
-
- return 0;
-}
-
int bgp_vty_return(struct vty *vty, int ret)
{
const char *str = NULL;
@@ -4432,6 +4379,69 @@ void cli_show_router_global_ebgp_multihop_connected_route_check(
vty_out(vty, " bgp disable-ebgp-connected-route-check\n");
}
+static int peer_remote_as_vty(struct vty *vty, const char *peer_str,
+ const char *as_str)
+{
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
+ int ret;
+ as_t as;
+ int as_type = AS_SPECIFIED;
+ union sockunion su;
+
+ if (as_str[0] == 'i') {
+ as = 0;
+ as_type = AS_INTERNAL;
+ } else if (as_str[0] == 'e') {
+ as = 0;
+ as_type = AS_EXTERNAL;
+ } else {
+ /* Get AS number. */
+ as = strtoul(as_str, NULL, 10);
+ }
+
+ /* If peer is peer group or interface peer, call proper function. */
+ ret = str2sockunion(peer_str, &su);
+ if (ret < 0) {
+ struct peer *peer;
+
+ /* Check if existing interface peer */
+ peer = peer_lookup_by_conf_if(bgp, peer_str);
+
+ ret = peer_remote_as(bgp, NULL, peer_str, &as, as_type);
+
+ /* if not interface peer, check peer-group settings */
+ if (ret < 0 && !peer) {
+ ret = peer_group_remote_as(bgp, peer_str, &as, as_type);
+ if (ret < 0) {
+ vty_out(vty,
+ "%% Create the peer-group or interface first\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+ return CMD_SUCCESS;
+ }
+ } else {
+ if (peer_address_self_check(bgp, &su)) {
+ vty_out(vty,
+ "%% Can not configure the local system as neighbor\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+ ret = peer_remote_as(bgp, &su, NULL, &as, as_type);
+ }
+
+ /* This peer belongs to peer group. */
+ switch (ret) {
+ case BGP_ERR_PEER_GROUP_MEMBER:
+ vty_out(vty,
+ "%% Peer-group member cannot override remote-as of peer-group\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ case BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT:
+ vty_out(vty,
+ "%% Peer-group members must be all internal or all external\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+ return bgp_vty_return(vty, ret);
+}
+
DEFUN_YANG(bgp_default_shutdown,
bgp_default_shutdown_cmd,
"[no] bgp default shutdown",
@@ -4497,67 +4507,30 @@ ALIAS(no_bgp_shutdown, no_bgp_shutdown_msg_cmd,
"Administrative shutdown of the BGP instance\n"
"Add a shutdown message (RFC 8203)\n" "Shutdown message\n")
-DEFUN_YANG(neighbor_remote_as,
- neighbor_remote_as_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> remote-as <(1-4294967295)|internal|external>",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Specify a BGP neighbor\n" AS_STR
- "Internal BGP peer\n"
- "External BGP peer\n")
+DEFUN (neighbor_remote_as,
+ neighbor_remote_as_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> remote-as <(1-4294967295)|internal|external>",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Specify a BGP neighbor\n"
+ AS_STR
+ "Internal BGP peer\n"
+ "External BGP peer\n")
{
int idx_peer = 1;
int idx_remote_as = 3;
- char base_xpath[XPATH_MAXLEN];
- char unnbr_xpath[XPATH_MAXLEN];
- char prgrp_xpath[XPATH_MAXLEN];
- union sockunion su;
- const char *as_type_str = "as-specified";
-
- if (str2sockunion(argv[idx_peer]->arg, &su) < 0) {
- snprintf(unnbr_xpath, sizeof(unnbr_xpath),
- FRR_BGP_NEIGHBOR_UNNUM_XPATH, argv[idx_peer]->arg, "");
-
- snprintf(prgrp_xpath, sizeof(prgrp_xpath),
- FRR_BGP_PEER_GROUP_XPATH, argv[idx_peer]->arg, "");
-
- if (yang_dnode_existsf(vty->candidate_config->dnode, "%s%s",
- VTY_CURR_XPATH, unnbr_xpath + 1)) {
- strlcpy(base_xpath, unnbr_xpath, sizeof(base_xpath));
- } else if (yang_dnode_existsf(vty->candidate_config->dnode,
- "%s%s", VTY_CURR_XPATH,
- prgrp_xpath + 1)) {
- snprintf(base_xpath, sizeof(base_xpath),
- FRR_BGP_PEER_GROUP_XPATH, argv[idx_peer]->arg,
- "");
- } else {
- vty_out(vty,
- "%% Create the peer-group or interface first\n");
- return CMD_WARNING_CONFIG_FAILED;
- }
- } else {
- snprintf(base_xpath, sizeof(base_xpath),
- FRR_BGP_NEIGHBOR_NUM_XPATH, argv[idx_peer]->arg, "");
- }
-
- if (argv[idx_remote_as]->arg[0] == 'i') {
- as_type_str = "internal";
- } else if (argv[idx_remote_as]->arg[0] == 'e') {
- as_type_str = "external";
- } else {
- nb_cli_enqueue_change(vty, "./neighbor-remote-as/remote-as",
- NB_OP_MODIFY, argv[idx_remote_as]->arg);
- }
- nb_cli_enqueue_change(vty, "./neighbor-remote-as/remote-as-type",
- NB_OP_MODIFY, as_type_str);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_remote_as_vty(vty, argv[idx_peer]->arg,
+ argv[idx_remote_as]->arg);
}
-int peer_conf_interface_create(struct bgp *bgp, const char *conf_if,
- bool v6only, const char *peer_group_name,
- int as_type, as_t as, char *errmsg,
- size_t errmsg_len)
+static int peer_conf_interface_get(struct vty *vty, const char *conf_if,
+ int v6only,
+ const char *peer_group_name,
+ const char *as_str)
{
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
+ as_t as = 0;
+ int as_type = AS_UNSPECIFIED;
struct peer *peer;
struct peer_group *group;
int ret = 0;
@@ -4565,23 +4538,33 @@ int peer_conf_interface_create(struct bgp *bgp, const char *conf_if,
group = peer_group_lookup(bgp, conf_if);
if (group) {
- snprintf(errmsg, errmsg_len,
- "Name conflict with peer-group \n");
- return -1;
+ vty_out(vty, "%% Name conflict with peer-group \n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+
+ if (as_str) {
+ if (as_str[0] == 'i') {
+ as_type = AS_INTERNAL;
+ } else if (as_str[0] == 'e') {
+ as_type = AS_EXTERNAL;
+ } else {
+ /* Get AS number. */
+ as = strtoul(as_str, NULL, 10);
+ as_type = AS_SPECIFIED;
+ }
}
peer = peer_lookup_by_conf_if(bgp, conf_if);
if (peer) {
- if (as_type != AS_UNSPECIFIED)
+ if (as_str)
ret = peer_remote_as(bgp, NULL, conf_if, &as, as_type);
} else {
peer = peer_create(NULL, conf_if, bgp, bgp->as, as, as_type,
NULL);
if (!peer) {
- snprintf(errmsg, errmsg_len,
- "BGP failed to create peer\n");
- return -1;
+ vty_out(vty, "%% BGP failed to create peer\n");
+ return CMD_WARNING_CONFIG_FAILED;
}
if (v6only)
@@ -4624,156 +4607,119 @@ int peer_conf_interface_create(struct bgp *bgp, const char *conf_if,
if (peer_group_name) {
group = peer_group_lookup(bgp, peer_group_name);
if (!group) {
- snprintf(errmsg, errmsg_len,
- "Configure the peer-group first\n");
- return -1;
+ vty_out(vty, "%% Configure the peer-group first\n");
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_bind(bgp, NULL, peer, group, &as);
}
- return bgp_nb_errmsg_return(errmsg, errmsg_len, ret);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG(neighbor_interface_config, neighbor_interface_config_cmd,
- "neighbor WORD interface [peer-group PGNAME]",
- NEIGHBOR_STR
- "Interface name or neighbor tag\n"
- "Enable BGP on interface\n"
- "Member of the peer-group\n"
- "Peer-group name\n")
+DEFUN (neighbor_interface_config,
+ neighbor_interface_config_cmd,
+ "neighbor WORD interface [peer-group PGNAME]",
+ NEIGHBOR_STR
+ "Interface name or neighbor tag\n"
+ "Enable BGP on interface\n"
+ "Member of the peer-group\n"
+ "Peer-group name\n")
{
int idx_word = 1;
int idx_peer_group_word = 4;
- char base_xpath[XPATH_MAXLEN];
-
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_UNNUM_XPATH,
- argv[idx_word]->arg, "");
- nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
if (argc > idx_peer_group_word)
- nb_cli_enqueue_change(vty, "./peer-group", NB_OP_MODIFY,
- argv[idx_peer_group_word]->arg);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_conf_interface_get(
+ vty, argv[idx_word]->arg, 0,
+ argv[idx_peer_group_word]->arg, NULL);
+ else
+ return peer_conf_interface_get(vty, argv[idx_word]->arg, 0,
+ NULL, NULL);
}
-DEFUN_YANG(neighbor_interface_config_v6only,
- neighbor_interface_config_v6only_cmd,
- "neighbor WORD interface v6only [peer-group PGNAME]",
- NEIGHBOR_STR
- "Interface name or neighbor tag\n"
- "Enable BGP on interface\n"
- "Enable BGP with v6 link-local only\n"
- "Member of the peer-group\n"
- "Peer-group name\n")
+DEFUN (neighbor_interface_config_v6only,
+ neighbor_interface_config_v6only_cmd,
+ "neighbor WORD interface v6only [peer-group PGNAME]",
+ NEIGHBOR_STR
+ "Interface name or neighbor tag\n"
+ "Enable BGP on interface\n"
+ "Enable BGP with v6 link-local only\n"
+ "Member of the peer-group\n"
+ "Peer-group name\n")
{
int idx_word = 1;
int idx_peer_group_word = 5;
- char base_xpath[XPATH_MAXLEN];
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_UNNUM_XPATH,
- argv[idx_word]->arg, "");
-
- nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
if (argc > idx_peer_group_word)
- nb_cli_enqueue_change(vty, "./peer-group", NB_OP_MODIFY,
- argv[idx_peer_group_word]->arg);
-
- nb_cli_enqueue_change(vty, "./v6only", NB_OP_MODIFY, "true");
+ return peer_conf_interface_get(
+ vty, argv[idx_word]->arg, 1,
+ argv[idx_peer_group_word]->arg, NULL);
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_conf_interface_get(vty, argv[idx_word]->arg, 1, NULL, NULL);
}
-DEFUN_YANG(
- neighbor_interface_config_remote_as,
- neighbor_interface_config_remote_as_cmd,
- "neighbor WORD interface remote-as <(1-4294967295)|internal|external>",
- NEIGHBOR_STR
- "Interface name or neighbor tag\n"
- "Enable BGP on interface\n"
- "Specify a BGP neighbor\n" AS_STR
- "Internal BGP peer\n"
- "External BGP peer\n")
+DEFUN (neighbor_interface_config_remote_as,
+ neighbor_interface_config_remote_as_cmd,
+ "neighbor WORD interface remote-as <(1-4294967295)|internal|external>",
+ NEIGHBOR_STR
+ "Interface name or neighbor tag\n"
+ "Enable BGP on interface\n"
+ "Specify a BGP neighbor\n"
+ AS_STR
+ "Internal BGP peer\n"
+ "External BGP peer\n")
{
int idx_word = 1;
int idx_remote_as = 4;
- char base_xpath[XPATH_MAXLEN];
- const char *as_type_str = "as-specified";
-
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_UNNUM_XPATH,
- argv[idx_word]->arg, "");
-
- nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
-
- if (argv[idx_remote_as]->arg[0] == 'i') {
- as_type_str = "internal";
- } else if (argv[idx_remote_as]->arg[0] == 'e') {
- as_type_str = "external";
- } else {
- nb_cli_enqueue_change(vty, "./neighbor-remote-as/remote-as",
- NB_OP_MODIFY, argv[idx_remote_as]->arg);
- }
- nb_cli_enqueue_change(vty, "./neighbor-remote-as/remote-as-type",
- NB_OP_MODIFY, as_type_str);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_conf_interface_get(vty, argv[idx_word]->arg, 0, NULL,
+ argv[idx_remote_as]->arg);
}
-DEFUN_YANG(
- neighbor_interface_v6only_config_remote_as,
- neighbor_interface_v6only_config_remote_as_cmd,
- "neighbor WORD interface v6only remote-as <(1-4294967295)|internal|external>",
- NEIGHBOR_STR
- "Interface name or neighbor tag\n"
- "Enable BGP with v6 link-local only\n"
- "Enable BGP on interface\n"
- "Specify a BGP neighbor\n" AS_STR
- "Internal BGP peer\n"
- "External BGP peer\n")
+DEFUN (neighbor_interface_v6only_config_remote_as,
+ neighbor_interface_v6only_config_remote_as_cmd,
+ "neighbor WORD interface v6only remote-as <(1-4294967295)|internal|external>",
+ NEIGHBOR_STR
+ "Interface name or neighbor tag\n"
+ "Enable BGP with v6 link-local only\n"
+ "Enable BGP on interface\n"
+ "Specify a BGP neighbor\n"
+ AS_STR
+ "Internal BGP peer\n"
+ "External BGP peer\n")
{
int idx_word = 1;
int idx_remote_as = 5;
- char base_xpath[XPATH_MAXLEN];
- const char *as_type_str = "as-specified";
-
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_UNNUM_XPATH,
- argv[idx_word]->arg, "");
-
- nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
-
- nb_cli_enqueue_change(vty, "./v6only", NB_OP_MODIFY, "true");
-
- if (argv[idx_remote_as]->arg[0] == 'i') {
- as_type_str = "internal";
- } else if (argv[idx_remote_as]->arg[0] == 'e') {
- as_type_str = "external";
- } else {
- nb_cli_enqueue_change(vty, "./neighbor-remote-as/remote-as",
- NB_OP_MODIFY, argv[idx_remote_as]->arg);
- }
- nb_cli_enqueue_change(vty, "./neighbor-remote-as/remote-as-type",
- NB_OP_MODIFY, as_type_str);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_conf_interface_get(vty, argv[idx_word]->arg, 1, NULL,
+ argv[idx_remote_as]->arg);
}
-DEFUN_YANG(neighbor_peer_group, neighbor_peer_group_cmd,
- "neighbor WORD peer-group",
- NEIGHBOR_STR
- "Interface name or neighbor tag\n"
- "Configure peer-group\n")
+DEFUN (neighbor_peer_group,
+ neighbor_peer_group_cmd,
+ "neighbor WORD peer-group",
+ NEIGHBOR_STR
+ "Interface name or neighbor tag\n"
+ "Configure peer-group\n")
{
- char base_xpath[XPATH_MAXLEN];
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
int idx_word = 1;
+ struct peer *peer;
+ struct peer_group *group;
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_PEER_GROUP_XPATH,
- argv[idx_word]->arg, "");
+ peer = peer_lookup_by_conf_if(bgp, argv[idx_word]->arg);
+ if (peer) {
+ vty_out(vty, "%% Name conflict with interface: \n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
- nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
+ group = peer_group_get(bgp, argv[idx_word]->arg);
+ if (!group) {
+ vty_out(vty, "%% BGP failed to find or create peer-group\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
- return nb_cli_apply_changes(vty, base_xpath);
+ return CMD_SUCCESS;
}
DEFUN (no_neighbor,
@@ -4787,243 +4733,245 @@ DEFUN (no_neighbor,
"Internal BGP peer\n"
"External BGP peer\n")
{
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char num_xpath[XPATH_MAXLEN];
- char unnbr_xpath[XPATH_MAXLEN];
- char prgrp_xpath[XPATH_MAXLEN];
+ int ret;
union sockunion su;
+ struct peer_group *group;
+ struct peer *peer;
+ struct peer *other;
- if (str2sockunion(argv[idx_peer]->arg, &su) == 0) {
- snprintf(num_xpath, sizeof(num_xpath),
- FRR_BGP_NEIGHBOR_NUM_XPATH, argv[idx_peer]->arg, "");
- if (yang_dnode_existsf(vty->candidate_config->dnode, "%s%s",
- VTY_CURR_XPATH, num_xpath + 1)) {
- strlcpy(base_xpath, num_xpath, sizeof(base_xpath));
+ ret = str2sockunion(argv[idx_peer]->arg, &su);
+ if (ret < 0) {
+ /* look up for neighbor by interface name config. */
+ peer = peer_lookup_by_conf_if(bgp, argv[idx_peer]->arg);
+ if (peer) {
+ /* Request zebra to terminate IPv6 RAs on this
+ * interface. */
+ if (peer->ifp)
+ bgp_zebra_terminate_radv(peer->bgp, peer);
+ peer_notify_unconfig(peer);
+ peer_delete(peer);
+ return CMD_SUCCESS;
}
- } else {
- snprintf(unnbr_xpath, sizeof(unnbr_xpath),
- FRR_BGP_NEIGHBOR_UNNUM_XPATH, argv[idx_peer]->arg, "");
-
- snprintf(prgrp_xpath, sizeof(prgrp_xpath),
- FRR_BGP_PEER_GROUP_XPATH, argv[idx_peer]->arg, "");
-
- if (yang_dnode_existsf(vty->candidate_config->dnode, "%s%s",
- VTY_CURR_XPATH, unnbr_xpath + 1)) {
- strlcpy(base_xpath, unnbr_xpath, sizeof(base_xpath));
- } else if (yang_dnode_existsf(vty->candidate_config->dnode,
- "%s%s", VTY_CURR_XPATH,
- prgrp_xpath + 1)) {
- strlcpy(base_xpath, prgrp_xpath, sizeof(base_xpath));
+
+ group = peer_group_lookup(bgp, argv[idx_peer]->arg);
+ if (group) {
+ peer_group_notify_unconfig(group);
+ peer_group_delete(group);
} else {
- vty_out(vty,
- "%% Create the peer-group or interface first\n");
+ vty_out(vty, "%% Create the peer-group first\n");
return CMD_WARNING_CONFIG_FAILED;
}
- }
-
- nb_cli_enqueue_change(vty, base_xpath, NB_OP_DESTROY, NULL);
+ } else {
+ peer = peer_lookup(bgp, &su);
+ if (peer) {
+ if (peer_dynamic_neighbor(peer)) {
+ vty_out(vty,
+ "%% Operation not allowed on a dynamic neighbor\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
- /*
- * Need to commit any pending so this command doesn't merge with a
- * create into a modify, which BGP can't handle
- */
- return nb_cli_apply_changes_clear_pending(vty, NULL);
-}
-
-DEFUN_YANG(no_neighbor_interface_config,
- no_neighbor_interface_config_cmd,
- "no neighbor WORD interface [v6only] [peer-group PGNAME] [remote-as <(1-4294967295)|internal|external>]",
- NO_STR NEIGHBOR_STR
- "Interface name\n"
- "Configure BGP on interface\n"
- "Enable BGP with v6 link-local only\n"
- "Member of the peer-group\n"
- "Peer-group name\n"
- "Specify a BGP neighbor\n" AS_STR
- "Internal BGP peer\n"
- "External BGP peer\n")
-{
- int idx_word = 2;
- char base_xpath[XPATH_MAXLEN];
+ other = peer->doppelganger;
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_UNNUM_XPATH,
- argv[idx_word]->arg, "");
+ if (CHECK_FLAG(peer->flags, PEER_FLAG_CAPABILITY_ENHE))
+ bgp_zebra_terminate_radv(peer->bgp, peer);
- nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
+ peer_notify_unconfig(peer);
+ peer_delete(peer);
+ if (other && other->status != Deleted) {
+ peer_notify_unconfig(other);
+ peer_delete(other);
+ }
+ }
+ }
- /*
- * Need to commit any pending so this command doesn't merge with a
- * create into a modify, which BGP can't handle
- */
- return nb_cli_apply_changes_clear_pending(vty, base_xpath);
+ return CMD_SUCCESS;
}
-DEFUN_YANG(no_neighbor_peer_group,
- no_neighbor_peer_group_cmd,
- "no neighbor WORD peer-group",
- NO_STR NEIGHBOR_STR
- "Neighbor tag\n"
- "Configure peer-group\n")
+DEFUN (no_neighbor_interface_config,
+ no_neighbor_interface_config_cmd,
+ "no neighbor WORD interface [v6only] [peer-group PGNAME] [remote-as <(1-4294967295)|internal|external>]",
+ NO_STR
+ NEIGHBOR_STR
+ "Interface name\n"
+ "Configure BGP on interface\n"
+ "Enable BGP with v6 link-local only\n"
+ "Member of the peer-group\n"
+ "Peer-group name\n"
+ "Specify a BGP neighbor\n"
+ AS_STR
+ "Internal BGP peer\n"
+ "External BGP peer\n")
{
- char base_xpath[XPATH_MAXLEN];
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
int idx_word = 2;
+ struct peer *peer;
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_PEER_GROUP_XPATH,
- argv[idx_word]->arg, "");
-
- nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
-
- /*
- * Need to commit any pending so this command doesn't merge with a
- * create into a modify, which BGP can't handle
- */
- return nb_cli_apply_changes_clear_pending(vty, base_xpath);
+ /* look up for neighbor by interface name config. */
+ peer = peer_lookup_by_conf_if(bgp, argv[idx_word]->arg);
+ if (peer) {
+ /* Request zebra to terminate IPv6 RAs on this interface. */
+ if (peer->ifp)
+ bgp_zebra_terminate_radv(peer->bgp, peer);
+ peer_notify_unconfig(peer);
+ peer_delete(peer);
+ } else {
+ vty_out(vty, "%% Create the bgp interface first\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+ return CMD_SUCCESS;
}
-DEFUN_YANG(no_neighbor_interface_peer_group_remote_as,
- no_neighbor_interface_peer_group_remote_as_cmd,
- "no neighbor WORD remote-as <(1-4294967295)|internal|external>",
- NO_STR NEIGHBOR_STR
- "Interface name or neighbor tag\n"
- "Specify a BGP neighbor\n" AS_STR
- "Internal BGP peer\n"
- "External BGP peer\n")
+DEFUN (no_neighbor_peer_group,
+ no_neighbor_peer_group_cmd,
+ "no neighbor WORD peer-group",
+ NO_STR
+ NEIGHBOR_STR
+ "Neighbor tag\n"
+ "Configure peer-group\n")
{
- int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char unnbr_xpath[XPATH_MAXLEN];
- char prgrp_xpath[XPATH_MAXLEN];
-
- snprintf(unnbr_xpath, sizeof(unnbr_xpath), FRR_BGP_NEIGHBOR_UNNUM_XPATH,
- argv[idx_peer]->arg, "");
-
- snprintf(prgrp_xpath, sizeof(prgrp_xpath), FRR_BGP_PEER_GROUP_XPATH,
- argv[idx_peer]->arg, "");
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
+ int idx_word = 2;
+ struct peer_group *group;
- if (yang_dnode_existsf(vty->candidate_config->dnode, "%s%s",
- VTY_CURR_XPATH, unnbr_xpath + 1)) {
- strlcpy(base_xpath, unnbr_xpath, sizeof(base_xpath));
- } else if (yang_dnode_existsf(vty->candidate_config->dnode, "%s%s",
- VTY_CURR_XPATH, prgrp_xpath + 1)) {
- strlcpy(base_xpath, prgrp_xpath, sizeof(base_xpath));
+ group = peer_group_lookup(bgp, argv[idx_word]->arg);
+ if (group) {
+ peer_group_notify_unconfig(group);
+ peer_group_delete(group);
} else {
- vty_out(vty, "%% Create the peer-group or interface first\n");
+ vty_out(vty, "%% Create the peer-group first\n");
return CMD_WARNING_CONFIG_FAILED;
}
+ return CMD_SUCCESS;
+}
- strlcat(base_xpath, "/neighbor-remote-as/remote-as-type",
- sizeof(base_xpath));
+DEFUN (no_neighbor_interface_peer_group_remote_as,
+ no_neighbor_interface_peer_group_remote_as_cmd,
+ "no neighbor WORD remote-as <(1-4294967295)|internal|external>",
+ NO_STR
+ NEIGHBOR_STR
+ "Interface name or neighbor tag\n"
+ "Specify a BGP neighbor\n"
+ AS_STR
+ "Internal BGP peer\n"
+ "External BGP peer\n")
+{
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
+ int idx_word = 2;
+ struct peer_group *group;
+ struct peer *peer;
- nb_cli_enqueue_change(vty, base_xpath, NB_OP_DESTROY, NULL);
+ /* look up for neighbor by interface name config. */
+ peer = peer_lookup_by_conf_if(bgp, argv[idx_word]->arg);
+ if (peer) {
+ peer_as_change(peer, 0, AS_UNSPECIFIED);
+ return CMD_SUCCESS;
+ }
- /*
- * Need to commit any pending so this command doesn't merge with a
- * create into a modify, which BGP can't handle
- */
- return nb_cli_apply_changes_clear_pending(vty, NULL);
+ group = peer_group_lookup(bgp, argv[idx_word]->arg);
+ if (group)
+ peer_group_remote_as_delete(group);
+ else {
+ vty_out(vty, "%% Create the peer-group or interface first\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+ return CMD_SUCCESS;
}
-DEFUN_YANG(neighbor_local_as,
- neighbor_local_as_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295)",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Specify a local-as number\n"
- "AS number used as local AS\n")
+DEFUN (neighbor_local_as,
+ neighbor_local_as_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Specify a local-as number\n"
+ "AS number used as local AS\n")
{
int idx_peer = 1;
int idx_number = 3;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ int ret;
+ as_t as;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./local-as/local-as", NB_OP_MODIFY,
- argv[idx_number]->arg);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
+ ret = peer_local_as_set(peer, as, 0, 0);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG(
- neighbor_local_as_no_prepend, neighbor_local_as_no_prepend_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295) no-prepend",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Specify a local-as number\n"
- "AS number used as local AS\n"
- "Do not prepend local-as to updates from ebgp peers\n")
+DEFUN (neighbor_local_as_no_prepend,
+ neighbor_local_as_no_prepend_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295) no-prepend",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Specify a local-as number\n"
+ "AS number used as local AS\n"
+ "Do not prepend local-as to updates from ebgp peers\n")
{
int idx_peer = 1;
int idx_number = 3;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ int ret;
+ as_t as;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./local-as/local-as", NB_OP_MODIFY,
- argv[idx_number]->arg);
- nb_cli_enqueue_change(vty, "./local-as/no-prepend", NB_OP_MODIFY,
- "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
+ ret = peer_local_as_set(peer, as, 1, 0);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG(
- neighbor_local_as_no_prepend_replace_as,
- neighbor_local_as_no_prepend_replace_as_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295) no-prepend replace-as",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Specify a local-as number\n"
- "AS number used as local AS\n"
- "Do not prepend local-as to updates from ebgp peers\n"
- "Do not prepend local-as to updates from ibgp peers\n")
+DEFUN (neighbor_local_as_no_prepend_replace_as,
+ neighbor_local_as_no_prepend_replace_as_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295) no-prepend replace-as",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Specify a local-as number\n"
+ "AS number used as local AS\n"
+ "Do not prepend local-as to updates from ebgp peers\n"
+ "Do not prepend local-as to updates from ibgp peers\n")
{
int idx_peer = 1;
int idx_number = 3;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ int ret;
+ as_t as;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./local-as/local-as", NB_OP_MODIFY,
- argv[idx_number]->arg);
- nb_cli_enqueue_change(vty, "./local-as/no-prepend", NB_OP_MODIFY,
- "true");
- nb_cli_enqueue_change(vty, "./local-as/replace-as", NB_OP_MODIFY,
- "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
+ ret = peer_local_as_set(peer, as, 1, 1);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG(no_neighbor_local_as,
- no_neighbor_local_as_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> local-as [(1-4294967295) [no-prepend [replace-as]]]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Specify a local-as number\n"
- "AS number used as local AS\n"
- "Do not prepend local-as to updates from ebgp peers\n"
- "Do not prepend local-as to updates from ibgp peers\n")
+DEFUN (no_neighbor_local_as,
+ no_neighbor_local_as_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> local-as [(1-4294967295) [no-prepend [replace-as]]]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Specify a local-as number\n"
+ "AS number used as local AS\n"
+ "Do not prepend local-as to updates from ebgp peers\n"
+ "Do not prepend local-as to updates from ibgp peers\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ int ret;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./local-as/local-as", NB_OP_DESTROY, NULL);
- nb_cli_enqueue_change(vty, "./local-as/no-prepend", NB_OP_MODIFY,
- "false");
- nb_cli_enqueue_change(vty, "./local-as/replace-as", NB_OP_MODIFY,
- "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ ret = peer_local_as_unset(peer);
+ return bgp_vty_return(vty, ret);
}
@@ -5066,79 +5014,65 @@ DEFUN (no_neighbor_solo,
return bgp_vty_return(vty, ret);
}
-DEFUN_YANG(neighbor_password,
- neighbor_password_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> password LINE",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Set a password\n"
- "The password\n")
+DEFUN (neighbor_password,
+ neighbor_password_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> password LINE",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Set a password\n"
+ "The password\n")
{
int idx_peer = 1;
int idx_line = 3;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ int ret;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./password", NB_OP_MODIFY,
- argv[idx_line]->arg);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ ret = peer_password_set(peer, argv[idx_line]->arg);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG(no_neighbor_password,
- no_neighbor_password_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> password [LINE]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Set a password\n"
- "The password\n")
+DEFUN (no_neighbor_password,
+ no_neighbor_password_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> password [LINE]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Set a password\n"
+ "The password\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ int ret;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./password", NB_OP_DESTROY, NULL);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ ret = peer_password_unset(peer);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG(neighbor_activate,
- neighbor_activate_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> activate",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Enable the Address Family for this Neighbor\n")
+DEFUN (neighbor_activate,
+ neighbor_activate_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> activate",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Enable the Address Family for this Neighbor\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char abs_xpath[XPATH_MAXLEN];
- char nbr_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
+ int ret;
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, nbr_xpath,
- sizeof(nbr_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(base_xpath, sizeof(base_xpath), "%s%s", VTY_CURR_XPATH,
- nbr_xpath + 1);
-
- snprintf(abs_xpath, sizeof(abs_xpath), "%s%s/enabled", VTY_CURR_XPATH,
- nbr_xpath + 1);
-
- nb_cli_enqueue_change(vty, abs_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ ret = peer_activate(peer, bgp_node_afi(vty), bgp_node_safi(vty));
+ return bgp_vty_return(vty, ret);
}
ALIAS_HIDDEN(neighbor_activate, neighbor_activate_hidden_cmd,
@@ -5146,30 +5080,25 @@ ALIAS_HIDDEN(neighbor_activate, neighbor_activate_hidden_cmd,
NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Enable the Address Family for this Neighbor\n")
-DEFUN_YANG(no_neighbor_activate,
- no_neighbor_activate_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> activate",
- NO_STR NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Enable the Address Family for this Neighbor\n")
+DEFUN (no_neighbor_activate,
+ no_neighbor_activate_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> activate",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Enable the Address Family for this Neighbor\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
+ int ret;
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ /* Lookup peer. */
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./enabled", NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ ret = peer_deactivate(peer, bgp_node_afi(vty), bgp_node_safi(vty));
+ return bgp_vty_return(vty, ret);
}
ALIAS_HIDDEN(no_neighbor_activate, no_neighbor_activate_hidden_cmd,
@@ -5177,27 +5106,63 @@ ALIAS_HIDDEN(no_neighbor_activate, no_neighbor_activate_hidden_cmd,
NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Enable the Address Family for this Neighbor\n")
-DEFUN_YANG (neighbor_set_peer_group,
- neighbor_set_peer_group_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> peer-group PGNAME",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Member of the peer-group\n"
- "Peer-group name\n")
+DEFUN (neighbor_set_peer_group,
+ neighbor_set_peer_group_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> peer-group PGNAME",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Member of the peer-group\n"
+ "Peer-group name\n")
{
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
int idx_peer = 1;
int idx_word = 3;
- char base_xpath[XPATH_MAXLEN];
+ int ret;
+ as_t as;
+ union sockunion su;
+ struct peer *peer;
+ struct peer_group *group;
+
+ ret = str2sockunion(argv[idx_peer]->arg, &su);
+ if (ret < 0) {
+ peer = peer_lookup_by_conf_if(bgp, argv[idx_peer]->arg);
+ if (!peer) {
+ vty_out(vty, "%% Malformed address or name: %s\n",
+ argv[idx_peer]->arg);
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+ } else {
+ if (peer_address_self_check(bgp, &su)) {
+ vty_out(vty,
+ "%% Can not configure the local system as neighbor\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ /* Disallow for dynamic neighbor. */
+ peer = peer_lookup(bgp, &su);
+ if (peer && peer_dynamic_neighbor(peer)) {
+ vty_out(vty,
+ "%% Operation not allowed on a dynamic neighbor\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+ }
+
+ group = peer_group_lookup(bgp, argv[idx_word]->arg);
+ if (!group) {
+ vty_out(vty, "%% Configure the peer-group first\n");
return CMD_WARNING_CONFIG_FAILED;
+ }
- nb_cli_enqueue_change(vty, "./peer-group", NB_OP_MODIFY,
- argv[idx_word]->arg);
+ ret = peer_group_bind(bgp, &su, peer, group, &as);
- return nb_cli_apply_changes(vty, base_xpath);
+ if (ret == BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT) {
+ vty_out(vty,
+ "%% Peer with AS %u cannot be in this peer-group, members must be all internal or all external\n",
+ as);
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+
+ return bgp_vty_return(vty, ret);
}
ALIAS_HIDDEN(neighbor_set_peer_group, neighbor_set_peer_group_hidden_cmd,
@@ -5206,30 +5171,39 @@ ALIAS_HIDDEN(neighbor_set_peer_group, neighbor_set_peer_group_hidden_cmd,
"Member of the peer-group\n"
"Peer-group name\n")
-DEFUN_YANG (no_neighbor_set_peer_group,
- no_neighbor_set_peer_group_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> peer-group PGNAME",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Member of the peer-group\n"
- "Peer-group name\n")
+DEFUN (no_neighbor_set_peer_group,
+ no_neighbor_set_peer_group_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> peer-group PGNAME",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Member of the peer-group\n"
+ "Peer-group name\n")
{
+ VTY_DECLVAR_CONTEXT(bgp, bgp);
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
+ int idx_word = 4;
+ int ret;
+ struct peer *peer;
+ struct peer_group *group;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
+ return CMD_WARNING_CONFIG_FAILED;
+
+ group = peer_group_lookup(bgp, argv[idx_word]->arg);
+ if (!group) {
+ vty_out(vty, "%% Configure the peer-group first\n");
return CMD_WARNING_CONFIG_FAILED;
+ }
- nb_cli_enqueue_change(vty, "./peer-group", NB_OP_DESTROY, NULL);
+ if (CHECK_FLAG(peer->flags, PEER_FLAG_CAPABILITY_ENHE))
+ bgp_zebra_terminate_radv(peer->bgp, peer);
- /*
- * Need to commit any pending so this command doesn't merge with a
- * create into a modify, which BGP can't handle
- */
- return nb_cli_apply_changes_clear_pending(vty, base_xpath);
+ peer_notify_unconfig(peer);
+ ret = peer_delete(peer);
+
+ return bgp_vty_return(vty, ret);
}
ALIAS_HIDDEN(no_neighbor_set_peer_group, no_neighbor_set_peer_group_hidden_cmd,
@@ -5281,105 +5255,55 @@ static int peer_flag_unset_vty(struct vty *vty, const char *ip_str,
return peer_flag_modify_vty(vty, ip_str, flag, 0);
}
-int peer_flag_modify_nb(struct bgp *bgp, const char *ip_str, struct peer *peer,
- uint32_t flag, bool set, char *errmsg,
- size_t errmsg_len)
-{
- int ret;
-
- /*
- * If 'neighbor <interface>', then this is for directly connected peers,
- * we should not accept disable-connected-check.
- */
- if (peer->conf_if && (flag == PEER_FLAG_DISABLE_CONNECTED_CHECK)) {
- snprintf(
- errmsg, errmsg_len,
- "%s is directly connected peer, cannot accept disable-connected-check\n",
- ip_str);
- return -1;
- }
-
- if (!set && flag == PEER_FLAG_SHUTDOWN)
- peer_tx_shutdown_message_unset(peer);
-
- if (set)
- ret = peer_flag_set(peer, flag);
- else
- ret = peer_flag_unset(peer, flag);
-
- return bgp_nb_errmsg_return(errmsg, errmsg_len, ret);
-}
-
/* neighbor passive. */
-DEFUN_YANG(neighbor_passive,
- neighbor_passive_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> passive",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Don't send open messages to this neighbor\n")
+DEFUN (neighbor_passive,
+ neighbor_passive_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> passive",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Don't send open messages to this neighbor\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./passive-mode", NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_set_vty(vty, argv[idx_peer]->arg, PEER_FLAG_PASSIVE);
}
-DEFUN_YANG(no_neighbor_passive,
- no_neighbor_passive_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> passive",
- NO_STR NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Don't send open messages to this neighbor\n")
+DEFUN (no_neighbor_passive,
+ no_neighbor_passive_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> passive",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Don't send open messages to this neighbor\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./passive-mode", NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_unset_vty(vty, argv[idx_peer]->arg, PEER_FLAG_PASSIVE);
}
/* neighbor shutdown. */
-DEFUN_YANG(neighbor_shutdown_msg,
- neighbor_shutdown_msg_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> shutdown message MSG...",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Administratively shut down this neighbor\n"
- "Add a shutdown message (RFC 8203)\n"
- "Shutdown message\n")
+DEFUN (neighbor_shutdown_msg,
+ neighbor_shutdown_msg_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> shutdown message MSG...",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Administratively shut down this neighbor\n"
+ "Add a shutdown message (RFC 8203)\n"
+ "Shutdown message\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
if (argc >= 5) {
+ struct peer *peer =
+ peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
char *message;
+ if (!peer)
+ return CMD_WARNING_CONFIG_FAILED;
message = argv_concat(argv, argc, 4);
- nb_cli_enqueue_change(vty, "./admin-shutdown/message",
- NB_OP_MODIFY, message);
+ peer_tx_shutdown_message_set(peer, message);
+ XFREE(MTYPE_TMP, message);
}
- nb_cli_enqueue_change(vty, "./admin-shutdown/enable", NB_OP_MODIFY,
- "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_set_vty(vty, argv[idx_peer]->arg, PEER_FLAG_SHUTDOWN);
}
ALIAS(neighbor_shutdown_msg, neighbor_shutdown_cmd,
@@ -5387,27 +5311,20 @@ ALIAS(neighbor_shutdown_msg, neighbor_shutdown_cmd,
NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Administratively shut down this neighbor\n")
-DEFUN_YANG(no_neighbor_shutdown_msg,
- no_neighbor_shutdown_msg_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> shutdown message MSG...",
- NO_STR NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Administratively shut down this neighbor\n"
- "Remove a shutdown message (RFC 8203)\n"
- "Shutdown message\n")
+DEFUN (no_neighbor_shutdown_msg,
+ no_neighbor_shutdown_msg_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> shutdown message MSG...",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Administratively shut down this neighbor\n"
+ "Remove a shutdown message (RFC 8203)\n"
+ "Shutdown message\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./admin-shutdown/enable", NB_OP_MODIFY,
- "false");
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_unset_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_SHUTDOWN);
}
ALIAS(no_neighbor_shutdown_msg, no_neighbor_shutdown_cmd,
@@ -5474,49 +5391,31 @@ DEFUN(no_neighbor_shutdown_rtt,
}
/* neighbor capability dynamic. */
-DEFUN_YANG (neighbor_capability_dynamic,
- neighbor_capability_dynamic_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> capability dynamic",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Advertise capability to the peer\n"
- "Advertise dynamic capability to this neighbor\n")
+DEFUN (neighbor_capability_dynamic,
+ neighbor_capability_dynamic_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> capability dynamic",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Advertise capability to the peer\n"
+ "Advertise dynamic capability to this neighbor\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./capability-options/dynamic-capability",
- NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_set_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_DYNAMIC_CAPABILITY);
}
-DEFUN_YANG (no_neighbor_capability_dynamic,
- no_neighbor_capability_dynamic_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> capability dynamic",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Advertise capability to the peer\n"
- "Advertise dynamic capability to this neighbor\n")
+DEFUN (no_neighbor_capability_dynamic,
+ no_neighbor_capability_dynamic_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> capability dynamic",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Advertise capability to the peer\n"
+ "Advertise dynamic capability to this neighbor\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./capability-options/dynamic-capability",
- NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_unset_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_DYNAMIC_CAPABILITY);
}
/* neighbor dont-capability-negotiate */
@@ -5546,65 +5445,31 @@ DEFUN (no_neighbor_dont_capability_negotiate,
}
/* neighbor capability extended next hop encoding */
-DEFUN_YANG (neighbor_capability_enhe,
- neighbor_capability_enhe_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> capability extended-nexthop",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Advertise capability to the peer\n"
- "Advertise extended next-hop capability to the peer\n")
+DEFUN (neighbor_capability_enhe,
+ neighbor_capability_enhe_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> capability extended-nexthop",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Advertise capability to the peer\n"
+ "Advertise extended next-hop capability to the peer\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(
- vty, "./capability-options/extended-nexthop-capability",
- NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_set_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_CAPABILITY_ENHE);
}
-DEFUN_YANG (no_neighbor_capability_enhe,
- no_neighbor_capability_enhe_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> capability extended-nexthop",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Advertise capability to the peer\n"
- "Advertise extended next-hop capability to the peer\n")
+DEFUN (no_neighbor_capability_enhe,
+ no_neighbor_capability_enhe_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> capability extended-nexthop",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Advertise capability to the peer\n"
+ "Advertise extended next-hop capability to the peer\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(
- vty, "./capability-options/extended-nexthop-capability",
- NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
-}
-
-int peer_af_flag_modify_nb(struct peer *peer, afi_t afi, safi_t safi,
- uint32_t flag, int set, char *errmsg,
- size_t errmsg_len)
-{
- int ret;
-
- if (set)
- ret = peer_af_flag_set(peer, afi, safi, flag);
- else
- ret = peer_af_flag_unset(peer, afi, safi, flag);
-
- return bgp_nb_errmsg_return(errmsg, errmsg_len, ret);
+ return peer_flag_unset_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_CAPABILITY_ENHE);
}
static int peer_af_flag_modify_vty(struct vty *vty, const char *peer_str,
@@ -5743,36 +5608,16 @@ ALIAS_HIDDEN(
"Capability to SEND the ORF to this neighbor\n")
/* neighbor next-hop-self. */
-DEFUN_YANG (neighbor_nexthop_self,
- neighbor_nexthop_self_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Disable the next hop calculation for this neighbor\n")
+DEFUN (neighbor_nexthop_self,
+ neighbor_nexthop_self_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Disable the next hop calculation for this neighbor\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/nexthop-self/next-hop-self",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty), PEER_FLAG_NEXTHOP_SELF);
}
ALIAS_HIDDEN(neighbor_nexthop_self, neighbor_nexthop_self_hidden_cmd,
@@ -5781,37 +5626,18 @@ ALIAS_HIDDEN(neighbor_nexthop_self, neighbor_nexthop_self_hidden_cmd,
"Disable the next hop calculation for this neighbor\n")
/* neighbor next-hop-self. */
-DEFUN_YANG(neighbor_nexthop_self_force,
- neighbor_nexthop_self_force_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self force",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Disable the next hop calculation for this neighbor\n"
- "Set the next hop to self for reflected routes\n")
+DEFUN (neighbor_nexthop_self_force,
+ neighbor_nexthop_self_force_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self force",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Disable the next hop calculation for this neighbor\n"
+ "Set the next hop to self for reflected routes\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/nexthop-self/next-hop-self-force",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_FORCE_NEXTHOP_SELF);
}
ALIAS_HIDDEN(neighbor_nexthop_self_force,
@@ -5828,36 +5654,18 @@ ALIAS_HIDDEN(neighbor_nexthop_self_force,
"Disable the next hop calculation for this neighbor\n"
"Set the next hop to self for reflected routes\n")
-DEFUN_YANG (no_neighbor_nexthop_self,
- no_neighbor_nexthop_self_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Disable the next hop calculation for this neighbor\n")
+DEFUN (no_neighbor_nexthop_self,
+ no_neighbor_nexthop_self_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Disable the next hop calculation for this neighbor\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/nexthop-self/next-hop-self",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_NEXTHOP_SELF);
}
ALIAS_HIDDEN(no_neighbor_nexthop_self, no_neighbor_nexthop_self_hidden_cmd,
@@ -5865,38 +5673,19 @@ ALIAS_HIDDEN(no_neighbor_nexthop_self, no_neighbor_nexthop_self_hidden_cmd,
NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Disable the next hop calculation for this neighbor\n")
-DEFUN_YANG (no_neighbor_nexthop_self_force,
- no_neighbor_nexthop_self_force_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self force",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Disable the next hop calculation for this neighbor\n"
- "Set the next hop to self for reflected routes\n")
+DEFUN (no_neighbor_nexthop_self_force,
+ no_neighbor_nexthop_self_force_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self force",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Disable the next hop calculation for this neighbor\n"
+ "Set the next hop to self for reflected routes\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/nexthop-self/next-hop-self-force",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_FORCE_NEXTHOP_SELF);
}
ALIAS_HIDDEN(no_neighbor_nexthop_self_force,
@@ -5914,35 +5703,16 @@ ALIAS_HIDDEN(no_neighbor_nexthop_self_force,
"Set the next hop to self for reflected routes\n")
/* neighbor as-override */
-DEFUN_YANG (neighbor_as_override,
- neighbor_as_override_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> as-override",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Override ASNs in outbound updates if aspath equals remote-as\n")
+DEFUN (neighbor_as_override,
+ neighbor_as_override_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> as-override",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Override ASNs in outbound updates if aspath equals remote-as\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/as-path-options/replace-peer-as",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty), PEER_FLAG_AS_OVERRIDE);
}
ALIAS_HIDDEN(neighbor_as_override, neighbor_as_override_hidden_cmd,
@@ -5950,36 +5720,18 @@ ALIAS_HIDDEN(neighbor_as_override, neighbor_as_override_hidden_cmd,
NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Override ASNs in outbound updates if aspath equals remote-as\n")
-DEFUN_YANG (no_neighbor_as_override,
- no_neighbor_as_override_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> as-override",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Override ASNs in outbound updates if aspath equals remote-as\n")
+DEFUN (no_neighbor_as_override,
+ no_neighbor_as_override_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> as-override",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Override ASNs in outbound updates if aspath equals remote-as\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/as-path-options/replace-peer-as",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_AS_OVERRIDE);
}
ALIAS_HIDDEN(no_neighbor_as_override, no_neighbor_as_override_hidden_cmd,
@@ -5988,35 +5740,17 @@ ALIAS_HIDDEN(no_neighbor_as_override, no_neighbor_as_override_hidden_cmd,
"Override ASNs in outbound updates if aspath equals remote-as\n")
/* neighbor remove-private-AS. */
-DEFUN_YANG (neighbor_remove_private_as,
- neighbor_remove_private_as_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n")
+DEFUN (neighbor_remove_private_as,
+ neighbor_remove_private_as_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS);
}
ALIAS_HIDDEN(neighbor_remove_private_as, neighbor_remove_private_as_hidden_cmd,
@@ -6024,37 +5758,18 @@ ALIAS_HIDDEN(neighbor_remove_private_as, neighbor_remove_private_as_hidden_cmd,
NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Remove private ASNs in outbound updates\n")
-DEFUN_YANG (neighbor_remove_private_as_all,
- neighbor_remove_private_as_all_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n"
- "Apply to all AS numbers\n")
+DEFUN (neighbor_remove_private_as_all,
+ neighbor_remove_private_as_all_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n"
+ "Apply to all AS numbers\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as-all",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS_ALL);
}
ALIAS_HIDDEN(neighbor_remove_private_as_all,
@@ -6064,37 +5779,18 @@ ALIAS_HIDDEN(neighbor_remove_private_as_all,
"Remove private ASNs in outbound updates\n"
"Apply to all AS numbers")
-DEFUN_YANG (neighbor_remove_private_as_replace_as,
- neighbor_remove_private_as_replace_as_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS replace-AS",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n"
- "Replace private ASNs with our ASN in outbound updates\n")
+DEFUN (neighbor_remove_private_as_replace_as,
+ neighbor_remove_private_as_replace_as_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS replace-AS",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n"
+ "Replace private ASNs with our ASN in outbound updates\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as-replace",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE);
}
ALIAS_HIDDEN(neighbor_remove_private_as_replace_as,
@@ -6104,38 +5800,19 @@ ALIAS_HIDDEN(neighbor_remove_private_as_replace_as,
"Remove private ASNs in outbound updates\n"
"Replace private ASNs with our ASN in outbound updates\n")
-DEFUN_YANG (neighbor_remove_private_as_all_replace_as,
- neighbor_remove_private_as_all_replace_as_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all replace-AS",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n"
- "Apply to all AS numbers\n"
- "Replace private ASNs with our ASN in outbound updates\n")
+DEFUN (neighbor_remove_private_as_all_replace_as,
+ neighbor_remove_private_as_all_replace_as_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all replace-AS",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n"
+ "Apply to all AS numbers\n"
+ "Replace private ASNs with our ASN in outbound updates\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as-all-replace",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE);
}
ALIAS_HIDDEN(
@@ -6147,36 +5824,18 @@ ALIAS_HIDDEN(
"Apply to all AS numbers\n"
"Replace private ASNs with our ASN in outbound updates\n")
-DEFUN_YANG (no_neighbor_remove_private_as,
- no_neighbor_remove_private_as_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n")
+DEFUN (no_neighbor_remove_private_as,
+ no_neighbor_remove_private_as_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS);
}
ALIAS_HIDDEN(no_neighbor_remove_private_as,
@@ -6185,38 +5844,19 @@ ALIAS_HIDDEN(no_neighbor_remove_private_as,
NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Remove private ASNs in outbound updates\n")
-DEFUN_YANG (no_neighbor_remove_private_as_all,
- no_neighbor_remove_private_as_all_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n"
- "Apply to all AS numbers\n")
+DEFUN (no_neighbor_remove_private_as_all,
+ no_neighbor_remove_private_as_all_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n"
+ "Apply to all AS numbers\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as-all",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS_ALL);
}
ALIAS_HIDDEN(no_neighbor_remove_private_as_all,
@@ -6226,38 +5866,19 @@ ALIAS_HIDDEN(no_neighbor_remove_private_as_all,
"Remove private ASNs in outbound updates\n"
"Apply to all AS numbers\n")
-DEFUN_YANG (no_neighbor_remove_private_as_replace_as,
- no_neighbor_remove_private_as_replace_as_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS replace-AS",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n"
- "Replace private ASNs with our ASN in outbound updates\n")
+DEFUN (no_neighbor_remove_private_as_replace_as,
+ no_neighbor_remove_private_as_replace_as_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS replace-AS",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n"
+ "Replace private ASNs with our ASN in outbound updates\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as-replace",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS_REPLACE);
}
ALIAS_HIDDEN(no_neighbor_remove_private_as_replace_as,
@@ -6267,39 +5888,20 @@ ALIAS_HIDDEN(no_neighbor_remove_private_as_replace_as,
"Remove private ASNs in outbound updates\n"
"Replace private ASNs with our ASN in outbound updates\n")
-DEFUN_YANG (no_neighbor_remove_private_as_all_replace_as,
- no_neighbor_remove_private_as_all_replace_as_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all replace-AS",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Remove private ASNs in outbound updates\n"
- "Apply to all AS numbers\n"
- "Replace private ASNs with our ASN in outbound updates\n")
+DEFUN (no_neighbor_remove_private_as_all_replace_as,
+ no_neighbor_remove_private_as_all_replace_as_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all replace-AS",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Remove private ASNs in outbound updates\n"
+ "Apply to all AS numbers\n"
+ "Replace private ASNs with our ASN in outbound updates\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/private-as/remove-private-as-all-replace",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_REMOVE_PRIVATE_AS_ALL_REPLACE);
}
ALIAS_HIDDEN(
@@ -6313,12 +5915,12 @@ ALIAS_HIDDEN(
/* neighbor send-community. */
-DEFUN_YANG (neighbor_send_community,
- neighbor_send_community_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> send-community",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Send Community attribute to this neighbor\n")
+DEFUN (neighbor_send_community,
+ neighbor_send_community_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> send-community",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Send Community attribute to this neighbor\n")
{
int idx_peer = 1;
@@ -6332,13 +5934,13 @@ ALIAS_HIDDEN(neighbor_send_community, neighbor_send_community_hidden_cmd,
NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Send Community attribute to this neighbor\n")
-DEFUN_YANG (no_neighbor_send_community,
- no_neighbor_send_community_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> send-community",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Send Community attribute to this neighbor\n")
+DEFUN (no_neighbor_send_community,
+ no_neighbor_send_community_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> send-community",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Send Community attribute to this neighbor\n")
{
int idx_peer = 2;
@@ -6353,95 +5955,52 @@ ALIAS_HIDDEN(no_neighbor_send_community, no_neighbor_send_community_hidden_cmd,
"Send Community attribute to this neighbor\n")
/* neighbor send-community extended. */
-DEFUN_YANG (neighbor_send_community_type,
- neighbor_send_community_type_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> send-community <both|all|extended|standard|large>",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Send Community attribute to this neighbor\n"
- "Send Standard and Extended Community attributes\n"
- "Send Standard, Large and Extended Community attributes\n"
- "Send Extended Community attributes\n"
- "Send Standard Community attributes\n"
- "Send Large Community attributes\n")
+DEFUN (neighbor_send_community_type,
+ neighbor_send_community_type_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> send-community <both|all|extended|standard|large>",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Send Community attribute to this neighbor\n"
+ "Send Standard and Extended Community attributes\n"
+ "Send Standard, Large and Extended Community attributes\n"
+ "Send Extended Community attributes\n"
+ "Send Standard Community attributes\n"
+ "Send Large Community attributes\n")
{
const char *type = argv[argc - 1]->text;
char *peer_str = argv[1]->arg;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char std_xpath[XPATH_MAXLEN];
- char ext_xpath[XPATH_MAXLEN];
- char lrg_xpath[XPATH_MAXLEN];
+ struct peer *peer;
afi_t afi = bgp_node_afi(vty);
safi_t safi = bgp_node_safi(vty);
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, peer_str, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, peer_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- if (strmatch(type, "standard")) {
- snprintf(std_xpath, sizeof(std_xpath),
- "./%s/send-community/send-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, std_xpath, NB_OP_MODIFY, "true");
- }
-
- if (strmatch(type, "extended")) {
- snprintf(ext_xpath, sizeof(ext_xpath),
- "./%s/send-community/send-ext-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, ext_xpath, NB_OP_MODIFY, "true");
- }
+ if (strmatch(type, "standard"))
+ return peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_COMMUNITY);
- if (strmatch(type, "large")) {
- snprintf(lrg_xpath, sizeof(lrg_xpath),
- "./%s/send-community/send-large-community",
- bgp_afi_safi_get_container_str(afi, safi));
+ if (strmatch(type, "extended"))
+ return peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_EXT_COMMUNITY);
- nb_cli_enqueue_change(vty, lrg_xpath, NB_OP_MODIFY, "true");
- }
+ if (strmatch(type, "large"))
+ return peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_LARGE_COMMUNITY);
if (strmatch(type, "both")) {
- snprintf(std_xpath, sizeof(std_xpath),
- "./%s/send-community/send-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, std_xpath, NB_OP_MODIFY, "true");
-
- snprintf(ext_xpath, sizeof(ext_xpath),
- "./%s/send-community/send-ext-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, ext_xpath, NB_OP_MODIFY, "true");
- }
-
- if (strmatch(type, "all")) {
- snprintf(std_xpath, sizeof(std_xpath),
- "./%s/send-community/send-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, std_xpath, NB_OP_MODIFY, "true");
-
- snprintf(ext_xpath, sizeof(ext_xpath),
- "./%s/send-community/send-ext-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, ext_xpath, NB_OP_MODIFY, "true");
-
- snprintf(lrg_xpath, sizeof(lrg_xpath),
- "./%s/send-community/send-large-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, lrg_xpath, NB_OP_MODIFY, "true");
+ return peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_COMMUNITY)
+ | peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_EXT_COMMUNITY);
}
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_COMMUNITY)
+ | peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_EXT_COMMUNITY)
+ | peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_LARGE_COMMUNITY);
}
ALIAS_HIDDEN(
@@ -6455,96 +6014,55 @@ ALIAS_HIDDEN(
"Send Standard Community attributes\n"
"Send Large Community attributes\n")
-DEFUN_YANG (no_neighbor_send_community_type,
- no_neighbor_send_community_type_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> send-community <both|all|extended|standard|large>",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Send Community attribute to this neighbor\n"
- "Send Standard and Extended Community attributes\n"
- "Send Standard, Large and Extended Community attributes\n"
- "Send Extended Community attributes\n"
- "Send Standard Community attributes\n"
- "Send Large Community attributes\n")
+DEFUN (no_neighbor_send_community_type,
+ no_neighbor_send_community_type_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> send-community <both|all|extended|standard|large>",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Send Community attribute to this neighbor\n"
+ "Send Standard and Extended Community attributes\n"
+ "Send Standard, Large and Extended Community attributes\n"
+ "Send Extended Community attributes\n"
+ "Send Standard Community attributes\n"
+ "Send Large Community attributes\n")
{
const char *type = argv[argc - 1]->text;
char *peer_str = argv[2]->arg;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char std_xpath[XPATH_MAXLEN];
- char ext_xpath[XPATH_MAXLEN];
- char lrg_xpath[XPATH_MAXLEN];
+ struct peer *peer;
afi_t afi = bgp_node_afi(vty);
safi_t safi = bgp_node_safi(vty);
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, peer_str, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, peer_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- if (strmatch(type, "standard")) {
- snprintf(std_xpath, sizeof(std_xpath),
- "./%s/send-community/send-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, std_xpath, NB_OP_MODIFY, "false");
- }
-
- if (strmatch(type, "extended")) {
- snprintf(ext_xpath, sizeof(ext_xpath),
- "./%s/send-community/send-ext-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, ext_xpath, NB_OP_MODIFY, "false");
- }
+ if (strmatch(type, "standard"))
+ return peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_COMMUNITY);
- if (strmatch(type, "large")) {
- snprintf(lrg_xpath, sizeof(lrg_xpath),
- "./%s/send-community/send-large-community",
- bgp_afi_safi_get_container_str(afi, safi));
+ if (strmatch(type, "extended"))
+ return peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_EXT_COMMUNITY);
- nb_cli_enqueue_change(vty, lrg_xpath, NB_OP_MODIFY, "false");
- }
+ if (strmatch(type, "large"))
+ return peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_LARGE_COMMUNITY);
if (strmatch(type, "both")) {
- snprintf(std_xpath, sizeof(std_xpath),
- "./%s/send-community/send-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, std_xpath, NB_OP_MODIFY, "false");
-
- snprintf(ext_xpath, sizeof(ext_xpath),
- "./%s/send-community/send-ext-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, ext_xpath, NB_OP_MODIFY, "false");
- }
-
- if (strmatch(type, "all")) {
- snprintf(std_xpath, sizeof(std_xpath),
- "./%s/send-community/send-community",
- bgp_afi_safi_get_container_str(afi, safi));
- nb_cli_enqueue_change(vty, std_xpath, NB_OP_MODIFY, "false");
-
- snprintf(ext_xpath, sizeof(ext_xpath),
- "./%s/send-community/send-ext-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, ext_xpath, NB_OP_MODIFY, "false");
-
- snprintf(lrg_xpath, sizeof(lrg_xpath),
- "./%s/send-community/send-large-community",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, lrg_xpath, NB_OP_MODIFY, "false");
+ return peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_COMMUNITY)
+ | peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_EXT_COMMUNITY);
}
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_COMMUNITY)
+ | peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_EXT_COMMUNITY)
+ | peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_SEND_LARGE_COMMUNITY);
}
ALIAS_HIDDEN(
@@ -6560,35 +6078,18 @@ ALIAS_HIDDEN(
"Send Large Community attributes\n")
/* neighbor soft-reconfig. */
-DEFUN_YANG (neighbor_soft_reconfiguration,
- neighbor_soft_reconfiguration_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> soft-reconfiguration inbound",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Per neighbor soft reconfiguration\n"
- "Allow inbound soft reconfiguration for this neighbor\n")
+DEFUN (neighbor_soft_reconfiguration,
+ neighbor_soft_reconfiguration_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> soft-reconfiguration inbound",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Per neighbor soft reconfiguration\n"
+ "Allow inbound soft reconfiguration for this neighbor\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char soft_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(soft_xpath, sizeof(soft_xpath), "./%s/soft-reconfiguration",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, soft_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_SOFT_RECONFIG);
}
ALIAS_HIDDEN(neighbor_soft_reconfiguration,
@@ -6598,34 +6099,19 @@ ALIAS_HIDDEN(neighbor_soft_reconfiguration,
"Per neighbor soft reconfiguration\n"
"Allow inbound soft reconfiguration for this neighbor\n")
-DEFUN_YANG (no_neighbor_soft_reconfiguration,
- no_neighbor_soft_reconfiguration_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> soft-reconfiguration inbound",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Per neighbor soft reconfiguration\n"
- "Allow inbound soft reconfiguration for this neighbor\n")
+DEFUN (no_neighbor_soft_reconfiguration,
+ no_neighbor_soft_reconfiguration_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> soft-reconfiguration inbound",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Per neighbor soft reconfiguration\n"
+ "Allow inbound soft reconfiguration for this neighbor\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char soft_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- snprintf(soft_xpath, sizeof(soft_xpath), "./%s/soft-reconfiguration",
- bgp_afi_safi_get_container_str(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, soft_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_SOFT_RECONFIG);
}
ALIAS_HIDDEN(no_neighbor_soft_reconfiguration,
@@ -6635,35 +6121,24 @@ ALIAS_HIDDEN(no_neighbor_soft_reconfiguration,
"Per neighbor soft reconfiguration\n"
"Allow inbound soft reconfiguration for this neighbor\n")
-DEFUN_YANG (neighbor_route_reflector_client,
- neighbor_route_reflector_client_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> route-reflector-client",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Configure a neighbor as Route Reflector client\n")
+DEFUN (neighbor_route_reflector_client,
+ neighbor_route_reflector_client_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> route-reflector-client",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Configure a neighbor as Route Reflector client\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
+ struct peer *peer;
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/route-reflector/route-reflector-client",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_REFLECTOR_CLIENT);
}
ALIAS_HIDDEN(neighbor_route_reflector_client,
@@ -6672,36 +6147,18 @@ ALIAS_HIDDEN(neighbor_route_reflector_client,
NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Configure a neighbor as Route Reflector client\n")
-DEFUN_YANG (no_neighbor_route_reflector_client,
- no_neighbor_route_reflector_client_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> route-reflector-client",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Configure a neighbor as Route Reflector client\n")
+DEFUN (no_neighbor_route_reflector_client,
+ no_neighbor_route_reflector_client_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> route-reflector-client",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Configure a neighbor as Route Reflector client\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/route-reflector/route-reflector-client",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_REFLECTOR_CLIENT);
}
ALIAS_HIDDEN(no_neighbor_route_reflector_client,
@@ -6711,35 +6168,22 @@ ALIAS_HIDDEN(no_neighbor_route_reflector_client,
"Configure a neighbor as Route Reflector client\n")
/* neighbor route-server-client. */
-DEFUN_YANG (neighbor_route_server_client,
- neighbor_route_server_client_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> route-server-client",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Configure a neighbor as Route Server client\n")
+DEFUN (neighbor_route_server_client,
+ neighbor_route_server_client_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> route-server-client",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Configure a neighbor as Route Server client\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/route-server/route-server-client",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty),
+ PEER_FLAG_RSERVER_CLIENT);
}
ALIAS_HIDDEN(neighbor_route_server_client,
@@ -6748,36 +6192,18 @@ ALIAS_HIDDEN(neighbor_route_server_client,
NEIGHBOR_STR NEIGHBOR_ADDR_STR2
"Configure a neighbor as Route Server client\n")
-DEFUN_YANG (no_neighbor_route_server_client,
- no_neighbor_route_server_client_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> route-server-client",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Configure a neighbor as Route Server client\n")
+DEFUN (no_neighbor_route_server_client,
+ no_neighbor_route_server_client_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> route-server-client",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Configure a neighbor as Route Server client\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath),
- "./%s/route-server/route-server-client",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_af_flag_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty),
+ PEER_FLAG_RSERVER_CLIENT);
}
ALIAS_HIDDEN(no_neighbor_route_server_client,
@@ -6815,35 +6241,28 @@ DEFUN (no_neighbor_nexthop_local_unchanged,
PEER_FLAG_NEXTHOP_LOCAL_UNCHANGED);
}
-DEFUN_YANG (neighbor_attr_unchanged,
- neighbor_attr_unchanged_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "BGP attribute is propagated unchanged to this neighbor\n"
- "As-path attribute\n"
- "Nexthop attribute\n"
- "Med attribute\n")
+DEFUN (neighbor_attr_unchanged,
+ neighbor_attr_unchanged_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "BGP attribute is propagated unchanged to this neighbor\n"
+ "As-path attribute\n"
+ "Nexthop attribute\n"
+ "Med attribute\n")
{
int idx = 0;
char *peer_str = argv[1]->arg;
+ struct peer *peer;
bool aspath = false;
bool nexthop = false;
bool med = false;
afi_t afi = bgp_node_afi(vty);
safi_t safi = bgp_node_safi(vty);
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char as_xpath[XPATH_MAXLEN];
- char nxthop_xpath[XPATH_MAXLEN];
- char med_xpath[XPATH_MAXLEN];
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
+ int ret = 0;
- if (peer_and_group_lookup_nb(vty, peer_str, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, peer_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
if (argv_find(argv, argc, "as-path", &idx))
@@ -6857,45 +6276,52 @@ DEFUN_YANG (neighbor_attr_unchanged,
if (argv_find(argv, argc, "med", &idx))
med = true;
- snprintf(as_xpath, sizeof(as_xpath),
- "./%s/attr-unchanged/as-path-unchanged",
- bgp_afi_safi_get_container_str(afi, safi));
- snprintf(nxthop_xpath, sizeof(nxthop_xpath),
- "./%s/attr-unchanged/next-hop-unchanged",
- bgp_afi_safi_get_container_str(afi, safi));
- snprintf(med_xpath, sizeof(med_xpath),
- "./%s/attr-unchanged/med-unchanged",
- bgp_afi_safi_get_container_str(afi, safi));
-
/* no flags means all of them! */
if (!aspath && !nexthop && !med) {
- nb_cli_enqueue_change(vty, as_xpath, NB_OP_MODIFY, "true");
- nb_cli_enqueue_change(vty, nxthop_xpath, NB_OP_MODIFY, "true");
- nb_cli_enqueue_change(vty, med_xpath, NB_OP_MODIFY, "true");
+ ret = peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_AS_PATH_UNCHANGED);
+ ret |= peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_NEXTHOP_UNCHANGED);
+ ret |= peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_MED_UNCHANGED);
} else {
- if (!aspath)
- nb_cli_enqueue_change(vty, as_xpath, NB_OP_MODIFY,
- "false");
- else
- nb_cli_enqueue_change(vty, as_xpath, NB_OP_MODIFY,
- "true");
-
- if (!nexthop)
- nb_cli_enqueue_change(vty, nxthop_xpath, NB_OP_MODIFY,
- "false");
- else
- nb_cli_enqueue_change(vty, nxthop_xpath, NB_OP_MODIFY,
- "true");
+ if (!aspath) {
+ if (peer_af_flag_check(peer, afi, safi,
+ PEER_FLAG_AS_PATH_UNCHANGED)) {
+ ret |= peer_af_flag_unset_vty(
+ vty, peer_str, afi, safi,
+ PEER_FLAG_AS_PATH_UNCHANGED);
+ }
+ } else
+ ret |= peer_af_flag_set_vty(
+ vty, peer_str, afi, safi,
+ PEER_FLAG_AS_PATH_UNCHANGED);
+
+ if (!nexthop) {
+ if (peer_af_flag_check(peer, afi, safi,
+ PEER_FLAG_NEXTHOP_UNCHANGED)) {
+ ret |= peer_af_flag_unset_vty(
+ vty, peer_str, afi, safi,
+ PEER_FLAG_NEXTHOP_UNCHANGED);
+ }
+ } else
+ ret |= peer_af_flag_set_vty(
+ vty, peer_str, afi, safi,
+ PEER_FLAG_NEXTHOP_UNCHANGED);
- if (!med)
- nb_cli_enqueue_change(vty, med_xpath, NB_OP_MODIFY,
- "false");
- else
- nb_cli_enqueue_change(vty, med_xpath, NB_OP_MODIFY,
- "true");
+ if (!med) {
+ if (peer_af_flag_check(peer, afi, safi,
+ PEER_FLAG_MED_UNCHANGED)) {
+ ret |= peer_af_flag_unset_vty(
+ vty, peer_str, afi, safi,
+ PEER_FLAG_MED_UNCHANGED);
+ }
+ } else
+ ret |= peer_af_flag_set_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_MED_UNCHANGED);
}
- return nb_cli_apply_changes(vty, base_xpath);
+ return ret;
}
ALIAS_HIDDEN(
@@ -6907,36 +6333,29 @@ ALIAS_HIDDEN(
"Nexthop attribute\n"
"Med attribute\n")
-DEFUN_YANG (no_neighbor_attr_unchanged,
- no_neighbor_attr_unchanged_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
- NO_STR
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "BGP attribute is propagated unchanged to this neighbor\n"
- "As-path attribute\n"
- "Nexthop attribute\n"
- "Med attribute\n")
+DEFUN (no_neighbor_attr_unchanged,
+ no_neighbor_attr_unchanged_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "BGP attribute is propagated unchanged to this neighbor\n"
+ "As-path attribute\n"
+ "Nexthop attribute\n"
+ "Med attribute\n")
{
int idx = 0;
char *peer_str = argv[2]->arg;
+ struct peer *peer;
bool aspath = false;
bool nexthop = false;
bool med = false;
afi_t afi = bgp_node_afi(vty);
safi_t safi = bgp_node_safi(vty);
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char as_xpath[XPATH_MAXLEN];
- char nxthop_xpath[XPATH_MAXLEN];
- char med_xpath[XPATH_MAXLEN];
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
+ int ret = 0;
- if (peer_and_group_lookup_nb(vty, peer_str, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, peer_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
if (argv_find(argv, argc, "as-path", &idx))
@@ -6950,33 +6369,27 @@ DEFUN_YANG (no_neighbor_attr_unchanged,
if (argv_find(argv, argc, "med", &idx))
med = true;
- snprintf(as_xpath, sizeof(as_xpath),
- "./%s/attr-unchanged/as-path-unchanged",
- bgp_afi_safi_get_container_str(afi, safi));
- snprintf(nxthop_xpath, sizeof(nxthop_xpath),
- "./%s/attr-unchanged/next-hop-unchanged",
- bgp_afi_safi_get_container_str(afi, safi));
- snprintf(med_xpath, sizeof(med_xpath),
- "./%s/attr-unchanged/med-unchanged",
- bgp_afi_safi_get_container_str(afi, safi));
-
- /* no flags means all of them! */
- if (!aspath && !nexthop && !med) {
- nb_cli_enqueue_change(vty, as_xpath, NB_OP_MODIFY, "false");
- nb_cli_enqueue_change(vty, nxthop_xpath, NB_OP_MODIFY, "false");
- nb_cli_enqueue_change(vty, med_xpath, NB_OP_MODIFY, "false");
- }
+ if (!aspath && !nexthop && !med) // no flags means all of them!
+ return peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_AS_PATH_UNCHANGED)
+ | peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_NEXTHOP_UNCHANGED)
+ | peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_MED_UNCHANGED);
if (aspath)
- nb_cli_enqueue_change(vty, as_xpath, NB_OP_MODIFY, "false");
+ ret |= peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_AS_PATH_UNCHANGED);
if (nexthop)
- nb_cli_enqueue_change(vty, nxthop_xpath, NB_OP_MODIFY, "false");
+ ret |= peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_NEXTHOP_UNCHANGED);
if (med)
- nb_cli_enqueue_change(vty, med_xpath, NB_OP_MODIFY, "false");
+ ret |= peer_af_flag_unset_vty(vty, peer_str, afi, safi,
+ PEER_FLAG_MED_UNCHANGED);
- return nb_cli_apply_changes(vty, base_xpath);
+ return ret;
}
ALIAS_HIDDEN(
@@ -6988,257 +6401,181 @@ ALIAS_HIDDEN(
"Nexthop attribute\n"
"Med attribute\n")
-/* neighbor ebgp-multihop. */
-DEFUN_YANG (neighbor_ebgp_multihop,
- neighbor_ebgp_multihop_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Allow EBGP neighbors not on directly connected networks\n")
+/* EBGP multihop configuration. */
+static int peer_ebgp_multihop_set_vty(struct vty *vty, const char *ip_str,
+ const char *ttl_str)
{
- int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ unsigned int ttl;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./ebgp-multihop/enabled", NB_OP_MODIFY,
- "true");
+ if (peer->conf_if)
+ return bgp_vty_return(vty, BGP_ERR_INVALID_FOR_DIRECT_PEER);
- return nb_cli_apply_changes(vty, base_xpath);
+ if (!ttl_str)
+ ttl = MAXTTL;
+ else
+ ttl = strtoul(ttl_str, NULL, 10);
+
+ return bgp_vty_return(vty, peer_ebgp_multihop_set(peer, ttl));
}
-DEFUN_YANG (neighbor_ebgp_multihop_ttl,
- neighbor_ebgp_multihop_ttl_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop (1-255)",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Allow EBGP neighbors not on directly connected networks\n"
- "maximum hop count\n")
+static int peer_ebgp_multihop_unset_vty(struct vty *vty, const char *ip_str)
{
- int idx_peer = 1;
- int idx_number = 3;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./ebgp-multihop/multihop-ttl", NB_OP_MODIFY,
- argv[idx_number]->arg);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return bgp_vty_return(vty, peer_ebgp_multihop_unset(peer));
}
-DEFUN_YANG (no_neighbor_ebgp_multihop,
- no_neighbor_ebgp_multihop_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop [(1-255)]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Allow EBGP neighbors not on directly connected networks\n"
- "maximum hop count\n")
+/* neighbor ebgp-multihop. */
+DEFUN (neighbor_ebgp_multihop,
+ neighbor_ebgp_multihop_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Allow EBGP neighbors not on directly connected networks\n")
{
- int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
+ int idx_peer = 1;
+ return peer_ebgp_multihop_set_vty(vty, argv[idx_peer]->arg, NULL);
+}
- if (argc > 4)
- nb_cli_enqueue_change(vty, "./ebgp-multihop/multihop-ttl",
- NB_OP_DESTROY, NULL);
- else
- nb_cli_enqueue_change(vty, "./ebgp-multihop/enabled",
- NB_OP_MODIFY, "false");
+DEFUN (neighbor_ebgp_multihop_ttl,
+ neighbor_ebgp_multihop_ttl_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop (1-255)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Allow EBGP neighbors not on directly connected networks\n"
+ "maximum hop count\n")
+{
+ int idx_peer = 1;
+ int idx_number = 3;
+ return peer_ebgp_multihop_set_vty(vty, argv[idx_peer]->arg,
+ argv[idx_number]->arg);
+}
- return nb_cli_apply_changes(vty, base_xpath);
+DEFUN (no_neighbor_ebgp_multihop,
+ no_neighbor_ebgp_multihop_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop [(1-255)]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Allow EBGP neighbors not on directly connected networks\n"
+ "maximum hop count\n")
+{
+ int idx_peer = 2;
+ return peer_ebgp_multihop_unset_vty(vty, argv[idx_peer]->arg);
}
/* disable-connected-check */
-DEFUN_YANG (neighbor_disable_connected_check,
- neighbor_disable_connected_check_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> <disable-connected-check|enforce-multihop>",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "one-hop away EBGP peer using loopback address\n"
- "Enforce EBGP neighbors perform multihop\n")
+DEFUN (neighbor_disable_connected_check,
+ neighbor_disable_connected_check_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> <disable-connected-check|enforce-multihop>",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "one-hop away EBGP peer using loopback address\n"
+ "Enforce EBGP neighbors perform multihop\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./ebgp-multihop/disable-connected-check",
- NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_set_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_DISABLE_CONNECTED_CHECK);
}
-DEFUN_YANG (no_neighbor_disable_connected_check,
- no_neighbor_disable_connected_check_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> <disable-connected-check|enforce-multihop>",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "one-hop away EBGP peer using loopback address\n"
- "Enforce EBGP neighbors perform multihop\n")
+DEFUN (no_neighbor_disable_connected_check,
+ no_neighbor_disable_connected_check_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> <disable-connected-check|enforce-multihop>",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "one-hop away EBGP peer using loopback address\n"
+ "Enforce EBGP neighbors perform multihop\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./ebgp-multihop/disable-connected-check",
- NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_unset_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_DISABLE_CONNECTED_CHECK);
}
/* enforce-first-as */
-DEFUN_YANG (neighbor_enforce_first_as,
- neighbor_enforce_first_as_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> enforce-first-as",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Enforce the first AS for EBGP routes\n")
+DEFUN (neighbor_enforce_first_as,
+ neighbor_enforce_first_as_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> enforce-first-as",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Enforce the first AS for EBGP routes\n")
{
int idx_peer = 1;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./enforce-first-as", NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_set_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_ENFORCE_FIRST_AS);
}
-DEFUN_YANG (no_neighbor_enforce_first_as,
- no_neighbor_enforce_first_as_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> enforce-first-as",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Enforce the first AS for EBGP routes\n")
+DEFUN (no_neighbor_enforce_first_as,
+ no_neighbor_enforce_first_as_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> enforce-first-as",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Enforce the first AS for EBGP routes\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./enforce-first-as", NB_OP_MODIFY, "false");
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_flag_unset_vty(vty, argv[idx_peer]->arg,
+ PEER_FLAG_ENFORCE_FIRST_AS);
}
-static int peer_and_group_lookup_nb(struct vty *vty, const char *peer_str,
- char *base_xpath, int xpath_len,
- char *xpath)
-{
- union sockunion su;
- char num_xpath[XPATH_MAXLEN];
- char unnbr_xpath[XPATH_MAXLEN];
- char prgrp_xpath[XPATH_MAXLEN];
-
- if (str2sockunion(peer_str, &su) == 0) {
- snprintf(num_xpath, sizeof(num_xpath),
- "/neighbors/neighbor[remote-address='%s']", peer_str);
- if (yang_dnode_existsf(vty->candidate_config->dnode, "%s%s",
- VTY_CURR_XPATH, num_xpath)) {
- snprintf(base_xpath, xpath_len,
- FRR_BGP_NEIGHBOR_NUM_XPATH, peer_str,
- xpath ? xpath : "");
- } else {
- vty_out(vty,
- "%% Specify remote-as or peer-group commands first\n");
- return -1;
- }
- } else {
- snprintf(unnbr_xpath, sizeof(unnbr_xpath),
- "/neighbors/unnumbered-neighbor[interface='%s']",
- peer_str);
-
- snprintf(prgrp_xpath, sizeof(prgrp_xpath),
- "/peer-groups/peer-group[peer-group-name='%s']",
- peer_str);
-
- if (yang_dnode_existsf(vty->candidate_config->dnode, "%s%s",
- VTY_CURR_XPATH, unnbr_xpath)) {
- snprintf(base_xpath, xpath_len,
- FRR_BGP_NEIGHBOR_UNNUM_XPATH, peer_str,
- xpath ? xpath : "");
- } else if (yang_dnode_existsf(vty->candidate_config->dnode,
- "%s%s", VTY_CURR_XPATH,
- prgrp_xpath)) {
- snprintf(base_xpath, xpath_len,
- FRR_BGP_PEER_GROUP_XPATH, peer_str,
- xpath ? xpath : "");
- } else {
- vty_out(vty,
- "%% Create the peer-group or interface first\n");
- return -1;
- }
- }
-
- return 0;
-}
-
-DEFUN_YANG (neighbor_description,
- neighbor_description_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> description LINE...",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Neighbor specific description\n"
- "Up to 80 characters describing this neighbor\n")
+DEFUN (neighbor_description,
+ neighbor_description_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> description LINE...",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Neighbor specific description\n"
+ "Up to 80 characters describing this neighbor\n")
{
int idx_peer = 1;
int idx_line = 3;
- int ret;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
char *str;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
str = argv_concat(argv, argc, idx_line);
- nb_cli_enqueue_change(vty, "./description", NB_OP_MODIFY, str);
-
- ret = nb_cli_apply_changes(vty, base_xpath);
+ peer_description_set(peer, str);
XFREE(MTYPE_TMP, str);
- return ret;
+ return CMD_SUCCESS;
}
-DEFUN_YANG (no_neighbor_description,
- no_neighbor_description_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> description",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Neighbor specific description\n")
+DEFUN (no_neighbor_description,
+ no_neighbor_description_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> description",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Neighbor specific description\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./description", NB_OP_DESTROY, NULL);
+ peer_description_unset(peer);
- return nb_cli_apply_changes(vty, base_xpath);
+ return CMD_SUCCESS;
}
ALIAS(no_neighbor_description, no_neighbor_description_comment_cmd,
@@ -7247,73 +6584,68 @@ ALIAS(no_neighbor_description, no_neighbor_description_comment_cmd,
"Neighbor specific description\n"
"Up to 80 characters describing this neighbor\n")
+/* Neighbor update-source. */
+static int peer_update_source_vty(struct vty *vty, const char *peer_str,
+ const char *source_str)
+{
+ struct peer *peer;
+ struct prefix p;
+ union sockunion su;
+
+ peer = peer_and_group_lookup_vty(vty, peer_str);
+ if (!peer)
+ return CMD_WARNING_CONFIG_FAILED;
+
+ if (peer->conf_if)
+ return CMD_WARNING;
+
+ if (source_str) {
+ if (str2sockunion(source_str, &su) == 0)
+ peer_update_source_addr_set(peer, &su);
+ else {
+ if (str2prefix(source_str, &p)) {
+ vty_out(vty,
+ "%% Invalid update-source, remove prefix length \n");
+ return CMD_WARNING_CONFIG_FAILED;
+ } else
+ peer_update_source_if_set(peer, source_str);
+ }
+ } else
+ peer_update_source_unset(peer);
+
+ return CMD_SUCCESS;
+}
+
#define BGP_UPDATE_SOURCE_HELP_STR \
"IPv4 address\n" \
"IPv6 address\n" \
"Interface name (requires zebra to be running)\n"
-DEFUN_YANG (neighbor_update_source,
- neighbor_update_source_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> update-source <A.B.C.D|X:X::X:X|WORD>",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Source of routing updates\n"
- BGP_UPDATE_SOURCE_HELP_STR)
+DEFUN (neighbor_update_source,
+ neighbor_update_source_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> update-source <A.B.C.D|X:X::X:X|WORD>",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Source of routing updates\n"
+ BGP_UPDATE_SOURCE_HELP_STR)
{
int idx_peer = 1;
int idx_peer_2 = 3;
- union sockunion su;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- // NOTE: Check source_str prefix address
- if (str2sockunion(argv[idx_peer_2]->arg, &su) == 0)
- nb_cli_enqueue_change(vty, "./update-source/ip", NB_OP_MODIFY,
+ return peer_update_source_vty(vty, argv[idx_peer]->arg,
argv[idx_peer_2]->arg);
- else
- nb_cli_enqueue_change(vty, "./update-source/interface",
- NB_OP_MODIFY, argv[idx_peer_2]->arg);
-
- return nb_cli_apply_changes(vty, base_xpath);
}
-DEFUN_YANG (no_neighbor_update_source,
- no_neighbor_update_source_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> update-source [<A.B.C.D|X:X::X:X|WORD>]",
- NO_STR NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "Source of routing updates\n"
- BGP_UPDATE_SOURCE_HELP_STR)
+DEFUN (no_neighbor_update_source,
+ no_neighbor_update_source_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> update-source [<A.B.C.D|X:X::X:X|WORD>]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Source of routing updates\n"
+ BGP_UPDATE_SOURCE_HELP_STR)
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char abs_xpath_ip[XPATH_MAXLEN];
- char abs_xpath_intf[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(abs_xpath_ip, sizeof(abs_xpath_ip), "%s%s/update-source/ip",
- VTY_CURR_XPATH, base_xpath + 1);
- snprintf(abs_xpath_intf, sizeof(abs_xpath_intf),
- "%s%s/update-source/interface", VTY_CURR_XPATH,
- base_xpath + 1);
-
- if (yang_dnode_exists(vty->candidate_config->dnode, abs_xpath_ip)) {
- nb_cli_enqueue_change(vty, "./update-source/ip", NB_OP_DESTROY,
- NULL);
- } else if (yang_dnode_exists(vty->candidate_config->dnode,
- abs_xpath_intf)) {
- nb_cli_enqueue_change(vty, "./update-source/interface",
- NB_OP_DESTROY, NULL);
- }
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_update_source_vty(vty, argv[idx_peer]->arg, NULL);
}
static int peer_default_originate_set_vty(struct vty *vty, const char *peer_str,
@@ -7408,76 +6740,103 @@ ALIAS_HIDDEN(
"route-map name\n")
-/* Set specified peer's BGP port. */
-DEFUN_YANG (neighbor_port,
- neighbor_port_cmd,
- "neighbor <A.B.C.D|X:X::X:X> port (0-65535)",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR
- "Neighbor's BGP port\n"
- "TCP port number\n")
+/* Set neighbor's BGP port. */
+static int peer_port_vty(struct vty *vty, const char *ip_str, int afi,
+ const char *port_str)
{
- int idx_ip = 1;
- int idx_number = 3;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ uint16_t port;
+ struct servent *sp;
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_NUM_XPATH,
- argv[idx_ip]->arg, "");
+ peer = peer_lookup_vty(vty, ip_str);
+ if (!peer)
+ return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./local-port", NB_OP_MODIFY,
- argv[idx_number]->arg);
+ if (!port_str) {
+ sp = getservbyname("bgp", "tcp");
+ port = (sp == NULL) ? BGP_PORT_DEFAULT : ntohs(sp->s_port);
+ } else {
+ port = strtoul(port_str, NULL, 10);
+ }
- return nb_cli_apply_changes(vty, base_xpath);
+ peer_port_set(peer, port);
+
+ return CMD_SUCCESS;
}
-DEFUN_YANG (no_neighbor_port,
- no_neighbor_port_cmd,
- "no neighbor <A.B.C.D|X:X::X:X> port [(0-65535)]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR
- "Neighbor's BGP port\n"
- "TCP port number\n")
+/* Set specified peer's BGP port. */
+DEFUN (neighbor_port,
+ neighbor_port_cmd,
+ "neighbor <A.B.C.D|X:X::X:X> port (0-65535)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR
+ "Neighbor's BGP port\n"
+ "TCP port number\n")
+{
+ int idx_ip = 1;
+ int idx_number = 3;
+ return peer_port_vty(vty, argv[idx_ip]->arg, AFI_IP,
+ argv[idx_number]->arg);
+}
+
+DEFUN (no_neighbor_port,
+ no_neighbor_port_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X> port [(0-65535)]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR
+ "Neighbor's BGP port\n"
+ "TCP port number\n")
{
int idx_ip = 2;
- char base_xpath[XPATH_MAXLEN];
+ return peer_port_vty(vty, argv[idx_ip]->arg, AFI_IP, NULL);
+}
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_NUM_XPATH,
- argv[idx_ip]->arg, "");
- nb_cli_enqueue_change(vty, "./local-port", NB_OP_DESTROY, NULL);
+/* neighbor weight. */
+static int peer_weight_set_vty(struct vty *vty, const char *ip_str, afi_t afi,
+ safi_t safi, const char *weight_str)
+{
+ int ret;
+ struct peer *peer;
+ unsigned long weight;
- return nb_cli_apply_changes(vty, base_xpath);
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
+ return CMD_WARNING_CONFIG_FAILED;
+
+ weight = strtoul(weight_str, NULL, 10);
+
+ ret = peer_weight_set(peer, afi, safi, weight);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG (neighbor_weight,
- neighbor_weight_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> weight (0-65535)",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Set default weight for routes from this neighbor\n"
- "default weight\n")
+static int peer_weight_unset_vty(struct vty *vty, const char *ip_str, afi_t afi,
+ safi_t safi)
{
- int idx_peer = 1;
- int idx_number = 3;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
+ int ret;
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(attr_xpath, sizeof(attr_xpath), "./%s/weight/weight-attribute",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_MODIFY,
- argv[idx_number]->arg);
+ ret = peer_weight_unset(peer, afi, safi);
+ return bgp_vty_return(vty, ret);
+}
- return nb_cli_apply_changes(vty, base_xpath);
+DEFUN (neighbor_weight,
+ neighbor_weight_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> weight (0-65535)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Set default weight for routes from this neighbor\n"
+ "default weight\n")
+{
+ int idx_peer = 1;
+ int idx_number = 3;
+ return peer_weight_set_vty(vty, argv[idx_peer]->arg, bgp_node_afi(vty),
+ bgp_node_safi(vty), argv[idx_number]->arg);
}
ALIAS_HIDDEN(neighbor_weight, neighbor_weight_hidden_cmd,
@@ -7486,34 +6845,18 @@ ALIAS_HIDDEN(neighbor_weight, neighbor_weight_hidden_cmd,
"Set default weight for routes from this neighbor\n"
"default weight\n")
-DEFUN_YANG (no_neighbor_weight,
- no_neighbor_weight_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> weight [(0-65535)]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Set default weight for routes from this neighbor\n"
- "default weight\n")
+DEFUN (no_neighbor_weight,
+ no_neighbor_weight_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> weight [(0-65535)]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Set default weight for routes from this neighbor\n"
+ "default weight\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
- char af_xpath[XPATH_MAXLEN];
- char attr_xpath[XPATH_MAXLEN];
- afi_t afi = bgp_node_afi(vty);
- safi_t safi = bgp_node_safi(vty);
-
- snprintf(af_xpath, sizeof(af_xpath), FRR_BGP_AF_XPATH,
- yang_afi_safi_value2identity(afi, safi));
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), af_xpath)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(attr_xpath, sizeof(attr_xpath), "./%s/weight/weight-attribute",
- bgp_afi_safi_get_container_str(afi, safi));
-
- nb_cli_enqueue_change(vty, attr_xpath, NB_OP_DESTROY, NULL);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return peer_weight_unset_vty(vty, argv[idx_peer]->arg,
+ bgp_node_afi(vty), bgp_node_safi(vty));
}
ALIAS_HIDDEN(no_neighbor_weight, no_neighbor_weight_hidden_cmd,
@@ -7576,99 +6919,131 @@ DEFUN (no_neighbor_strict_capability,
PEER_FLAG_STRICT_CAP_MATCH);
}
-DEFUN_YANG (neighbor_timers,
- neighbor_timers_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> timers (0-65535) (0-65535)",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "BGP per neighbor timers\n"
- "Keepalive interval\n"
- "Holdtime\n")
+static int peer_timers_set_vty(struct vty *vty, const char *ip_str,
+ const char *keep_str, const char *hold_str)
{
- int idx_peer = 1;
- int idx_number = 3;
- int idx_number_2 = 4;
- char base_xpath[XPATH_MAXLEN];
+ int ret;
+ struct peer *peer;
+ uint32_t keepalive;
+ uint32_t holdtime;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./timers/keepalive", NB_OP_MODIFY,
- argv[idx_number]->arg);
+ keepalive = strtoul(keep_str, NULL, 10);
+ holdtime = strtoul(hold_str, NULL, 10);
- nb_cli_enqueue_change(vty, "./timers/hold-time", NB_OP_MODIFY,
- argv[idx_number_2]->arg);
+ ret = peer_timers_set(peer, keepalive, holdtime);
- return nb_cli_apply_changes(vty, base_xpath);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG (no_neighbor_timers,
- no_neighbor_timers_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> timers [(0-65535) (0-65535)]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "BGP per neighbor timers\n"
- "Keepalive interval\n"
- "Holdtime\n")
+static int peer_timers_unset_vty(struct vty *vty, const char *ip_str)
{
- int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
+ int ret;
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./timers/hold-time", NB_OP_DESTROY, NULL);
-
- nb_cli_enqueue_change(vty, "./timers/keepalive", NB_OP_DESTROY, NULL);
+ ret = peer_timers_unset(peer);
- return nb_cli_apply_changes(vty, base_xpath);
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG (neighbor_timers_connect,
- neighbor_timers_connect_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> timers connect (1-65535)",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "BGP per neighbor timers\n"
- "BGP connect timer\n"
- "Connect timer\n")
+DEFUN (neighbor_timers,
+ neighbor_timers_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> timers (0-65535) (0-65535)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "BGP per neighbor timers\n"
+ "Keepalive interval\n"
+ "Holdtime\n")
{
int idx_peer = 1;
- int idx_number = 4;
- char base_xpath[XPATH_MAXLEN];
+ int idx_number = 3;
+ int idx_number_2 = 4;
+ return peer_timers_set_vty(vty, argv[idx_peer]->arg,
+ argv[idx_number]->arg,
+ argv[idx_number_2]->arg);
+}
+
+DEFUN (no_neighbor_timers,
+ no_neighbor_timers_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> timers [(0-65535) (0-65535)]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "BGP per neighbor timers\n"
+ "Keepalive interval\n"
+ "Holdtime\n")
+{
+ int idx_peer = 2;
+ return peer_timers_unset_vty(vty, argv[idx_peer]->arg);
+}
+
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+static int peer_timers_connect_set_vty(struct vty *vty, const char *ip_str,
+ const char *time_str)
+{
+ int ret;
+ struct peer *peer;
+ uint32_t connect;
+
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./timers/connect-time", NB_OP_MODIFY,
- argv[idx_number]->arg);
+ connect = strtoul(time_str, NULL, 10);
- return nb_cli_apply_changes(vty, base_xpath);
+ ret = peer_timers_connect_set(peer, connect);
+
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG (no_neighbor_timers_connect,
- no_neighbor_timers_connect_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> timers connect [(1-65535)]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "BGP per neighbor timers\n"
- "BGP connect timer\n"
- "Connect timer\n")
+static int peer_timers_connect_unset_vty(struct vty *vty, const char *ip_str)
{
- int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
+ int ret;
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./timers/connect-time", NB_OP_DESTROY,
- NULL);
+ ret = peer_timers_connect_unset(peer);
- return nb_cli_apply_changes(vty, base_xpath);
+ return bgp_vty_return(vty, ret);
+}
+
+DEFUN (neighbor_timers_connect,
+ neighbor_timers_connect_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> timers connect (1-65535)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "BGP per neighbor timers\n"
+ "BGP connect timer\n"
+ "Connect timer\n")
+{
+ int idx_peer = 1;
+ int idx_number = 4;
+ return peer_timers_connect_set_vty(vty, argv[idx_peer]->arg,
+ argv[idx_number]->arg);
+}
+
+DEFUN (no_neighbor_timers_connect,
+ no_neighbor_timers_connect_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> timers connect [(1-65535)]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "BGP per neighbor timers\n"
+ "BGP connect timer\n"
+ "Connect timer\n")
+{
+ int idx_peer = 2;
+ return peer_timers_connect_unset_vty(vty, argv[idx_peer]->arg);
}
DEFPY (neighbor_timers_delayopen,
@@ -7719,47 +7094,53 @@ DEFPY (no_neighbor_timers_delayopen,
return CMD_SUCCESS;
}
-DEFUN_YANG (neighbor_advertise_interval,
- neighbor_advertise_interval_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> advertisement-interval (0-600)",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Minimum interval between sending BGP routing updates\n"
- "time in seconds\n")
+static int peer_advertise_interval_vty(struct vty *vty, const char *ip_str,
+ const char *time_str, int set)
{
- int idx_peer = 1;
- int idx_number = 3;
- char base_xpath[XPATH_MAXLEN];
+ int ret;
+ struct peer *peer;
+ uint32_t routeadv = 0;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, ip_str);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./timers/advertise-interval", NB_OP_MODIFY,
- argv[idx_number]->arg);
+ if (time_str)
+ routeadv = strtoul(time_str, NULL, 10);
- return nb_cli_apply_changes(vty, base_xpath);
+ if (set)
+ ret = peer_advertise_interval_set(peer, routeadv);
+ else
+ ret = peer_advertise_interval_unset(peer);
+
+ return bgp_vty_return(vty, ret);
}
-DEFUN_YANG (no_neighbor_advertise_interval,
- no_neighbor_advertise_interval_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> advertisement-interval [(0-600)]",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Minimum interval between sending BGP routing updates\n"
- "time in seconds\n")
+DEFUN (neighbor_advertise_interval,
+ neighbor_advertise_interval_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> advertisement-interval (0-600)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Minimum interval between sending BGP routing updates\n"
+ "time in seconds\n")
{
- int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
- return CMD_WARNING_CONFIG_FAILED;
-
- nb_cli_enqueue_change(vty, "./timers/advertise-interval", NB_OP_DESTROY,
- NULL);
+ int idx_peer = 1;
+ int idx_number = 3;
+ return peer_advertise_interval_vty(vty, argv[idx_peer]->arg,
+ argv[idx_number]->arg, 1);
+}
- return nb_cli_apply_changes(vty, base_xpath);
+DEFUN (no_neighbor_advertise_interval,
+ no_neighbor_advertise_interval_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> advertisement-interval [(0-600)]",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Minimum interval between sending BGP routing updates\n"
+ "time in seconds\n")
+{
+ int idx_peer = 2;
+ return peer_advertise_interval_vty(vty, argv[idx_peer]->arg, NULL, 0);
}
@@ -7811,42 +7192,50 @@ DEFUN (no_bgp_set_route_map_delay_timer,
return CMD_SUCCESS;
}
-DEFUN_YANG (neighbor_interface,
- neighbor_interface_cmd,
- "neighbor <A.B.C.D|X:X::X:X> interface WORD",
- NEIGHBOR_STR NEIGHBOR_ADDR_STR
- "Interface\n"
- "Interface name\n")
+/* neighbor interface */
+static int peer_interface_vty(struct vty *vty, const char *ip_str,
+ const char *str)
{
- int idx_ip = 1;
- int idx_word = 3;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_NUM_XPATH,
- argv[idx_ip]->arg, "");
+ peer = peer_lookup_vty(vty, ip_str);
+ if (!peer || peer->conf_if) {
+ vty_out(vty, "%% BGP invalid peer %s\n", ip_str);
+ return CMD_WARNING_CONFIG_FAILED;
+ }
- nb_cli_enqueue_change(vty, "./local-interface", NB_OP_MODIFY,
- argv[idx_word]->arg);
+ if (str)
+ peer_interface_set(peer, str);
+ else
+ peer_interface_unset(peer);
- return nb_cli_apply_changes(vty, base_xpath);
+ return CMD_SUCCESS;
}
-DEFUN_YANG (no_neighbor_interface,
- no_neighbor_interface_cmd,
- "no neighbor <A.B.C.D|X:X::X:X|WORD> interface WORD",
- NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
- "Interface\n"
- "Interface name\n")
+DEFUN (neighbor_interface,
+ neighbor_interface_cmd,
+ "neighbor <A.B.C.D|X:X::X:X> interface WORD",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR
+ "Interface\n"
+ "Interface name\n")
{
- int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
-
- snprintf(base_xpath, sizeof(base_xpath), FRR_BGP_NEIGHBOR_NUM_XPATH,
- argv[idx_peer]->arg, "");
-
- nb_cli_enqueue_change(vty, "./local-interface", NB_OP_DESTROY, NULL);
+ int idx_ip = 1;
+ int idx_word = 3;
+ return peer_interface_vty(vty, argv[idx_ip]->arg, argv[idx_word]->arg);
+}
- return nb_cli_apply_changes(vty, base_xpath);
+DEFUN (no_neighbor_interface,
+ no_neighbor_interface_cmd,
+ "no neighbor <A.B.C.D|X:X::X:X|WORD> interface WORD",
+ NO_STR
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "Interface\n"
+ "Interface name\n")
+{
+ int idx_peer = 2;
+ return peer_interface_vty(vty, argv[idx_peer]->arg, NULL);
}
DEFUN (neighbor_distribute_list,
@@ -8810,28 +8199,38 @@ ALIAS_HIDDEN(
"Number of occurrences of AS number\n"
"Only accept my AS in the as-path if the route was originated in my AS\n")
-DEFUN_YANG (neighbor_ttl_security,
- neighbor_ttl_security_cmd,
- "neighbor <A.B.C.D|X:X::X:X|WORD> ttl-security hops (1-254)",
- NEIGHBOR_STR
- NEIGHBOR_ADDR_STR2
- "BGP ttl-security parameters\n"
- "Specify the maximum number of hops to the BGP peer\n"
- "Number of hops to BGP peer\n")
+DEFUN (neighbor_ttl_security,
+ neighbor_ttl_security_cmd,
+ "neighbor <A.B.C.D|X:X::X:X|WORD> ttl-security hops (1-254)",
+ NEIGHBOR_STR
+ NEIGHBOR_ADDR_STR2
+ "BGP ttl-security parameters\n"
+ "Specify the maximum number of hops to the BGP peer\n"
+ "Number of hops to BGP peer\n")
{
int idx_peer = 1;
int idx_number = 4;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
+ int gtsm_hops;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./ttl-security", NB_OP_MODIFY,
- argv[idx_number]->arg);
+ gtsm_hops = strtoul(argv[idx_number]->arg, NULL, 10);
- return nb_cli_apply_changes(vty, base_xpath);
+ /*
+ * If 'neighbor swpX', then this is for directly connected peers,
+ * we should not accept a ttl-security hops value greater than 1.
+ */
+ if (peer->conf_if && (gtsm_hops > BGP_GTSM_HOPS_CONNECTED)) {
+ vty_out(vty,
+ "%s is directly connected peer, hops cannot exceed 1\n",
+ argv[idx_peer]->arg);
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+
+ return bgp_vty_return(vty, peer_ttl_security_hops_set(peer, gtsm_hops));
}
DEFUN (no_neighbor_ttl_security,
@@ -8845,16 +8244,13 @@ DEFUN (no_neighbor_ttl_security,
"Number of hops to BGP peer\n")
{
int idx_peer = 2;
- char base_xpath[XPATH_MAXLEN];
+ struct peer *peer;
- if (peer_and_group_lookup_nb(vty, argv[idx_peer]->arg, base_xpath,
- sizeof(base_xpath), NULL)
- < 0)
+ peer = peer_and_group_lookup_vty(vty, argv[idx_peer]->arg);
+ if (!peer)
return CMD_WARNING_CONFIG_FAILED;
- nb_cli_enqueue_change(vty, "./ttl-security", NB_OP_DESTROY, NULL);
-
- return nb_cli_apply_changes(vty, base_xpath);
+ return bgp_vty_return(vty, peer_ttl_security_hops_unset(peer));
}
DEFUN (neighbor_addpath_tx_all_paths,
diff --git a/bgpd/bgp_vty.h b/bgpd/bgp_vty.h
index 04a47f6f62..fbf9e7a87b 100644
--- a/bgpd/bgp_vty.h
+++ b/bgpd/bgp_vty.h
@@ -201,20 +201,5 @@ extern const char *bgp_afi_safi_get_container_str(afi_t afi, safi_t safi);
extern bool vpn_policy_check_import(struct bgp *bgp, afi_t afi, safi_t safi,
bool v2vimport, char *errmsg,
size_t errmsg_len);
-extern int bgp_nb_errmsg_return(char *errmsg, size_t errmsg_len, int ret);
-extern bool peer_address_self_check(struct bgp *bgp, union sockunion *su);
-extern int peer_local_interface_cfg(struct bgp *bgp, const char *ip_str,
- const char *str, char *errmsg,
- size_t errmsg_len);
-extern int peer_conf_interface_create(struct bgp *bgp, const char *conf_if,
- bool v6only, const char *peer_group_name,
- int as_type, as_t as, char *errmsg,
- size_t errmsg_len);
-extern int peer_flag_modify_nb(struct bgp *bgp, const char *ip_str,
- struct peer *peer, uint32_t flag, bool set,
- char *errmsg, size_t errmsg_len);
-extern int peer_af_flag_modify_nb(struct peer *peer, afi_t afi, safi_t safi,
- uint32_t flag, int set, char *errmsg,
- size_t errmsg_len);
#endif /* _QUAGGA_BGP_VTY_H */