On Wed, Dec 3, 2014 at 2:31 AM, YAMAMOTO Takashi <yamam...@valinux.co.jp> wrote: > This command is useful at least for testing. > > Example output: > % ovs-appctl ovs/route/lookup '10.0.0.1' > gateway 172.17.0.254 > dev wm0 > % > Can you add documentation for new command?
> Signed-off-by: YAMAMOTO Takashi <yamam...@valinux.co.jp> otherwise looks good. Acked-by: Pravin B Shelar <pshe...@nicira.com> > --- > lib/ovs-router.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/lib/ovs-router.c b/lib/ovs-router.c > index b095f68..a121354 100644 > --- a/lib/ovs-router.c > +++ b/lib/ovs-router.c > @@ -260,6 +260,31 @@ ovs_router_show(struct unixctl_conn *conn, int argc > OVS_UNUSED, > ds_destroy(&ds); > } > > +static void > +ovs_router_lookup_cmd(struct unixctl_conn *conn, int argc OVS_UNUSED, > + const char *argv[], void *aux OVS_UNUSED) > +{ > + ovs_be32 ip; > + unsigned int plen; > + > + if (scan_ipv4_route(argv[1], &ip, &plen) && plen == 32) { > + char iface[IFNAMSIZ]; > + ovs_be32 gw; > + > + if (ovs_router_lookup(ip, iface, &gw)) { > + struct ds ds = DS_EMPTY_INITIALIZER; > + > + ds_put_format(&ds, "gateway " IP_FMT "\n", IP_ARGS(gw)); > + ds_put_format(&ds, "dev %s\n", iface); > + unixctl_command_reply(conn, ds_cstr(&ds)); > + } else { > + unixctl_command_reply(conn, "Not found"); > + } > + } else { > + unixctl_command_reply(conn, "Invalid parameters"); > + } > +} > + > void > ovs_router_flush(void) > { > @@ -289,4 +314,6 @@ ovs_router_init(void) > unixctl_command_register("ovs/route/show", "", 0, 0, ovs_router_show, > NULL); > unixctl_command_register("ovs/route/del", "ipv4_addr/prefix_len", 1, 1, > ovs_router_del, > NULL); > + unixctl_command_register("ovs/route/lookup", "ipv4_addr", 1, 1, > + ovs_router_lookup_cmd, NULL); > } > -- > 1.9.4 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev