def __init__(self):
        sg_enabled = securitygroups_rpc.is_firewall_enabled()
        vif_details = {portbindings.CAP_PORT_FILTER: sg_enabled,
                       portbindings.VIF_DETAILS_CONNECTIVITY:
                           portbindings.CONNECTIVITY_L2}
        # NOTE(moshele): Bind DIRECT (SR-IOV) port allows
        # to offload the OVS flows using tc to the SR-IOV NIC.
        # We are using OVS mechanism driver because the openvswitch (>=2.8.0)
        # support hardware offload via tc and that allow us to manage the VF by
        # OpenFlow control plane using representor net-device.
        super(OpenvswitchMechanismDriver, self).__init__(
            constants.AGENT_TYPE_OVS,
            portbindings.VIF_TYPE_OVS,
            vif_details)

        # TODO(lajoskatona): move this prohibition to
        # SimpleAgentMechanismDriverBase. By that, prohibition and validation
        # of the vnic_types would be available for all mechanism drivers.
        self.supported_vnic_types = self.prohibit_list_supported_vnic_types(
            vnic_types=[portbindings.VNIC_NORMAL,
                        portbindings.VNIC_DIRECT,
                        portbindings.VNIC_SMARTNIC],
            prohibit_list=cfg.CONF.OVS_DRIVER.vnic_type_prohibit_list
        )
        LOG.info("%s's supported_vnic_types: %s",
                 self.agent_type, self.supported_vnic_types)

        ovs_qos_driver.register()
        log_driver.register()
Ejemplo n.º 2
0
    def __init__(self):
        sg_enabled = securitygroups_rpc.is_firewall_enabled()
        hybrid_plug_required = (not cfg.CONF.SECURITYGROUP.firewall_driver
                                or cfg.CONF.SECURITYGROUP.firewall_driver
                                in (IPTABLES_FW_DRIVER_FULL,
                                    'iptables_hybrid')) and sg_enabled
        vif_details = {
            portbindings.CAP_PORT_FILTER: sg_enabled,
            portbindings.OVS_HYBRID_PLUG: hybrid_plug_required
        }
        # NOTE(moshele): Bind DIRECT (SR-IOV) port allows
        # to offload the OVS flows using tc to the SR-IOV NIC.
        # We are using OVS mechanism driver because the openvswitch (>=2.8.0)
        # support hardware offload via tc and that allow us to manage the VF by
        # OpenFlow control plane using representor net-device.
        super(OpenvswitchMechanismDriver,
              self).__init__(constants.AGENT_TYPE_OVS,
                             portbindings.VIF_TYPE_OVS, vif_details)

        # TODO(lajoskatona): move this blacklisting to
        # SimpleAgentMechanismDriverBase. By that e blacklisting and validation
        # of the vnic_types would be available for all mechanism drivers.
        self.supported_vnic_types = self.blacklist_supported_vnic_types(
            vnic_types=[portbindings.VNIC_NORMAL, portbindings.VNIC_DIRECT],
            blacklist=cfg.CONF.OVS_DRIVER.vnic_type_blacklist)
        LOG.info("%s's supported_vnic_types: %s", self.agent_type,
                 self.supported_vnic_types)

        ovs_qos_driver.register()
        log_driver.register()
Ejemplo n.º 3
0
    def __init__(self):
        sg_enabled = securitygroups_rpc.is_firewall_enabled()
        vif_details = {
            portbindings.CAP_PORT_FILTER: sg_enabled,
            portbindings.VIF_DETAILS_CONNECTIVITY: portbindings.CONNECTIVITY_L2
        }
        # NOTE(moshele): Bind DIRECT (SR-IOV) port allows
        # to offload the OVS flows using tc to the SR-IOV NIC.
        # We are using OVS mechanism driver because the openvswitch (>=2.8.0)
        # support hardware offload via tc and that allow us to manage the VF by
        # OpenFlow control plane using representor net-device.
        supported_vnic_types = [
            portbindings.VNIC_NORMAL,
            portbindings.VNIC_DIRECT,
            portbindings.VNIC_SMARTNIC,
            portbindings.VNIC_VHOST_VDPA,
        ]
        prohibit_list = cfg.CONF.OVS_DRIVER.vnic_type_prohibit_list
        super(OpenvswitchMechanismDriver,
              self).__init__(constants.AGENT_TYPE_OVS,
                             portbindings.VIF_TYPE_OVS,
                             vif_details,
                             supported_vnic_types=supported_vnic_types,
                             vnic_type_prohibit_list=prohibit_list)

        ovs_qos_driver.register()
        log_driver.register()
Ejemplo n.º 4
0
    def __init__(self):
        sg_enabled = securitygroups_rpc.is_firewall_enabled()
        hybrid_plug_required = (not cfg.CONF.SECURITYGROUP.firewall_driver or
            cfg.CONF.SECURITYGROUP.firewall_driver in (
                IPTABLES_FW_DRIVER_FULL, 'iptables_hybrid')) and sg_enabled
        vif_details = {portbindings.CAP_PORT_FILTER: sg_enabled,
                       portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}
        # NOTE(moshele): Bind DIRECT (SR-IOV) port allows
        # to offload the OVS flows using tc to the SR-IOV NIC.
        # We are using OVS mechanism driver because the openvswitch (>=2.8.0)
        # support hardware offload via tc and that allow us to manage the VF by
        # OpenFlow control plane using representor net-device.
        super(OpenvswitchMechanismDriver, self).__init__(
            constants.AGENT_TYPE_OVS,
            portbindings.VIF_TYPE_OVS,
            vif_details)

        # TODO(lajoskatona): move this blacklisting to
        # SimpleAgentMechanismDriverBase. By that e blacklisting and validation
        # of the vnic_types would be available for all mechanism drivers.
        self.supported_vnic_types = self.blacklist_supported_vnic_types(
            vnic_types=[portbindings.VNIC_NORMAL, portbindings.VNIC_DIRECT],
            blacklist=cfg.CONF.OVS_DRIVER.vnic_type_blacklist
        )
        LOG.info("%s's supported_vnic_types: %s",
                 self.agent_type, self.supported_vnic_types)

        ovs_qos_driver.register()
        log_driver.register()
Ejemplo n.º 5
0
 def __init__(self):
     sg_enabled = securitygroups_rpc.is_firewall_enabled()
     hybrid_plug_required = (not cfg.CONF.SECURITYGROUP.firewall_driver
                             or cfg.CONF.SECURITYGROUP.firewall_driver
                             in (IPTABLES_FW_DRIVER_FULL,
                                 'iptables_hybrid')) and sg_enabled
     vif_details = {
         portbindings.CAP_PORT_FILTER: sg_enabled,
         portbindings.OVS_HYBRID_PLUG: hybrid_plug_required
     }
     # NOTE(moshele): Bind DIRECT (SR-IOV) port allows
     # to offload the OVS flows using tc to the SR-IOV NIC.
     # We are using OVS mechanism driver because the openvswitch (>=2.8.0)
     # support hardware offload via tc and that allow us to manage the VF by
     # OpenFlow control plane using representor net-device.
     super(OpenvswitchMechanismDriver,
           self).__init__(constants.AGENT_TYPE_OVS,
                          portbindings.VIF_TYPE_OVS,
                          vif_details,
                          supported_vnic_types=[
                              portbindings.VNIC_NORMAL,
                              portbindings.VNIC_DIRECT
                          ])
     ovs_qos_driver.register()
     log_driver.register()
Ejemplo n.º 6
0
 def __init__(self):
     sg_enabled = securitygroups_rpc.is_firewall_enabled()
     hybrid_plug_required = (not cfg.CONF.SECURITYGROUP.firewall_driver or
         cfg.CONF.SECURITYGROUP.firewall_driver in (
             IPTABLES_FW_DRIVER_FULL, 'iptables_hybrid')) and sg_enabled
     vif_details = {portbindings.CAP_PORT_FILTER: sg_enabled,
                    portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}
     super(OpenvswitchMechanismDriver, self).__init__(
         constants.AGENT_TYPE_OVS,
         portbindings.VIF_TYPE_OVS,
         vif_details)
     ovs_qos_driver.register()
Ejemplo n.º 7
0
 def __init__(self):
     sg_enabled = securitygroups_rpc.is_firewall_enabled()
     hybrid_plug_required = (not cfg.CONF.SECURITYGROUP.firewall_driver or
         cfg.CONF.SECURITYGROUP.firewall_driver in (
             IPTABLES_FW_DRIVER_FULL, 'iptables_hybrid')) and sg_enabled
     vif_details = {portbindings.CAP_PORT_FILTER: sg_enabled,
                    portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}
     super(OpenvswitchMechanismDriver, self).__init__(
         constants.AGENT_TYPE_OVS,
         portbindings.VIF_TYPE_OVS,
         vif_details)
     ovs_qos_driver.register()
Ejemplo n.º 8
0
 def __init__(self):
     sg_enabled = securitygroups_rpc.is_firewall_enabled()
     hybrid_plug_required = (not cfg.CONF.SECURITYGROUP.firewall_driver or
         cfg.CONF.SECURITYGROUP.firewall_driver in (
             IPTABLES_FW_DRIVER_FULL, 'iptables_hybrid')) and sg_enabled
     vif_details = {portbindings.CAP_PORT_FILTER: sg_enabled,
                    portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}
     # NOTE(moshele): Bind DIRECT (SR-IOV) port allows
     # to offload the OVS flows using tc to the SR-IOV NIC.
     # We are using OVS mechanism driver because the openvswitch (>=2.8.0)
     # support hardware offload via tc and that allow us to manage the VF by
     # OpenFlow control plane using representor net-device.
     super(OpenvswitchMechanismDriver, self).__init__(
         constants.AGENT_TYPE_OVS,
         portbindings.VIF_TYPE_OVS,
         vif_details, supported_vnic_types=[portbindings.VNIC_NORMAL,
                                            portbindings.VNIC_DIRECT])
     ovs_qos_driver.register()
     log_driver.register()