That's probably annoying, but I don't think it should actually stop anything 
from working.

You should be able to shut it up by passing --explicit_drop=false to 
openflow.discovery.  Or, for that matter, --no_flow should work too.

Offhand... full_payload wouldn't have an affect here, since that's just for 
things that miss the table.  In this case, it should be hitting the rule that 
discovery installed (unless you pass --no_flow), which also specifies full 
payloads.  There's probably nothing illegal spec-wise about sending both 
buffer_ids and full payloads, though it's sort of unusual and Flowvisor is 
probably responsible.

Though as I said, I think this should be mostly cosmetic.  You say the problem 
hasn't been solved yet.  Which problem, specifically?

-- Murphy

On Oct 12, 2014, at 10:46 PM, Farzaneh Pakzad <f.pak...@uq.edu.au> wrote:

> Hi Murphy and Tim,
> 
> Thanks a lot for your comments.
> 
> having gotten your idea about capturing the packets and sending full-payload 
> of the packets to the controller, finally I ran the following command in POX:
>  
> ./pox.py misc.full_payload openflow.debug openflow.discovery
> 
> Unfortunately the problem hasn't been solved yet.
>  
> The openflow error message "type: OFPET_BAD_REQUEST (1) Error: code: 
> OFPBRC_BUFFER_UNKNOWN (8)" is still remained and  the related  OpenFlow error 
> message in Wireshark is as follow:
> 
> OpenFlow Protocol
>   Header
>     Version: 0x01
>     Type: Error (SM) (1)
>     Length: 28
>     Transaction ID: 0
>   Error Message
>     Type: Request was not understood (1)
>     Code: Specified buffer does not exist (8)
>     Data: 010d00100000001d643829a000070000
>       OpenFlow Protocol
>          Header
>             Version: 0x01
>             Type: Packet Out (CSM) (13)
>             Length: 16
>             Transaction ID: 29
>          Packet Out
>             Buffer ID: 1681402272
>             Frame Recv Port: 7
>             Size of action array in bytes: 0
>         Output Action(s)
>             Warning: No actions were specified
> When I've compared the packets captured in Wireshark in a real testbed 
> (OFELIA) with packets captured in my local machine, I realized something 
> strange happend. (running openflow.discovery the controller sends packet_out 
> messages to all switches, instructing them to send a LLDP packet via each of 
> its ports. When an LLDP packet is received by a switch at the other end of 
> the link, the switch sends a packet_in message to the controller, and the 
> controller can detect a link between these two switches/ports). I have been 
> experiencing an extra packet_out from the controller after receiving each 
> packet_in message from the switch- to detect a link. An strange thing here is 
> a buffer_id number alongside packet_in messages, while there shouldn't be any 
> buffer id as I used "misc.full_payload" and that extra packet_out has the 
> same buffer_id with " No actions were specified" which I think triggers the 
> OpenFlow error message.
> I really appreciate any insights or suggestion regarding this problem.
> Thanks so much.
> Best regards,
> Farzaneh
>  
>  
> From: Tim Upthegrove [tim.upthegr...@gmail.com]
> Sent: Friday, 10 October 2014 10:59 PM
> To: Farzaneh Pakzad
> Cc: pox-dev@lists.noxrepo.org
> Subject: Re: [pox-dev] OFPBRC_BUFFER_UNKNOWN in OFELIA testbed
> 
> Hi Farzaneh,
>  
> I would also suggest that in general, if you are using a shared testbed of 
> hardware OpenFlow switches, you might not want to rely on the switch buffers 
> anyway.  The availability of the buffers is not something you can really 
> control, so it can be hit or miss.  That is somewhat side-stepping the issue 
> you asked about, but it is my 2 cents.  There are instructions for getting 
> the full payload in your packet-ins in pox at:
>  
> https://openflow.stanford.edu/display/ONL/POX+Wiki#POXWiki-HowdoIgetswitchestosendcompletepacketpayloadstothecontroller%3F
>  
> You would likely need to modify your controller logic as well to handle the 
> packet-outs/flowmods appropriately after the payloads arrive.
>  
> -- 
>  
> Tim Upthegrove
>  
> On Thu, Oct 9, 2014 at 11:47 PM, Murphy McCauley <murphy.mccau...@gmail.com> 
> wrote:
> Flowvisor can certainly cause issues which don't generally come up under 
> non-Flowvisor use.  The first thing you might do is see if you can find out 
> which version of Flowvisor is being run and see if this is a known issue.  
> Bug FLOWVISOR-133, for example, describes something which could certainly 
> cause the behavior you're seeing (though it's now quite old).
>  
> The next thing you can do to try to understand what's happening is to capture 
> the OpenFlow traffic (you can use POX's openflow.debug component or tcpdump 
> or wireshark or whatever) and examine it.  You can associate the errors with 
> the specific OpenFlow command that caused them and see if there's anything 
> noteworthy.  Looking at the timestamps, the number of events, the specific 
> messages which caused the errors, etc.
>  
> -- Murphy
>  
>  
> On Oct 9, 2014, at 3:24 PM, Farzaneh Pakzad <f.pak...@uq.edu.au> wrote:
> 
> 
> Hi Murphy,
>  
> Thanks a lot for your reply.
>  
> Regarding to the first question:
>  
> What components were you running in POX?  
> I ran the openflow.discovery component of pox to detect the switches and 
> links between them. (I also ran the forwarding.l2_learning switch and again I 
> get this error: OFPBRC_BUFFER_UNKNOWN and other Openflow error messages such 
> as flow mod failed )
>  
> And the second one:
> And is OFELIA raw hardware or are you running under Flowvisor?
> OFELIA is running under Flowvisor according to the below information from 
> this link:
>  
> http://www.fibre-ict.eu/index.php/cmf/ofelia
>  
> “In order to slice the OpenFlow resources to support multiple experiments and 
> users, the Expedient system, from which OFELIA inherits some of the most 
> important features, make use of 4 layers: at the bottom are OpenFlow 
> switches, then on top of them, the Flowvisor, the Opt-In Manager, and finally 
> the OpenFlow Expedient connector. The Flowvisor is the most necessary part to 
> isolate and support multiple experiments. At an abstract level, Flowvisor is 
> a transparent proxy between many islands with OpenFlow switches and OpenFlow 
> controllers used in a certain slice. Basically, the Flowvisor(s) present in 
> each island (or provider) monitors OpenFlow protocol messages from and to the 
> controllers, ensuring that each slice defined by the FlowSpace (a set of 
> header values defined to isolate experiments) operates on traffic within that 
> space.”
>  
> Best regards,
> Farzaneh
>  
>  
> From: Murphy McCauley [mailto:murphy.mccau...@gmail.com] 
> Sent: Thursday, 9 October 2014 5:10 PM
> To: Farzaneh Pakzad
> Cc: pox-dev@lists.noxrepo.org
> Subject: Re: [pox-dev] OFPBRC_BUFFER_UNKNOWN in OFELIA testbed
>  
> It might be much easier with more information.  What components were you 
> running in POX?  And is OFELIA raw hardware or are you running under 
> Flowvisor?
>  
> -- Murphy
>  
> On Oct 8, 2014, at 6:57 PM, Farzaneh Pakzad <f.pak...@uq.edu.au> wrote:
>  
> 
> Hello everybody,
>  
> I don't know if it is a relevant question to ask here:
> I am trying to do OpenFlow topology discovery (with pox) in real testbed 
> called OFELIA.
> I've chosen some switches form one of the island to run the test.
> After I did all the settings, the controller started to work and detect the 
> switches and links between them.
> However, in the meantime there are some openflow error messages and warnings 
> as well. These errors are as follow:
> 
> """
> ERROR:openflow.of_01:[00-00-00-00-00-02|512 2] OpenFlow Error:
> [00-00-00-00-00-02|512 2] Error: header: 
> [00-00-00-00-00-02|512 2] Error:   version: 1
> [00-00-00-00-00-02|512 2] Error:   type:    1 (OFPT_ERROR)
> [00-00-00-00-00-02|512 2] Error:   length:  28
> [00-00-00-00-00-02|512 2] Error:   xid:     0
> [00-00-00-00-00-02|512 2] Error: type: OFPET_BAD_REQUEST (1)
> [00-00-00-00-00-02|512 2] Error: code: OFPBRC_BUFFER_UNKNOWN (8)
> [00-00-00-00-00-02|512 2] Error: datalen: 16
> [00-00-00-00-00-02|512 2] Error: 0000: 01 0d 00 10 00 00 00 18  9e 11 2d 2c 
> 00 06 00 00   |..........-,....|
> """
> 
> """
> INFO:packet:(lldp tlv parse) warning TLV data too short to parse (86)
> INFO:packet:(lldp parse) error parsing TLV
> """
> Would you please help me with that? 
> 
> I would like to know if anyone had this problem before
> and what makes this problem to happen and if I can solve it or not? 
> 
> Thank you all.
> 
> Farzaneh

Reply via email to