The original modification to allow the RP to receive
packets on the incoming interface when it has
no outgoing interfaces was a bit aggressive and
turned all register events into a join event.
This further divides up the code to do the
right thing in each situation.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
}
}
- pim_upstream_switch (up, PIM_UPSTREAM_JOINED);
+ /*
+ * If we have output_intf switch state to Join and work like normal
+ * If we don't have an output_intf that means we are probably a
+ * switch on a stick so turn on forwarding to just accept the
+ * incoming packets so we don't bother the other stuff!
+ */
+ if (output_intf)
+ pim_upstream_switch (up, PIM_UPSTREAM_JOINED);
+ else
+ forward_on (up);
return output_intf;
}