# Path: os_vif/objects/base.py
# class VersionedObject(ovo_base.VersionedObject):
# class VersionedObjectPrintableMixin(object):
#     OBJ_PROJECT_NAMESPACE = 'os_vif'
#     def __str__(self):
# 
# Path: os_vif/objects/fields.py
# class VIFDirectMode(fields.Enum):
# class VIFDirectModeField(fields.BaseEnumField):
# class VIFVHostUserMode(fields.Enum):
# class VIFVHostUserModeField(fields.BaseEnumField):
# class ListOfIPAddressField(fields.AutoTypedField):
# class VIFHostDeviceDevType(fields.Enum):
# class VIFHostDeviceDevTypeField(fields.BaseEnumField):
#     VEPA = 'vepa'
#     PASSTHROUGH = 'passthrough'
#     BRIDGE = 'bridge'
#     ALL = (VEPA, PASSTHROUGH, BRIDGE)
#     AUTO_TYPE = VIFDirectMode()
#     CLIENT = "client"
#     SERVER = "server"
#     ALL = (CLIENT, SERVER)
#     AUTO_TYPE = VIFVHostUserMode()
#     AUTO_TYPE = fields.List(fields.IPAddress())
#     ETHERNET = 'ethernet'
#     GENERIC = 'generic'
#     ALL = (ETHERNET, GENERIC)
#     AUTO_TYPE = VIFHostDeviceDevType()
#     def __init__(self):
#     def __init__(self):
#     def __init__(self):


from debtcollector import removals
from oslo_utils import versionutils
from oslo_versionedobjects import base
from oslo_versionedobjects import fields
from os_vif.objects import base as osv_base
from os_vif.objects import fields as osv_fields
    }


@base.VersionedObjectRegistry.register
class VIFNestedDPDK(VIFBase):
    """A nested DPDK-style VIF.

    Nested DPDK-style VIFs are used by Kuryr-Kubernetes to provide accelerated
    DPDK datapath for nested Kubernetes pods running inside the VM. The port
    is first attached to the virtual machine, bound to the userspace driver
    (e.g. ``uio_pci_generic``, ``igb_uio`` or ``vfio-pci``) and then consumed
    by Kubernetes pod via the kuryr-kubernetes CNI plugin.

    This does not apply to libvirt drivers.
    """

    # Version 1.0: Initial release
    VERSION = '1.0'

    fields = {
        #: PCI address of the device.
        'pci_address': fields.StringField(),

        #: Name of the driver the device was previously bound to; it makes
        #: the controller driver agnostic (virtio, SR-IOV, etc.).
        'dev_driver': fields.StringField(),
    }


@base.VersionedObjectRegistry.register

# Path: os_vif/objects/base.py
# class VersionedObject(ovo_base.VersionedObject):
# class VersionedObjectPrintableMixin(object):
#     OBJ_PROJECT_NAMESPACE = 'os_vif'
#     def __str__(self):
# 
# Path: os_vif/objects/fields.py
# class VIFDirectMode(fields.Enum):
# class VIFDirectModeField(fields.BaseEnumField):
# class VIFVHostUserMode(fields.Enum):
# class VIFVHostUserModeField(fields.BaseEnumField):
# class ListOfIPAddressField(fields.AutoTypedField):
# class VIFHostDeviceDevType(fields.Enum):
# class VIFHostDeviceDevTypeField(fields.BaseEnumField):
#     VEPA = 'vepa'
#     PASSTHROUGH = 'passthrough'
#     BRIDGE = 'bridge'
#     ALL = (VEPA, PASSTHROUGH, BRIDGE)
#     AUTO_TYPE = VIFDirectMode()
#     CLIENT = "client"
#     SERVER = "server"
#     ALL = (CLIENT, SERVER)
#     AUTO_TYPE = VIFVHostUserMode()
#     AUTO_TYPE = fields.List(fields.IPAddress())
#     ETHERNET = 'ethernet'
#     GENERIC = 'generic'
#     ALL = (ETHERNET, GENERIC)
#     AUTO_TYPE = VIFHostDeviceDevType()
#     def __init__(self):
#     def __init__(self):
#     def __init__(self):


# Path: os_vif/objects/vif.py
from debtcollector import removals
from oslo_utils import versionutils
from oslo_versionedobjects import base
from oslo_versionedobjects import fields
from os_vif.objects import base as osv_base
from os_vif.objects import fields as osv_fields

    }


@base.VersionedObjectRegistry.register
class VIFNestedDPDK(VIFBase):
    """A nested DPDK-style VIF.

    Nested DPDK-style VIFs are used by Kuryr-Kubernetes to provide accelerated
    DPDK datapath for nested Kubernetes pods running inside the VM. The port
    is first attached to the virtual machine, bound to the userspace driver
    (e.g. ``uio_pci_generic``, ``igb_uio`` or ``vfio-pci``) and then consumed
    by Kubernetes pod via the kuryr-kubernetes CNI plugin.

    This does not apply to libvirt drivers.
    """

    # Version 1.0: Initial release
    VERSION = '1.0'

    fields = {
        #: PCI address of the device.
        'pci_address': fields.StringField(),

        #: Name of the driver the device was previously bound to; it makes
        #: the controller driver agnostic (virtio, SR-IOV, etc.).
        'dev_driver': fields.StringField(),
    }


@base.VersionedObjectRegistry.register

class DatapathOffloadBase(osv_base.VersionedObject,