We discussed this during the PTG. The HW offload capability is requested in the port definition, this is not implicit in the backend. As you commented, any HW offload deployment can host kernel and HW offloaded ports.
The other justification is that, by default in Neutron, we don't implement config driven API features. In other words: we don't implement variables that change the API, in this case the port creation, always defining this new parameter to "switchdev".
Now we have defined a parameter outside the port binding dictionary, you can lecture your users to request both "direct" and "hardware_offload_type" in the port creation definition.
Hello John:
We discussed this during the PTG. The HW offload capability is requested in the port definition, this is not implicit in the backend. As you commented, any HW offload deployment can host kernel and HW offloaded ports.
The other justification is that, by default in Neutron, we don't implement config driven API features. In other words: we don't implement variables that change the API, in this case the port creation, always defining this new parameter to "switchdev".
Now we have defined a parameter outside the port binding dictionary, you can lecture your users to request both "direct" and "hardware_ offload_ type" in the port creation definition.
Regards.