diff options
author | Donald Sharp <sharpd@cumulusnetwroks.com> | 2016-08-06 12:26:05 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-12-22 02:26:05 +0100 |
commit | 1148de0adbb606c64ffabdb7cb70030365d51c65 (patch) | |
tree | 288ab5358c516f9f1df8bc4604f2023debed49cd /pimd/pim_neighbor.h | |
parent | pimd: multiple rp commands (diff) | |
download | frr-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.h | 7 |
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); |