summaryrefslogtreecommitdiff
path: root/pimd/pim_nb.c
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2021-04-20 14:54:09 -0300
committerRafael Zalamena <rzalamena@gmail.com>2021-06-09 12:32:24 -0300
commite2809e618bb18cddb18efbbc1d743490db7596b6 (patch)
treef52604a390b51793500174be24559ac0a8c87b8a /pimd/pim_nb.c
parent0213a658006216ddcd796b77c040797b1f5a01a4 (diff)
pimd: rework MSDP mesh-group code
Fully utilize the northbound to hold pointers to our private data instead of searching for data structures every time we need to change a configuration. Highlights: * Support multiple mesh groups per PIM instance (instead of one) * Use DEFPY instead of DEFUN to reduce code complexity * Use northbound private pointers to store data structures * Reduce callback names size Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_nb.c')
-rw-r--r--pimd/pim_nb.c25
1 files changed, 9 insertions, 16 deletions
diff --git a/pimd/pim_nb.c b/pimd/pim_nb.c
index 37c539883d..ea53f1ef12 100644
--- a/pimd/pim_nb.c
+++ b/pimd/pim_nb.c
@@ -118,31 +118,24 @@ const struct frr_yang_module_info frr_pim_info = {
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-group",
+ .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-groups",
.cbs = {
- .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_create,
- .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_destroy,
+ .create = pim_msdp_mesh_group_create,
+ .destroy = pim_msdp_mesh_group_destroy,
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-group/mesh-group-name",
+ .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-groups/source",
.cbs = {
- .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_mesh_group_name_modify,
- .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_mesh_group_name_destroy,
+ .modify = pim_msdp_mesh_group_source_modify,
+ .destroy = pim_msdp_mesh_group_source_destroy,
}
},
{
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-group/member-ip",
+ .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-groups/members",
.cbs = {
- .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_member_ip_create,
- .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_member_ip_destroy,
- }
- },
- {
- .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-group/source-ip",
- .cbs = {
- .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_source_ip_modify,
- .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_mesh_group_source_ip_destroy,
+ .create = pim_msdp_mesh_group_members_create,
+ .destroy = pim_msdp_mesh_group_members_destroy,
}
},
{