Skip to content

Segmentation fault by using dpctl stats-flow in ofs-hw  #2

@noproblem666

Description

@noproblem666

Hi,

I'm evaluating the ONetSwitch running the OpenFlow switch with hardware tables. (ons30-app52-ref_ofshw)

When I run the switch with some installed flows I can not use dpctl to get the flow statistics (stats-flow command). I will get a segmentation fault:

~/ofs-hw/utilities # ./dpctl tcp:127.0.0.1:6632 stats-flow

SENDING:
stat_req{type="flow", flags="0x0", table="all", oport="any", ogrp="any", cookie=0x0", mask=0x0", match=oxm{all match}}

Segmentation fault

My system information:

~/ofs-hw/utilities # uname -a
Linux (none) 3.12.0-xilinx-dirty #2 SMP PREEMPT Tue Oct 13 20:42:30 CST 2015 armv7l GNU/Linux
~/ofs-hw/utilities # cd ..
~/ofs-hw # ./udatapath/ofdatapath --version

This is ONetSwitch30, with hardware version: v1.3, tables: 3, size: 16
ofdatapath 1.3.0 compiled Jun 29 2015 15:53:55
~/ofs-hw # ./secchan/ofprotocol --version
ofprotocol 1.3.0 compiled May 19 2015 13:41:00
~/ofs-hw # ./utilities/dpctl --version
dpctl 1.3.0 compiled Jun 19 2015 16:45:14

If I use the dpctl tool from the ofs-sw folder, the stats-flow command works fine:

~/ofs-sw/utilities # ./dpctl tcp:127.0.0.1:6632 stats-flow

SENDING:
stat_req{type="flow", flags="0x0", table="all", oport="any", ogrp="any", cookie=0x0", mask=0x0", match=oxm{all match}}


RECEIVED:
stat_repl{type="flow", flags="0x0", stats=[{table="0", match="oxm{in_port="1"}", dur_s="1567", dur_ns="361000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="2"}]}]}, {table="0", match="oxm{in_port="2"}", dur_s="1300", dur_ns="61000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="1"}]}]}, {table="0", match="oxm{in_port="4"}", dur_s="1008", dur_ns="230000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="2"}]}]}, {table="1", match="oxm{in_port="3"}", dur_s="1219", dur_ns="527000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="1"}]}]}, {table="1", match="oxm{in_port="4"}", dur_s="1029", dur_ns="249000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="2"}]}]}, {table="2", match="oxm{in_port="4"}", dur_s="988", dur_ns="265000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="2"}]}]}, {table="3", match="oxm{in_port="4"}", dur_s="967", dur_ns="615000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="2"}]}]}, {table="4", match="oxm{in_port="4"}", dur_s="1135", dur_ns="775000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="2"}]}]}, {table="10", match="oxm{in_port="4"}", dur_s="1092", dur_ns="75000", prio="1", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="0", byte_cnt="0", insts=[apply{acts=[out{port="2"}]}]}]}

The ofs-sw version of dpctl is:

~/ofs-sw/utilities # ./dpctl --version
dpctl 1.3.0 compiled Dec 17 2014 14:07:04

Can you reproduce this behaviour and do you know what is wrong with the "ofs-hw" version of dpctl?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions