[ovs-discuss] building from source / ovs-dpctl-top crash

Ben Pfaff blp at ovn.org
Thu Jul 13 23:51:47 UTC 2017


On Mon, Jul 10, 2017 at 04:21:36PM -0400, Blue Lang wrote:
> New to the list. My company is building an (awesome) industrial security
> networking platform and OVS is a big part of the solution, so thank you all
> for your work.
> 
> I'd like to use ovs-dpctl-top as part of our testing suite, but it is
> crashing on launch. I built it and mininet from scratch/TOT to be sure it
> wasn't an old bug. I have two suggestions for the build scripts, and the
> error I'm seeing with -top.
> 
> 
>    - Should make install create /usr/local/var/run/openvswitch by default?
>    Right now this is a needless manual step.

ovs-ctl will create this before it starts any daemon, and the distro
packages also create it, so it's usually not necessary.

>    - Can ovsdb-server create a symlink to db.sock to avoid requiring
>     "--remote=punix:/usr/local/var/run/openvswitch/db.sock" in what seems to
>    be the default invocation? All of the related tools seem to want to use
>    db.sock rather than the instantiation-specific socket.

What symlink do you mean?  I don't know of installations that use a
symlink here.

> Sorry if I misunderstood the operation of either of the above - this is
> just based on my experience today building it for the first time.
> 
> -top dies with the following stack trace the moment mininet instantiates:
> 
> Traceback (most recent call last):
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 1290, in <module>
> 
>     sys.exit(main())
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 1282, in main
> 
>     flows_top(args)
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 1191, in flows_top
> 
>     flows_read(ihdl, flow_db)
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 593, in flows_read
> 
>     flow_db.flow_line_add(line)
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 988, in flow_line_add
> 
>     self.flow_event(fields_dict, stats_old_dict, stats_dict)
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 1080, in flow_event
> 
>     matches = flow_aggregate(fields_dict, stats_new_dict)
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 576, in flow_aggregate
> 
>     field, stats_dict)
> 
>   File "/usr/local/bin/ovs-dpctl-top", line 268, in element_ipv6_get
> 
>     element_show = fmt % (field_type, element["src"], element["dst"])
> 
> KeyError: 'src'
> 
> If this is not a known error I can spend some time debugging it.

I think that ovs-dpctl-top is probably not used very much.  Maybe bugs
have crept in because no one is using it.  If you find the problem and
fix it, please pass it along.


More information about the discuss mailing list