diff --git a/neutron_lib/objects/common_types.py b/neutron_lib/objects/common_types.py index 30c2fe697..1252065ed 100644 --- a/neutron_lib/objects/common_types.py +++ b/neutron_lib/objects/common_types.py @@ -390,3 +390,7 @@ class NetworkSegmentRangeNetworkTypeEnumField(obj_fields.AutoTypedField): class NumaAffinityPoliciesEnumField(obj_fields.AutoTypedField): AUTO_TYPE = obj_fields.Enum(valid_values=lib_constants.PORT_NUMA_POLICIES) + + +class PortHardwareOffloadTypeEnumField(obj_fields.AutoTypedField): + AUTO_TYPE = obj_fields.Enum(valid_values=lib_constants.VALID_HWOL_TYPES) diff --git a/neutron_lib/tests/unit/objects/test_common_types.py b/neutron_lib/tests/unit/objects/test_common_types.py index 51d3bd582..a29ea3300 100644 --- a/neutron_lib/tests/unit/objects/test_common_types.py +++ b/neutron_lib/tests/unit/objects/test_common_types.py @@ -347,3 +347,18 @@ class NumaAffinityPoliciesEnumFieldTest(test_base.BaseTestCase, TestField): def test_stringify(self): for in_val, out_val in self.coerce_good_values: self.assertEqual("'%s'" % in_val, self.field.stringify(in_val)) + + +class PortHardwareOffloadTypeEnumFieldTest(test_base.BaseTestCase, TestField): + def setUp(self): + super().setUp() + self.field = common_types.PortHardwareOffloadTypeEnumField() + good_values = [const.HWOL_TYPE_SWITCHDEV] + self.coerce_good_values = [(val, val) for val in good_values] + self.coerce_bad_values = ['foo-invalid-type'] + self.to_primitive_values = self.coerce_good_values + self.from_primitive_values = self.coerce_good_values + + def test_stringify(self): + for in_val, out_val in self.coerce_good_values: + self.assertEqual("'%s'" % in_val, self.field.stringify(in_val)) diff --git a/releasenotes/notes/rehome-port_hardware_offload_type_enum_field-302f7ba68ddfef60.yaml b/releasenotes/notes/rehome-port_hardware_offload_type_enum_field-302f7ba68ddfef60.yaml new file mode 100644 index 000000000..a833d3fa5 --- /dev/null +++ b/releasenotes/notes/rehome-port_hardware_offload_type_enum_field-302f7ba68ddfef60.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The class ``PortHardwareOffloadTypeEnumField`` is now available in + ``neutron_lib.objects.common_types``.