diff options
| author | Donald Sharp <sharpd@cumulusnetwroks.com> | 2016-08-06 06:26:05 -0400 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-12-21 20:26:05 -0500 | 
| commit | 1148de0adbb606c64ffabdb7cb70030365d51c65 (patch) | |
| tree | 288ab5358c516f9f1df8bc4604f2023debed49cd /pimd/pim_hello.c | |
| parent | 36d6bd7d34090d3af3dd1953b7ccc1b02f042849 (diff) | |
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_hello.c')
| -rw-r--r-- | pimd/pim_hello.c | 11 | 
1 files changed, 4 insertions, 7 deletions
diff --git a/pimd/pim_hello.c b/pimd/pim_hello.c index 3502f4e962..434a0e66c4 100644 --- a/pimd/pim_hello.c +++ b/pimd/pim_hello.c @@ -350,7 +350,8 @@ int pim_hello_recv(struct interface *ifp,  			     hello_option_override_interval,  			     hello_option_dr_priority,  			     hello_option_generation_id, -			     hello_option_addr_list); +			     hello_option_addr_list, +			     PIM_NEIGHBOR_SEND_DELAY);      if (!neigh) {        if (PIM_DEBUG_PIM_HELLO) {  	char src_str[100]; @@ -374,11 +375,6 @@ int pim_hello_recv(struct interface *ifp,      /* GenID mismatch ? */      if (!PIM_OPTION_IS_SET(neigh->hello_options, PIM_OPTION_MASK_GENERATION_ID) ||  	(hello_option_generation_id != neigh->generation_id)) { - -      /* GenID changed */ - -      pim_upstream_rpf_genid_changed(neigh->source_addr); -        /* GenID mismatch, then replace neighbor */        if (PIM_DEBUG_PIM_HELLO) { @@ -401,7 +397,8 @@ int pim_hello_recv(struct interface *ifp,  			       hello_option_override_interval,  			       hello_option_dr_priority,  			       hello_option_generation_id, -			       hello_option_addr_list); +			       hello_option_addr_list, +			       PIM_NEIGHBOR_SEND_NOW);        if (!neigh) {  	if (PIM_DEBUG_PIM_HELLO) {  	  char src_str[100];  | 
