Hi Murphy,

Thanks for the quick reply, which seemed to skip my attention for the last
two days.
I've replied inline..


On Tue, Feb 25, 2014 at 3:46 AM, Murphy McCauley
<murphy.mccau...@gmail.com>wrote:

>
> On Feb 24, 2014, at 10:08 PM, Naman Muley <naman.g.mu...@gmail.com> wrote:
>
> Hello,
>
> I was working with pox and a vendor open-flow switch (hardware). When I
> connect my configured switch to the pox controller, I get the following
> error message
>
> I did some looking around and found that type 4520, code 0 is not standard
> openflow but a ovs extension. but this is not possible in my case as my
> vendor is no where related to nicira / ovs / vmware.
>
>
> Are you sure?  I believe a number of hardware vendors have based their
> implementations on OVS.  Or is it possible that the switch that's
> connecting isn't the one that you think it is (e.g., it's a random OVS
> instance somewhere)?  You could try running info.switch_info and see what
> it says.
>
> hmm.. I wouldn't know if they are using OVS internally. I'd have to talk
to their support guys.
A random instanace of OVS somewhere wouldn't connect to exactly 192.168.2.1
for the controller. I doubt it but I'll still check for any leftover ovs
instances somewhere.


> Even if it's not actually a Nicira switch, it still could use the Nicira
> extension in order to report extended error information.
>
> BUT... this certainly looks like an OVS switch.  Examining the error
> hexdump you can see that the first byte is a 0, and the next bytes are
> 00-23-20.  Following the extended error format, the 0 means the next three
> bytes should be an OUI, and... 00-23-20 is Nicira's OUI.
>
>
whoa I didn't know this. Can you point me to somewhere I can read up on
this ? is this mentioned in the Openflow specs ?


> The next four bytes are two 16 bit fields: the "inner" type and code.
>

Again, is this given in the openflow specs? or this is something that I
should read up on the switch specs ?


> In this case, it's 1,514.  OVS's ofp-errors.h has this to say:
>     /* NX1.0(1,514), NX1.1(1,514), OF1.2+(1,11).  Invalid port.
>      * [ A non-standard error (1,514), formerly
>      *   OFPERR_NXBRC_BAD_IN_PORT is used for OpenFlow 1.0 and 1.1 as there
>      *   seems to be no appropriste error code defined the specifications.
> ] */
>     OFPERR_OFPBRC_BAD_PORT,
>
> This seems to indicate that an in_port is set to something the switch
> doesn't like.
>

^ I didn't quite understand the above sentence. *set to something* ? am I
missing something here ?


>  This seems a bit strange, since I think l2_learning always uses one from
> a packet_in, so you'd think it would be valid.
>
 Looking further at the data, we can see it's an OpenFlow 1.0 message
> (0x01), type 0x0e (which I think is a flow_mod).  Unfortunately, it's
> truncated in the error message.  If we had the OpenFlow traffic we could
> find the original message which caused the error via its XID (9) and take a
> look.
>
> I can send the whole pox.log file if anyone wants.
>
>
> The control (OpenFlow) traffic is probably more immediately useful.
>
> here are the components on pox I was running -
> $./pox.py openflow.of_01 --port=6633 --address=192.168.2.1 log
> --file=pox.log,w log.level --DEBUG forwarding.l2_learning
>
>
> With no modifications?
>
> with no modifications.

> I saw the same error message on dart as well as betta forks.
>
> I have attached the detailed pox.log file.
>
> I am afraid I don't have the capture as yet. But I am working on getting a
> capture of the traffic.
>
>
> A simulated capture of the control traffic can be gathered with the
> openflow.debug component.
>
> i'll get you that.

> I was wondering if someone could shed more light on what could be causing
> this ? a version mismatch or is there something wrong with the vendor
> implementation of the openflow ?
>
> -------- ERROR message : ---------------------------------
>
> DEBUG:core:POX 0.3.0 (dart) going up...
> DEBUG:core:Running on CPython (2.7.3/Sep 26 2013 20:03:06)
> DEBUG:core:Platform is
> Linux-3.2.0-29-generic-x86_64-with-Ubuntu-12.04-precise
> INFO:core:POX 0.3.0 (dart) is up.
> DEBUG:openflow.of_01:Listening on 192.168.2.1:6633
> INFO:openflow.of_01:[xx-xx-xx-xx-xx-xx 1] connected
> DEBUG:forwarding.l2_learning:Connection [xx-xx-xx-xx-xx-xx 1]
> DEBUG:forwarding.l2_learning:Port for 00:e0:2b:00:00:00 unknown -- flooding
> DEBUG:forwarding.l2_learning:Port for 00:e0:2b:00:00:00 unknown -- flooding
> DEBUG:forwarding.l2_learning:installing flow for 00:16:41:ef:46:47.11 ->
> 00:16:41:ef:5f:70.15
> ERROR:openflow.of_01:[xx-xx-xx-xx-xx-xx 1] OpenFlow Error:
> [xx-xx-xx-xx-xx-xx 1] Error: header:
> [xx-xx-xx-xx-xx-xx 1] Error:   version: 1
> [xx-xx-xx-xx-xx-xx 1] Error:   type:    1 (OFPT_ERROR)
> [xx-xx-xx-xx-xx-xx 1] Error:   length:  84
> [xx-xx-xx-xx-xx-xx 1] Error:   xid:     9
> [xx-xx-xx-xx-xx-xx 1] Error: type: 45250
> [xx-xx-xx-xx-xx-xx 1] Error: code: 0
> [xx-xx-xx-xx-xx-xx 1] Error: datalen: 72
> [xx-xx-xx-xx-xx-xx 1] Error: 0000: 00 00 23 20 00 01 02 02  01 0e 00 50 00
> 00 00 09   |..# .......P....|
> [xx-xx-xx-xx-xx-xx 1] Error: 0010: 00 00 00 00 00 0b 00 16  41 ef 46 47 00
> 16 41 ef     |........A.FG..A.|
> [xx-xx-xx-xx-xx-xx 1] Error: 0020: 5f 70 ff ff 00 00 08 06  00 02 00 00 0a
> 0a 01 0a       |_p..............|
> [xx-xx-xx-xx-xx-xx 1] Error: 0030: 0a 0a 01 0c 00 00 00 00  00 00 00 00 00
> 00 00 00   |................|
> [xx-xx-xx-xx-xx-xx 1] Error: 0040: 00 00 00 0a 00 1e 80 00
>                        |........        |
>
> -------------- ERROR message --------------------------------------
>
> Naman
> <pox.log>
>
>
> Naman

Reply via email to