summaryrefslogtreecommitdiffstats
path: root/pimd/pim_neighbor.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetwroks.com>2016-08-06 12:26:05 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-12-22 02:26:05 +0100
commit1148de0adbb606c64ffabdb7cb70030365d51c65 (patch)
tree288ab5358c516f9f1df8bc4604f2023debed49cd /pimd/pim_neighbor.h
parentpimd: multiple rp commands (diff)
downloadfrr-1148de0adbb606c64ffabdb7cb70030365d51c65.tar.xz
frr-1148de0adbb606c64ffabdb7cb70030365d51c65.zip
pimd: Send hello immediately with receive of new genid
When we receive a new genid from a neighbor, we need to form the neigbhor relationship before the join/prune messages are sent to the neighbor. Additionally we were calling the pim_upstream_rpf_genid_changed function 2 times in a row. This function just spun throught the upstream list and marked all relevant upstreams to be sent immediately Ticket:CM-11979 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_neighbor.h')
-rw-r--r--pimd/pim_neighbor.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/pimd/pim_neighbor.h b/pimd/pim_neighbor.h
index 10d0cf3a6..4bf78d063 100644
--- a/pimd/pim_neighbor.h
+++ b/pimd/pim_neighbor.h
@@ -47,6 +47,10 @@ void pim_neighbor_timer_reset(struct pim_neighbor *neigh, uint16_t holdtime);
void pim_neighbor_free(struct pim_neighbor *neigh);
struct pim_neighbor *pim_neighbor_find(struct interface *ifp,
struct in_addr source_addr);
+
+
+#define PIM_NEIGHBOR_SEND_DELAY 0
+#define PIM_NEIGHBOR_SEND_NOW 1
struct pim_neighbor *pim_neighbor_add(struct interface *ifp,
struct in_addr source_addr,
pim_hello_options hello_options,
@@ -55,7 +59,8 @@ struct pim_neighbor *pim_neighbor_add(struct interface *ifp,
uint16_t override_interval,
uint32_t dr_priority,
uint32_t generation_id,
- struct list *addr_list);
+ struct list *addr_list,
+ int send_hello_now);
void pim_neighbor_delete(struct interface *ifp,
struct pim_neighbor *neigh,
const char *delete_message);