Currently, DASH SAI attributes are generated based on the order of table keys and action parameters. When multiple types of objects are mixed together, adding a new attributes could cause new SAI attributes being inserted in the middle of the attribute list and breaks the ABI compatibility.
What are we doing in this change
This change introduces 2 things:
adds order attribute in @SaiVal annotation, so we could sort the attributes in the way that keeps the ABI compatibility.
renames api_order to order in @SaiTable annotation, to keep the naming the same way.
The current change will not change the generated content today, as screenshot shows below:
Problem
Currently, DASH SAI attributes are generated based on the order of table keys and action parameters. When multiple types of objects are mixed together, adding a new attributes could cause new SAI attributes being inserted in the middle of the attribute list and breaks the ABI compatibility.
What are we doing in this change
This change introduces 2 things:
order
attribute in@SaiVal
annotation, so we could sort the attributes in the way that keeps the ABI compatibility.api_order
toorder
in@SaiTable
annotation, to keep the naming the same way.The current change will not change the generated content today, as screenshot shows below: