Oops... should have spotted that. Thanks Paulo, that saved me. Regards KK
PS>> This email comes 20 sec before I decide to spend a few mins on this. :) On 21 March 2011 12:24, Paulo César <pcd...@gmail.com> wrote: > 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