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

Reply via email to