[ovs-dev] New custom Message - unknown OpenFlow message

Adam adam.rzyska at smail.inf.h-brs.de
Mon Mar 27 19:50:09 UTC 2017


Zitat von Ben Pfaff <blp at ovn.org>:

> On Mon, Mar 27, 2017 at 09:08:32PM +0200, Adam Paul Rzyska wrote:
>> Hello,
>>
>> in the last weeks I tried to exchange custom openflow messages (type
>> experimenter) between a controller (ONOS) and a switch (Open vSwitch). The
>> controller sends a really simple of-msg:
>>
>> struct my_custom_struct : of_nicira_header {
>>      uint8_t version;
>>      uint8_t type == 4;
>>      uint16_t length;
>>      uint32_t xid;
>>      uint32_t experimenter == 0x00002320;
>>      uint32_t subtype == 0x0080;
>>  };
>>
>> In wireshark and OVS it is possible to see, that the switch receives my
>> custom messages. I've added ofpraw and oftype in ofp-msgs.h. My
>> request_method have been added to ofproto.c and also into the switch case.
>> It works fine with a simple VLOG_INFO() output. Every time the switch
>> receive my custom message a VLOG_INFO-message pops up into the logging file
>> of OVS. But as soon as I'm trying to implement a reply/replies a error
>> occurs, which crash's the vswichd (demon). This results in disconnecting the
>> switch from the controller.
>>
>> Error message: 2017-02-05T12:09:02Z|00225|ofp_msgs|WARN|unknown OpenFlow
>> message (version 4, type 19, stat 0, vendor 0x2320, subtype 80)
>>
>> I know exactly where it happens, but I don't know why... It starts with
>> ofpmp_init() in my method.
>
> Can you post a backtrace from GDB?  Have you tried running ovs-vswitchd
> under valgrind?

I've installed OVS on a tp-link router which has not enough space for  
things like gdb or make. If it's necessary I would expand the disk  
space with an additional usb stick.

So, do I run gdb like: gdb <program> <process-id> ?

Never heard of valgrind, but found the ovs documentation  
http://docs.openvswitch.org/en/latest/topics/testing/.



More information about the dev mailing list