summaryrefslogtreecommitdiff
path: root/pimd/pim_rp.c
diff options
context:
space:
mode:
authorMobashshera Rasool <mrasool@vmware.com>2022-02-02 07:36:47 -0800
committerMobashshera Rasool <mrasool@vmware.com>2022-03-08 00:57:51 -0800
commit99384c6e4d46be59835286f5b0459eb08f3931ab (patch)
treefcd679f23d65d08299bc7ffcbff11831eeaa6998 /pimd/pim_rp.c
parent4fc1f59ea748d57f4e1a32d974aaad1a3b6bdd0b (diff)
pim6d: Return type and parameter changes for api pim_rp_del_config
1. Return value of this function pim_rp_del_config is nowhere used. So made it as a void function. 2. Paramater const char *rp is first converted to string from prefix in the caller and then back to prefix in this api pim_rp_del_config. Fixed it by directly passing the address instead of string. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Diffstat (limited to 'pimd/pim_rp.c')
-rw-r--r--pimd/pim_rp.c30
1 files changed, 13 insertions, 17 deletions
diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c
index 87e83ededf..6752b9fa01 100644
--- a/pimd/pim_rp.c
+++ b/pimd/pim_rp.c
@@ -416,7 +416,6 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr, struct prefix g
const char *plist, enum rp_source rp_src_flag)
{
int result = 0;
- char rp[INET_ADDRSTRLEN];
struct rp_info *rp_info;
struct rp_info *rp_all;
struct prefix group_all;
@@ -439,8 +438,6 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr, struct prefix g
prefix_copy(&rp_info->group, &group);
rp_info->rp_src = rp_src_flag;
- inet_ntop(AF_INET, &rp_info->rp.rpf_addr.u.prefix4, rp, sizeof(rp));
-
if (plist) {
/*
* Return if the prefix-list is already configured for this RP
@@ -467,11 +464,11 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr, struct prefix g
if (rp_info->rp.rpf_addr.u.prefix4.s_addr
== tmp_rp_info->rp.rpf_addr.u.prefix4.s_addr) {
if (tmp_rp_info->plist)
- pim_rp_del_config(pim, rp, NULL,
+ pim_rp_del_config(pim, rp_addr, NULL,
tmp_rp_info->plist);
else
pim_rp_del_config(
- pim, rp,
+ pim, rp_addr,
prefix2str(&tmp_rp_info->group,
buffer, BUFSIZ),
NULL);
@@ -504,7 +501,7 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr, struct prefix g
&& rp_info->rp.rpf_addr.u.prefix4.s_addr
== tmp_rp_info->rp.rpf_addr.u.prefix4
.s_addr) {
- pim_rp_del_config(pim, rp, NULL,
+ pim_rp_del_config(pim, rp_addr, NULL,
tmp_rp_info->plist);
}
}
@@ -657,11 +654,10 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr, struct prefix g
return PIM_SUCCESS;
}
-int pim_rp_del_config(struct pim_instance *pim, const char *rp,
- const char *group_range, const char *plist)
+void pim_rp_del_config(struct pim_instance *pim, pim_addr rp_addr,
+ const char *group_range, const char *plist)
{
struct prefix group;
- struct in_addr rp_addr;
int result;
if (group_range == NULL)
@@ -669,15 +665,15 @@ int pim_rp_del_config(struct pim_instance *pim, const char *rp,
else
result = str2prefix(group_range, &group);
- if (!result)
- return PIM_GROUP_BAD_ADDRESS;
-
- result = inet_pton(AF_INET, rp, &rp_addr);
- if (result <= 0)
- return PIM_RP_BAD_ADDRESS;
+ if (!result) {
+ if (PIM_DEBUG_PIM_TRACE)
+ zlog_debug(
+ "%s: String to prefix failed for %pPAs group",
+ __func__, &rp_addr);
+ return;
+ }
- result = pim_rp_del(pim, rp_addr, group, plist, RP_SRC_STATIC);
- return result;
+ pim_rp_del(pim, rp_addr, group, plist, RP_SRC_STATIC);
}
int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,