<div dir="auto">show ip [pim] rib?</div><div class="gmail_extra"><br><div class="gmail_quote">On May 2, 2017 2:45 PM, "Donald Sharp" <<a href="mailto:sharpd@cumulusnetworks.com">sharpd@cumulusnetworks.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yeah I object. People are used to `show ip rib...` and probably have<br>
automation towards that. What is your plan for going forward?<br>
<br>
On Tue, May 2, 2017 at 2:34 PM, Chirag Shah <<a href="mailto:chirag@cumulusnetworks.com">chirag@cumulusnetworks.com</a>> wrote:<br>
> Hi All,<br>
><br>
> If there is no objection I can modify the syntex to have pim as keyword and<br>
> make nexthop with ECMP aware.<br>
><br>
> Thanks & Regards,<br>
> Chirag Shah<br>
><br>
><br>
> On Tue, Apr 4, 2017 at 2:53 PM, Chirag Shah <<a href="mailto:chirag@cumulusnetworks.com">chirag@cumulusnetworks.com</a>><br>
> wrote:<br>
>><br>
>> Hello All,<br>
>><br>
>> The CLI command 'show ip rib <unicast addr> is in pim_cmd.c which invokes<br>
>> zebra lookup for nexthops and return the first available path to user.<br>
>><br>
>> Ideally the command is for PIMd (Zebra Client for nexthop info).<br>
>><br>
>> I would like to propose to change to CLI to specific to PIMd 'show ip pim<br>
>> rib <uincat addr> rather generic than "ip rib" term.<br>
>><br>
>> Please share your opinion.<br>
>><br>
>><br>
>> Kind Regards,<br>
>> Chirag Shah<br>
>><br>
>> P.S. :<br>
>><br>
>> Cli implementation from pim_cli.c<br>
>><br>
>> DEFUN (show_ip_rib,<br>
>> show_ip_rib_cmd,<br>
>> "show ip rib A.B.C.D",<br>
>> SHOW_STR<br>
>> IP_STR<br>
>> RIB_STR<br>
>> "Unicast address\n")<br>
>> {<br>
>> struct in_addr addr;<br>
>> const char *addr_str;<br>
>> struct pim_nexthop nexthop;<br>
>> char nexthop_addr_str[PREFIX_<wbr>STRLEN];<br>
>> int result;<br>
>><br>
>> memset (&nexthop, 0, sizeof (nexthop));<br>
>> addr_str = argv[0];<br>
>> result = inet_pton(AF_INET, addr_str, &addr);<br>
>> if (result <= 0) {<br>
>> vty_out(vty, "Bad unicast address %s: errno=%d: %s%s",<br>
>> addr_str, errno, safe_strerror(errno), VTY_NEWLINE);<br>
>> return CMD_WARNING;<br>
>> }<br>
>><br>
>> if (pim_nexthop_lookup(&nexthop, addr, 0)) {<br>
>> vty_out(vty, "Failure querying RIB nexthop for unicast address %s%s",<br>
>> addr_str, VTY_NEWLINE);<br>
>> return CMD_WARNING;<br>
>> }<br>
>><br>
>> vty_out(vty, "Address NextHop Interface Metric<br>
>> Preference%s",<br>
>> VTY_NEWLINE);<br>
>><br>
>> pim_addr_dump("<nexthop?>", &nexthop.mrib_nexthop_addr,<br>
>> nexthop_addr_str, sizeof(nexthop_addr_str));<br>
>><br>
>> vty_out(vty, "%-15s %-15s %-9s %6d %10d%s",<br>
>> addr_str,<br>
>> nexthop_addr_str,<br>
>> nexthop.interface ? nexthop.interface->name : "<ifname?>",<br>
>> nexthop.mrib_route_metric,<br>
>> nexthop.mrib_metric_<wbr>preference,<br>
>> VTY_NEWLINE);<br>
>><br>
>> return CMD_SUCCESS;<br>
>> }<br>
>><br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> dev mailing list<br>
> <a href="mailto:dev@lists.frrouting.org">dev@lists.frrouting.org</a><br>
> <a href="https://lists.frrouting.org/listinfo/dev" rel="noreferrer" target="_blank">https://lists.frrouting.org/<wbr>listinfo/dev</a><br>
><br>
<br>
______________________________<wbr>_________________<br>
dev mailing list<br>
<a href="mailto:dev@lists.frrouting.org">dev@lists.frrouting.org</a><br>
<a href="https://lists.frrouting.org/listinfo/dev" rel="noreferrer" target="_blank">https://lists.frrouting.org/<wbr>listinfo/dev</a><br>
</blockquote></div></div>