<div dir="ltr"><div>Thank you Ben, I&#39;ll finish it, test it properly and submit the patch.<br><br></div><div>I don&#39;t know if it makes any sense to add a filter where the dictionary has only a key &quot;enabled&quot; and it&#39;s &quot;false&quot;,<br></div><div>or it&#39;s really not worth it. I&#39;ll check out how it looks with a real deployment and get back here with the results.<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Mar 8, 2018 at 7:12 PM Ben Pfaff &lt;<a href="mailto:blp@ovn.org">blp@ovn.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Mar 08, 2018 at 04:43:50PM +0000, Miguel Angel Ajo Pelayo wrote:<br>
&gt; Ok, looking at the code, it seems like we may only need to do this?<br>
&gt;<br>
&gt; diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c<br>
&gt; index 21fa18d..2ac60bf 100644<br>
&gt; --- a/utilities/ovs-vsctl.c<br>
&gt; +++ b/utilities/ovs-vsctl.c<br>
&gt; @@ -1018,7 +1018,9 @@ static struct cmd_show_table cmd_show_tables[] = {<br>
&gt;       &amp;ovsrec_interface_col_name,<br>
&gt;       {&amp;ovsrec_interface_col_type,<br>
&gt;        &amp;ovsrec_interface_col_options,<br>
&gt; -      &amp;ovsrec_interface_col_error},<br>
&gt; +      &amp;ovsrec_interface_col_error,<br>
&gt; +      &amp;ovsrec_interface_col_bfd,<br>
&gt; +      &amp;ovsrec_interface_col_bfd_status},<br>
&gt;       {NULL, NULL, NULL}<br>
&gt;      },<br>
<br>
Yes, you also need to increase the size of columns[] in cmd_show_table:<br>
<br>
diff --git a/lib/db-ctl-base.h b/lib/db-ctl-base.h<br>
index eb444270535b..5d8532a7bde2 100644<br>
--- a/lib/db-ctl-base.h<br>
+++ b/lib/db-ctl-base.h<br>
@@ -197,7 +197,7 @@ struct weak_ref_table {<br>
 struct cmd_show_table {<br>
     const struct ovsdb_idl_table_class *table;<br>
     const struct ovsdb_idl_column *name_column;<br>
-    const struct ovsdb_idl_column *columns[3]; /* Seems like a good number. */<br>
+    const struct ovsdb_idl_column *columns[5]; /* Seems like a good number. */<br>
     const struct weak_ref_table wref_table;<br>
 };<br>
<br>
&gt; But that would render something like:<br>
&gt;<br>
&gt;<br>
&gt; [heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-vsctl show<br>
&gt; 5f35518a-ab34-49a4-a227-e487e251b7e3<br>
&gt;     Manager &quot;ptcp:6640:127.0.0.1&quot;<br>
&gt;         is_connected: true<br>
&gt;     Bridge br-int<br>
&gt;         fail_mode: secure<br>
&gt;         Port &quot;ovn-14d60a-0&quot;<br>
&gt;             Interface &quot;ovn-14d60a-0&quot;<br>
&gt;                 type: geneve<br>
&gt;                 options: {csum=&quot;true&quot;, key=flow, remote_ip=&quot;172.16.0.12&quot;}<br>
&gt;                 bfd: {enable=&quot;true&quot;}<br>
&gt;                 bfd_status: {diagnostic=&quot;No Diagnostic&quot;, flap_count=&quot;1&quot;,<br>
&gt; forwarding=&quot;true&quot;, remote_diagnostic=&quot;No Diagnostic&quot;, remote_state=up,<br>
&gt; state=up}<br>
&gt;<br>
&gt;<br>
&gt; I&#39;m partly guessing here based on what I see around lib/db-ctl-base.c and<br>
&gt; doing a little bit of debugging.<br>
&gt;<br>
&gt; @Ben is there any way of filtering out those columns when<br>
&gt; bfd:enabled=&quot;false&quot; or not set ?<br>
<br>
It appears that that&#39;s already what happens, at least for the &quot;not set&quot;<br>
case.  I doubt there are many controllers that explicitly set enable to<br>
false.<br>
</blockquote></div>