Hi, Ricardo.

I solved this problem.
Try to use ntohll() to uint64 and ntohs() to uint32*.*

Best regards.
***
*
2011/3/21 Paulo César <pcd...@gmail.com>

> Hi,
>
> I am having the same problem.
> Any help?
>
> Best regards.
>
>
>
> 2011/3/20 Ricardo Bennesby <ricardo.benne...@gmail.com>
>
>> Sorry, forgot to paste that...
>>       fsie is from Flow_stats_in event, declared in a handle_flow_stats_in
>> method (a handler):
>>
>> Disposition newcomp::handle_flow_stats_in(const Event& e){
>>         *const Flow_stats_in_event& fsie*
>>             = assert_cast<const Flow_stats_in_event&>(e);
>>
>> So, fsie.flows has that informations about the flows, that can be used to
>> collect statistcs.
>>
>> Thanks for help.
>>
>> Regards.
>>
>> 2011/3/20 kk yap <yap...@stanford.edu>
>>
>>> Ricardo,
>>>
>>> Can you explain which component is fsie as with
>>> * fsie.flows.at(i)
>>>
>>> Regards
>>> KK
>>>
>>> On 20 March 2011 13:11, Ricardo Bennesby <ricardo.benne...@gmail.com>
>>> wrote:
>>> > Thanks kk.
>>> >
>>> > I think I did what you suggested:
>>> >
>>> >         uint32_t ds; //duration_sec
>>> >         uint64_t pc; //packet_count
>>> >         uint16_t pri; //priority
>>> >         uint64_t bc; //byte_count
>>> >         uint16_t len; //legth
>>> >         uint8_t tid; //table_id
>>> >
>>> >         for(int i=0;i<fsie.flows.size();i++){
>>> >                 lg.dbg("i value: %d",i);
>>> >                 ds = ntohl(fsie.flows.at(i).duration_sec);
>>> >                 pc = ntohl(fsie.flows.at(i).packet_count);
>>> >                 pri = ntohl(fsie.flows.at(i).priority);
>>> >                 bc = ntohl(fsie.flows.at(i).byte_count);
>>> >                 len = ntohl(fsie.flows.at(i).length);
>>> >                 tid = ntohl(fsie.flows.at(i).table_id);
>>> >                 lg.dbg("duration_sec: %"PRIu32,ds);
>>> >                 lg.dbg("packet_count: %"PRIu64,pc);
>>> >                 lg.dbg("priority: %"PRIu16,pri);
>>> >                 lg.dbg("byte_count: %"PRIu64,bc);
>>> >                 lg.dbg("length: %"PRIu16,len);
>>> >                 lg.dbg("table_id: %"PRIu8,tid);
>>> >         }
>>> >
>>> > But now only number of flows and duration in seconds are non-zero:
>>> >
>>> > 00238|newcomp|DBG:Size of flows: 2
>>> > 00239|newcomp|DBG:i value: 0
>>> > 00240|newcomp|DBG:duration_sec: 8
>>> > 00241|newcomp|DBG:packet_count: 0
>>> > 00242|newcomp|DBG:priority: 0
>>> > 00243|newcomp|DBG:byte_count: 0
>>> > 00244|newcomp|DBG:length: 0
>>> > 00245|newcomp|DBG:table_id: 0
>>> > 00246|newcomp|DBG:i value: 1
>>> > 00247|newcomp|DBG:duration_sec: 7
>>> > 00248|newcomp|DBG:packet_count: 0
>>> > 00249|newcomp|DBG:priority: 0
>>> > 00250|newcomp|DBG:byte_count: 0
>>> > 00251|newcomp|DBG:length: 0
>>> > 00252|newcomp|DBG:table_id: 0
>>> >
>>> > What am I missing?
>>> >
>>> > Sorry to bother.
>>> >
>>> > Regards.
>>> >
>>> >
>>> > 2011/3/20 kk yap <yap...@stanford.edu>
>>> >>
>>> >> Hi Ricardo,
>>> >>
>>> >> I mean the result.  Did you run  ntoh<x> on them.
>>> >>
>>> >> Regards
>>> >> KK
>>> >>
>>> >> On 20 March 2011 10:50, Ricardo Bennesby <ricardo.benne...@gmail.com>
>>> >> wrote:
>>> >> > Hi kk, thanks for quick reply.
>>> >> >
>>> >> > I changed request.match.wildcards = htonl(0xffffffff) to:
>>> >> >
>>> >> > request.match.wildcards = htons(0xffffffff); -> but it didn't work.
>>> >> > Nothing
>>> >> > was printed about the packets
>>> >> >
>>> >> > request.match.wildcards = ntohs(0xffffffff); -> the same that
>>> happened
>>> >> > with
>>> >> > htons
>>> >> >
>>> >> > request.match.wildcards = ntohl(0xffffffff); -> the same result of
>>> use
>>> >> > htonl
>>> >> >
>>> >> > Sorry kk, but still I missing something?
>>> >> >
>>> >> > 2011/3/20 kk yap <yap...@stanford.edu>
>>> >> >>
>>> >> >> Hi Ricardo,
>>> >> >>
>>> >> >> Did you consider network/host byte order?
>>> >> >>
>>> >> >> Regards
>>> >> >> KK
>>> >> >>
>>> >> >> On 20 March 2011 10:01, Ricardo Bennesby <
>>> ricardo.benne...@gmail.com>
>>> >> >> wrote:
>>> >> >> > Hi.
>>> >> >> >
>>> >> >> > I am running a C++ component that prints statistics of flows
>>> >> >> > collected
>>> >> >> > in
>>> >> >> > switches with the flow_stats_in_event.
>>> >> >> > I am also running the dpctl dump-flows command in mininet to
>>> compare
>>> >> >> > the
>>> >> >> > values and they are very different.
>>> >> >> >
>>> >> >> > The request is as follows:
>>> >> >> >       request.table_id = 0xff;
>>> >> >> >       request.out_port = OFPP_NONE;
>>> >> >> >       request.match.wildcards = htonl(0xffffffff);
>>> >> >> >
>>> >> >> > Some values printed with dpctl dump-flows are:
>>> >> >> >   cookie=0, duration_sec=6s, table_id=1, priority=32768,
>>> n_packets=9,
>>> >> >> > n_bytes=882
>>> >> >> > And it seems correct.
>>> >> >> >
>>> >> >> > In Flow_stats_in_event handler I wrote:
>>> >> >> >     if(fsie.flows.size()>0){
>>> >> >> >                 lg.dbg("duration_sec:
>>> >> >> > %"PRIu32,fsie.flows.at(0).duration_sec);
>>> >> >> >                 lg.dbg("packet_count:
>>> >> >> > %"PRIu64,fsie.flows.at(0).packet_count);
>>> >> >> >                 lg.dbg("priority:
>>> >> >> > %"PRIu16,fsie.flows.at(0).priority);
>>> >> >> >                 lg.dbg("byte_count:
>>> >> >> > %"PRIu64,fsie.flows.at(0).byte_count);
>>> >> >> >                 lg.dbg("length: %d",fsie.flows.at(0).length);
>>> >> >> >                 lg.dbg("table_id: %d",fsie.flows.at
>>> (0).table_id);
>>> >> >> >    }
>>> >> >> >
>>> >> >> > But the values printed are:
>>> >> >> > 00533|openflow-event|DBG:received stats reply from 000000000001
>>> >> >> > 00534|newcomp|DBG:Size of flows: 2
>>> >> >> > 00535|newcomp|DBG:duration_sec: 922746880
>>> >> >> > 00536|newcomp|DBG:packet_count: 7710162562058289152
>>> >> >> > 00537|newcomp|DBG:priority: 128
>>> >> >> > 00538|newcomp|DBG:byte_count: 17737427132398698496
>>> >> >> > 00539|newcomp|DBG:length: 24576
>>> >> >> > 00540|newcomp|DBG:table_id: 1
>>> >> >> >
>>> >> >> > What am I missing?
>>> >> >> > If I wasn't detailed enough please let me know.
>>> >> >> >
>>> >> >> > Best Regards.
>>> >> >> >
>>> >> >> > --
>>> >> >> > Ricardo Bennesby da Silva
>>> >> >> > Ciência da Computação - UFAM
>>> >> >> > LabCIA - Laboratório de Computação Inteligente e Autonômica
>>> >> >> >
>>> >> >> >
>>> >> >> > _______________________________________________
>>> >> >> > nox-dev mailing list
>>> >> >> > nox-dev@noxrepo.org
>>> >> >> > http://noxrepo.org/mailman/listinfo/nox-dev
>>> >> >> >
>>> >> >> >
>>> >> >
>>> >> >
>>> >> >
>>> >> > --
>>> >> > Ricardo Bennesby da Silva
>>> >> > Ciência da Computação - UFAM
>>> >> > LabCIA - Laboratório de Computação Inteligente e Autonômica
>>> >> >
>>> >> >
>>> >
>>> >
>>> >
>>> > --
>>> > Ricardo Bennesby da Silva
>>> > Ciência da Computação - UFAM
>>> > LabCIA - Laboratório de Computação Inteligente e Autonômica
>>> >
>>> >
>>>
>>
>>
>>
>> --
>> Ricardo Bennesby da Silva
>> Ciência da Computação - UFAM
>> LabCIA - Laboratório de Computação Inteligente e Autonômica
>>
>>
>> _______________________________________________
>> nox-dev mailing list
>> nox-dev@noxrepo.org
>> http://noxrepo.org/mailman/listinfo/nox-dev
>>
>>
>
>
> --
> "Life is not fair; get used to it."
> Bill Gates
>
>


-- 
"Life is not fair; get used to it."
Bill Gates
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev

Reply via email to