<div dir="ltr"><div><div>Hi All,<br></div><br></div><div>If there is no objection I can modify the syntex to have pim as keyword and make nexthop with ECMP aware. <br><br></div><div>Thanks & Regards,<br></div><div>Chirag Shah<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 4, 2017 at 2:53 PM, Chirag Shah <span dir="ltr"><<a href="mailto:chirag@cumulusnetworks.com" target="_blank">chirag@cumulusnetworks.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div>Hello All,<br><br></div>The CLI command 'show ip rib <unicast addr> is in pim_cmd.c which invokes zebra lookup for nexthops and return the first available path to user. <br><br></div>Ideally the command is for PIMd (Zebra Client for nexthop info). <br><br></div>I would like to propose to change to CLI to specific to PIMd 'show ip <b>pim </b>rib <uincat addr> rather generic than "ip rib" term. <br><br></div>Please share your opinion. <br><br><br></div>Kind Regards,<br></div>Chirag Shah<br><br></div><div>P.S. : <br><br></div>Cli implementation from pim_cli.c <br><div><br>DEFUN (show_ip_rib,<br> show_ip_rib_cmd,<br> "<b>show ip rib A.B.C.D</b>",<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 (<b>pim_nexthop_lookup</b>(&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 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></div></div>
</blockquote></div><br></div>