diff mbox series

[ovs-dev,v1] ovs-ofctl: Fixed the "snoop" command of ovs-ofctl

Message ID 1523996811-11637-1-git-send-email-ashishvarma.ovs@gmail.com
State Changes Requested
Headers show
Series [ovs-dev,v1] ovs-ofctl: Fixed the "snoop" command of ovs-ofctl | expand

Commit Message

Ashish Varma April 17, 2018, 8:26 p.m. UTC
In case where "use_names" is set (e.g. in an interactive session) to show
the port and table names when ovs-ofctl is run with snoop command,
ovs-ofctl would get stuck in an endless loop inside "table_iterator_next"
function's while loop checking for "while (ti->send_xid != recv_xid)".
This would happening because the "vconn" to "<bridge>.snoop" socket would
not respond to TABLE_FEATURES_REQUEST sent by ovs-ofctl.

This commit disables showing port or table names in the snoop command.

Signed-off-by: Ashish Varma <ashishvarma.ovs@gmail.com>
---
 utilities/ovs-ofctl.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Ben Pfaff April 17, 2018, 8:44 p.m. UTC | #1
On Tue, Apr 17, 2018 at 01:26:51PM -0700, Ashish Varma wrote:
> In case where "use_names" is set (e.g. in an interactive session) to show
> the port and table names when ovs-ofctl is run with snoop command,
> ovs-ofctl would get stuck in an endless loop inside "table_iterator_next"
> function's while loop checking for "while (ti->send_xid != recv_xid)".
> This would happening because the "vconn" to "<bridge>.snoop" socket would
> not respond to TABLE_FEATURES_REQUEST sent by ovs-ofctl.
> 
> This commit disables showing port or table names in the snoop command.
> 
> Signed-off-by: Ashish Varma <ashishvarma.ovs@gmail.com>

Thanks for figuring this out and fixing it.

Would you mind making the comment more detailed?  The current comment
explains what the code does, but it does not explain why it is
important.  If you could summarize the rationale from above, then it
would make it clear to the reader why it is important.

Thanks,

Ben.

> ---
>  utilities/ovs-ofctl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c
> index 6708b07..3023787 100644
> --- a/utilities/ovs-ofctl.c
> +++ b/utilities/ovs-ofctl.c
> @@ -2326,6 +2326,7 @@ ofctl_snoop(struct ovs_cmdl_context *ctx)
>  {
>      struct vconn *vconn;
>  
> +    use_names = 0; /* don't show port and table names */
>      open_vconn__(ctx->argv[1], SNOOP, &vconn);
>      monitor_vconn(vconn, false, false);
>  }
> -- 
> 2.7.4
> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
diff mbox series

Patch

diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c
index 6708b07..3023787 100644
--- a/utilities/ovs-ofctl.c
+++ b/utilities/ovs-ofctl.c
@@ -2326,6 +2326,7 @@  ofctl_snoop(struct ovs_cmdl_context *ctx)
 {
     struct vconn *vconn;
 
+    use_names = 0; /* don't show port and table names */
     open_vconn__(ctx->argv[1], SNOOP, &vconn);
     monitor_vconn(vconn, false, false);
 }