'Initialize base class for SriovNicSwitch L2 agent type.
:param agent_type: Constant identifying agent type in agents_db
:param vif_details: Dictionary with details for VIF driver when bound
:param supported_vnic_types: The binding:vnic_type values we can bind'

def __init__(self, agent_type=constants.AGENT_TYPE_NIC_SWITCH, vif_details={portbindings.CAP_PORT_FILTER: False}, supported_vnic_types=[portbindings.VNIC_DIRECT, portbindings.VNIC_MACVTAP, portbindings.VNIC_DIRECT_PHYSICAL]):

    self.agent_type = agent_type
    self.supported_vnic_types = supported_vnic_types
    self.vnic_type_for_vif_type = {vtype: (portbindings.VIF_TYPE_HOSTDEV_PHY if (vtype == portbindings.VNIC_DIRECT_PHYSICAL) else portbindings.VIF_TYPE_HW_VEB) for vtype in self.supported_vnic_types}
    self.vif_details = vif_details
    sriov_qos_driver.register()
