From: Donald Sharp Date: Sun, 17 Jul 2016 23:45:16 +0000 (-0400) Subject: pimd: create pim_upstream_state2str X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~380 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=d7259eac8b7c5f9f7d0f5f04adf1b2c98dd50fa9;p=matthieu%2Ffrr.git pimd: create pim_upstream_state2str Allow update of show command to understant all pim upstream states. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index e50837ebed..b595d337e7 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -996,7 +996,7 @@ static void pim_show_upstream(struct vty *vty) up->rpf.source_nexthop.interface->name, src_str, grp_str, - up->join_state == PIM_UPSTREAM_JOINED ? "Jnd" : "NtJnd", + pim_upstream_state2str (up), uptime, join_timer, up->ref_count, diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index 8267885756..8f1b019808 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -415,7 +415,7 @@ struct pim_upstream *pim_upstream_find(struct in_addr source_addr, } } - return 0; + return NULL; } struct pim_upstream *pim_upstream_add(struct in_addr source_addr, @@ -784,3 +784,24 @@ pim_upstream_switch_to_spt_desired (struct in_addr source, struct in_addr group) { return 0; } + +const char * +pim_upstream_state2str (struct pim_upstream *up) +{ + switch (up->join_state) + { + case PIM_UPSTREAM_NOTJOINED: + return "NtJnd"; + break; + case PIM_UPSTREAM_JOINED: + return "Jnd"; + break; + case PIM_UPSTREAM_JOIN_PENDING: + return "JPend"; + break; + case PIM_UPSTREAM_PRUNE: + return "Prune"; + break; + } + return "Unkwn"; +} diff --git a/pimd/pim_upstream.h b/pimd/pim_upstream.h index 71a4c85f18..1ae3893d47 100644 --- a/pimd/pim_upstream.h +++ b/pimd/pim_upstream.h @@ -69,7 +69,9 @@ enum pim_rpf_result { enum pim_upstream_state { PIM_UPSTREAM_NOTJOINED, - PIM_UPSTREAM_JOINED + PIM_UPSTREAM_JOINED, + PIM_UPSTREAM_JOIN_PENDING, + PIM_UPSTREAM_PRUNE, }; enum pim_upstream_sptbit { @@ -148,4 +150,5 @@ void pim_upstream_keep_alive_timer_start (struct pim_upstream *up, uint32_t time int pim_upstream_switch_to_spt_desired (struct in_addr source, struct in_addr group); #define SwitchToSptDesired(S,G) pim_upstream_switch_to_spt_desired ((S), (G)) +const char *pim_upstream_state2str (struct pim_upstream *up); #endif /* PIM_UPSTREAM_H */