On 12/19/25 2:03 PM, Dumitru Ceara wrote:
> On 12/19/25 1:04 PM, Ilya Maximets wrote:
>> If someone is adding new fields, they need to be aware that the OXM
>> field id cannot exceed 127, as only 7 bits are reserved for it in the
>> header.  See "7.2.3.2 Flow Match Field Structures" in the OpenFlow 1.5
>> spec or the comment at the top of lib/nx-match.c.
>>
>> Add a check for the value range, so the build fails if it's incorrect.
>> Otherwise the field will be truncated or overflow into the class and
>> break message parsing.
>>
>> Exmaple:
>>
>>   include/openvswitch/meta-flow.h
>>   -     * NXM: NXM_NX_REG15(15) since v2.6.      <15>
>>   +     * NXM: NXM_NX_REG15(130) since v2.6.      <15>
>>
>>   $ make
>>   ./include/openvswitch/meta-flow.h:1029:
>>         NXM_NX_REG15: OXM field is out of range (130 > 127)
>>
>> Note: the script calls the number 'oxm_type', which is a little
>> confusing, since type includes both the class and the field.  But
>> that's a separate story.
>>
>> Signed-off-by: Ilya Maximets <[email protected]>
>> ---
> 
> Hi Ilya,
> 
> Thanks for the fix (and for helping me understand why the patch I was
> working on didn't function properly due to me using invalid field IDs)!
> I hope it saves others the trouble of debugging why things don't
> actually work even if the compilation succeeded.
> 
> Acked-by: Dumitru Ceara <[email protected]>

Applied.  Thanks!

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to