summaryrefslogtreecommitdiff
path: root/pimd/pim_rp.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-08-05 17:08:06 +0000
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-12-21 20:26:05 -0500
commit36d6bd7d34090d3af3dd1953b7ccc1b02f042849 (patch)
tree129a74cb7048295a6821743c8de9dfbcdeb1dfba /pimd/pim_rp.h
parent75a26779e8f25e9868f1f33e0fd35677f17c978b (diff)
pimd: multiple rp commands
Allow the user to specify multiple rp commands. 'ip pim rp A.B.C.D' -> translates to 'ip pim rp A.G.C.D 224.0.0.0/24' ip pim rp A.B.C.D A.B.C.D/M First is the rp, second is the group with mask. Groups and masks cannot be over each other except 224.0.0.0/24 which is the fallback if used. Ticket: CM-7860 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_rp.h')
-rw-r--r--pimd/pim_rp.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/pimd/pim_rp.h b/pimd/pim_rp.h
index 6299971567..be50bbb18b 100644
--- a/pimd/pim_rp.h
+++ b/pimd/pim_rp.h
@@ -21,6 +21,9 @@
#ifndef PIM_RP_H
#define PIM_RP_H
+void pim_rp_init (void);
+void pim_rp_free (void);
+
int pim_rp_new (const char *rp, const char *group);
int pim_rp_del (const char *rp, const char *group);
@@ -33,7 +36,7 @@ int pim_rp_i_am_rp (struct in_addr group);
int pim_rp_check_is_my_ip_address (struct in_addr group, struct in_addr dest_addr);
-int pim_rp_set_upstream_addr (struct in_addr *up, struct in_addr source);
+int pim_rp_set_upstream_addr (struct in_addr *up, struct in_addr source, struct in_addr group);
struct pim_rpf *pim_rp_g (struct in_addr group);