diff options
| author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2021-04-20 14:54:09 -0300 | 
|---|---|---|
| committer | Rafael Zalamena <rzalamena@gmail.com> | 2021-06-09 12:32:24 -0300 | 
| commit | e2809e618bb18cddb18efbbc1d743490db7596b6 (patch) | |
| tree | f52604a390b51793500174be24559ac0a8c87b8a /pimd/pim_nb.c | |
| parent | 0213a658006216ddcd796b77c040797b1f5a01a4 (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.c | 25 | 
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,  			}  		},  		{  | 
