> Le 11 oct. 2017 à 14:00, Ben Pfaff <b...@ovn.org> a écrit :
>> 
>> I was successful to add the flow with my new type.
>> 
>> However, I needed to comment some code in the following function because my 
>> OXM is not mapped.
> 
> Oh, I forgot that the variable-length fields we have already follow a
> different model.  Any individual field at a given time has a fixed
> length, but the controller can change those lengths.  This is because
> they were invented for Geneve TLVs.  Each TLV has a fixed length, but
> different controllers might use different TLVs, so when the controller
> connects to the switch it configures ("maps") the TLVs it wants onto
> OXMs reserved for that purpose.
> 
> I think you're doing something else, where a single OXM can have
> different lengths at the same time.  You might need to break new ground
> here, then.  OVS doesn't have any variable-length OXMs of that kind yet.


The OXM is variable for each of its use. Not based on the controller like the 
tunnelMD. I will fix code where it does not work when I’ll try it (when running 
a packet to be matched, for now the flow install).
 
I’m looking to implement this OXM field in miniflow_extract() (lib/flow.c). 
However I don’t know the offset and length of the field until the switch 
receive an experimenter message for a table that set the offset and size for 
the field. When this message is received, the miniflow_extract() should start 
copying the field in miniflow (that goes in flow). So I’ll be able to match the 
OXM later on. In fact, I have talked to our switch dev guys and this is similar 
on how our switch work. 
Here are the steps:
1- Configure the UDP offset and UDP size in TABLE 2 via an experimenter message.
2- miniflow_extract() start copying this new UDP field only for table 2.
3- put OXM UDP match payload in nx_put_raw().

In your opinion will this be hard to do? I there a structure that contains 
table information that can be used in miniflow_extract()?

Thanks again for all your help,

Yann


_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to