Unfortunately, no.  This corresponds to the ofp_queue_stats OpenFlow structure, 
which does not contain the information you're looking for.

-- Murphy

On Mar 27, 2012, at 11:32 PM, 星言 墨虚 wrote:

> Thank you all the same.
> But I find an event whose name is Queue_stats_in_event and a tool whose name 
> is send_queue_stats_request in NOX class list.
> Can I use it to collect the stats of queue in openvswitch?
> And Could openvswitch accept queue_stats_request and reply it to NOX?
> 
> -- Zhigang Chen
> 发件人: Murphy McCauley <[email protected]>
> 收件人: 星言 墨虚 <[email protected]> 
> 抄送: "[email protected]" <[email protected]> 
> 发送日期: 2012年3月28日, 星期三, 上午 11:38
> 主题: Re: [nox-dev] Re: Some problems about add flow entry to flow table in 
> openvswitch
> 
> Unfortunately, no.  OpenFlow 1.0 doesn't specify this, and I don't think 1.1 
> does other.  A switch vendor may as an extension, but I don't know anything 
> about that.
> 
> Sorry to not be of any help there!
> 
> -- Murphy
> 
> On Mar 27, 2012, at 8:21 PM, 星言 墨虚 wrote:
> 
>> Thank you very much. I solved this problem by your way.
>> 
>> But I have another question. I have written nox module which used as a 
>> router. And I want to create a queue for each port and monitor it. 
>> When the length of the queue is more than a certain limit, the router will 
>> change another way to forward the packet. 
>> So I must let NOX know the status of queue in each port. 
>> I ask ovs dev this question and they said OVS doesn't provide a way to 
>> monitor the length of a queue.
>> Do you have any good idea to do this?
>> 
>> Thanks again.
>> 
>> -- Zhigang Chen
>> 发件人: Murphy McCauley <[email protected]>
>> 收件人: 星言 墨虚 <[email protected]> 
>> 抄送: "[email protected]" <[email protected]> 
>> 发送日期: 2012年3月28日, 星期三, 上午 10:51
>> 主题: Re: [nox-dev] Some problems about add flow entry to flow table in 
>> openvswitch
>> 
>> Looking at the wireshark trace, it looks as if the in_port on the match is 
>> getting byte reversed.  This is quite possibly a bug in the packing library; 
>> byte ordering in NOX Classic is problematic.
>> 
>> Try flipping it:
>> 
>> ofm.match = flow.get_exact_match();
>> ofm.match.in_port = htons(ofm.match.in_port); // Swap bytes
>> 
>> 
>> You might also try turning up the verbosity for Open vSwitch and looking for 
>> messages from it.  I won't swear to it, but I'd think there's a decent 
>> chance it would log something if it got a command with an invalid port 
>> number.
>> 
>> -- Murphy
>> 
>> On Mar 26, 2012, at 11:12 PM, 星言 墨虚 wrote:
>> 
>>> Dear all,
>>> 
>>> Sorry to bother you.
>>> 
>>> I am writing a NOX module whose name is router. It can be use as a router. 
>>> But there are some questions that NOX cannot add flow entry to flow table 
>>> in openvswitch through send_openflow_command. 
>>> 
>>> This is part of my code.
>>>  // set up a new flow
>>> ofp_action_list act_list;
>>> ofp_action *act;
>>> 
>>> act = new ofp_action();
>>> act->set_action_dl_addr( OFPAT_SET_DL_DST, ARPTable[RouteEntry. 
>>> NextIPAddr]);
>>> act_list.action_list.push_ back(*act);
>>> act = new ofp_action();
>>> act->set_action_output( RouteEntry.outPort, 0);
>>> act_list.action_list.push_ back(*act);
>>> 
>>> // set up new flow
>>> boost::shared_array<uint8_t> of_raw;
>>> size_t size = sizeof(ofp_flow_mod)+act_list. mem_size();
>>> of_raw.reset(new uint8_t[size]);
>>> 
>>> of_flow_mod ofm;
>>> ofm.header = openflow_pack::header(OFPT_ FLOW_MOD, size);
>>> ofm.match = flow.get_exact_match();
>>> 
>>> ofm.cookie = htonl(0);
>>> ofm.command = htons(OFPFC_ADD);
>>> ofm.flags = htons(0);
>>> ofm.priority = htons(OFP_DEFAULT_PRIORITY);
>>> ofm.idle_timeout = htons(120);
>>> ofm.hard_timeout = htons(0);
>>> ofm.buffer_id = buffer_id;
>>> 
>>> ofm.pack((ofp_flow_mod*) openflow_pack::get_pointer(of_ raw));
>>> act_list.pack(openflow_pack:: get_pointer(of_raw,sizeof(ofp_ flow_mod)));
>>> 
>>> lg.dbg("Install flow entry %s with %zu actions", 
>>>          flow.to_string().c_str(), act_list.action_list.size());
>>> 
>>> send_openflow_command( datapath_id, of_raw, false);
>>> 
>>>  I run this  code in nox(ip: 192.168.0.1) and send packet from host(ip: 
>>> 192.168.57.1) to terminal(ip: 10.0.0.1), then nox show that flow has been 
>>> installed successfully, packet has also been sent to terminal successfully 
>>> and wiresharek can capture the OFP packet too, but openvswitch cannot add 
>>> this flow to flow table.
>>> 
>>> The attachment is capture file from wireshark.
>>> 
>>> Thanks!
>>> 
>>> 
>>> <packet>
>> 
>> 
>> 
> 
> 
> 

Reply via email to