[ovs-discuss] Custom Experimenter Message

Apostolis Prassas apoprassas94 at gmail.com
Mon Jul 12 17:39:21 UTC 2021


Hello everyone,

First of all, I am new it this mailing list, and I would like to apologize
if there is already a relative thread. I have searched for it, but I did
not find anything similar.

So, to start with which is my goal. While I'm using an SDN controller
(Ryu), I'm sending an Experimenter message ( specifically an
ExperimenterStatsRequest message) to the open vswitch, and I would like the
switch to decode it and reply with a respective (ExperimenterStatsReply)
one.

Following the Documentation, I have already added these two new messages
into *enum ofpraw* structure (ofp-msgs.h) like:
/* OFPST 1.3+ (65535): struct ofp_prop_experimenter. */
OFPRAW_OFPST13_EXPERIMENTER_REQUEST

/* OFPST 1.3+ (65535): struct ofp_prop_experimenter. */
 OFPRAW_OFPST13_EXPERIMENTER_REPLY,


and into the *enum ofptype *structure (ofp-msgs.h)

OFPTYPE_EXPERIMENTER_STATS_REQUEST
OFPTYPE_EXPERIMENTER_STATS_REPLY

After that, I compiled the source code and a debugging process followed,
where I achieved no errors/warnings.
Actually, was needed to add the type of these messages into the below files:
ofp-bundle.c
ofp-print.c
rconn.c
ofproto.c

However, when I tested my "new" code, the result was the same as with the
original code, that is, the switch cannot recognize the type of the message
and returns a message like "OFPBRC_BAD_EXPERIMENTER" or
"OFPBRC_BAD_SUBTYPE".

I continued the debugging and I found that the problem has to do with the
hashing (HMAP_FOR_EACH_WITH_HASH) into the *ofpraw_from_ofphdrs() *function
of the ofp-msgs.c file. However, I have stacked to this point and I would
like to ask if there is anyone who could help or give me directions on how
to continue.

Thanks in advance,
Apostolis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20210712/fb2b3525/attachment.html>


More information about the discuss mailing list