[ovs-discuss] stat request reply malformatted, on new experimenter action.

David Evans davidjoshuaevans at gmail.com
Wed May 6 22:58:20 UTC 2015


Thank you.
That was helpful.
I found that using the default ofpact_put* failed. And I used
ofpact_put_raw() instead. I don¹t know why. But I kept getting illegal
length not %8 from ovs-ofctl.

Now I see some compose_* actions in the ofproto-dpif-xlate.c
But I don¹t see how anything turns from a OFPACT_* into an
OVS_ACTION_ATTR_* ?
Where does this part of the translation from openflow action to datapath
action happen.
I don¹t see any tables, or comparison items that would lead me to be able
to match my OVS_ACTION_ATTR_FOO_MY_PKTS against my new ofp_raw_action_type
Value DE_RAW_FOO_MY_PKTS action.

I think do_xlate_actions is supposed to build a ctx for thisŠ but I am at
a loss to understand how I do the above.

Regards,
Dave.


On 5/6/15, 12:40 PM, "Ben Pfaff" <blp at nicira.com> wrote:

>On Wed, May 06, 2015 at 08:00:07AM -0500, David Evans wrote:
>> I have gotten a little further.
>> My new flow action registers ok in ovs, but when i use ovs-ofctl to dump
>> the flows, the reply message parser in ovs-ofctl bails out trying to
>>read
>> the instruction/actions from the message saying that they're an invalid
>> length.
>> Do i need a vendor_id specific stats reply or something like that to fix
>> this?
>
>It seems likely that the encode_*() function that you wrote does not
>properly encode the new action.  Does it use the generated
>ofpact_put_*() function to encode the action?  I would also check the
>hexdump for the action to make sure that it has the expected format.
>
>You do need a "vendor extension" or "experimenter" action but the
>generated ofpact_put_*() function should take care of that for you.





More information about the discuss mailing list