Exemple #1
0
    def start_for_guest(self):
        """See IPktFwd for general description

        Activates testpmd for guest config
        """
        self._logger.info("Starting TestPMD for one guest...")
        dpdk.init()
        self._testpmd.start()
        self._logger.info("TestPMD...Started.")

        if settings.getValue('VSWITCH_JUMBO_FRAMES_ENABLED'):
            self._testpmd.send('port stop all',
                               1)  # ports must be stopped to set mtu
            self._testpmd.send(
                'port config all max-pkt-len {}'.format(
                    settings.getValue('VSWITCH_JUMBO_FRAMES_SIZE')), 1)
            # conflicting info if scatter needs to be enabled or not
            self._testpmd.send('port config all scatter on', 1)
            self._testpmd.send('port start all', 1)
            self._testpmd.wait(
                timeout=60)  # port startup can take a few seconds

        self._testpmd.send('set portlist 0,2,1,3', 1)
        self._testpmd.send('set fwd {}'.format(self._fwdmode), 1)

        self._testpmd.send('start', 1)
Exemple #2
0
    def start(self):
        """See IPktFwd for general description

        Activates testpmd.
        """
        self._logger.info("Starting TestPMD...")
        dpdk.init()
        self._testpmd.start()
        self._logger.info("TestPMD...Started.")

        self._testpmd.send('set fwd {}'.format(self._fwdmode), 1)

        if settings.getValue('VSWITCH_JUMBO_FRAMES_ENABLED'):
            self._testpmd.send('port stop all',
                               1)  # ports must be stopped to set mtu
            self._testpmd.send(
                'port config all max-pkt-len {}'.format(
                    settings.getValue('VSWITCH_JUMBO_FRAMES_SIZE')), 1)
            self._testpmd.send('port start all', 1)

        for port in range(self._nports):
            self._testpmd.send(
                'csum set {} {} {}'.format(self._csum_layer, self._csum_calc,
                                           port), 1)
            self._testpmd.send(
                'csum parse_tunnel {} {}'.format(self._csum_tunnel, port), 1)

        self._testpmd.send('start', 1)
Exemple #3
0
    def start(self):
        """See IVswitch for general description

        Activates DPDK kernel modules, ovsdb and vswitchd.
        """
        dpdk.init()
        self._vswitchd.start()
Exemple #4
0
    def start(self):
        """See IVswitch for general description

        Activates DPDK kernel modules, ovsdb and vswitchd.
        """
        dpdk.init()
        super(OvsDpdkVhost, self).start()
        # old style OVS <= 2.5.0 multi-queue enable
        if S.getValue('OVS_OLD_STYLE_MQ') and \
                int(S.getValue('VSWITCH_DPDK_MULTI_QUEUES')):
            tmp_br = OFBridge(timeout=-1)
            tmp_br.set_db_attribute('Open_vSwitch', '.',
                                    'other_config:' + 'n-dpdk-rxqs',
                                    S.getValue('VSWITCH_DPDK_MULTI_QUEUES'))
    def start(self):
        """Activates DPDK kernel modules and starts VPP

        :raises: pexpect.EOF, pexpect.TIMEOUT
        """
        dpdk.init()
        self._logger.info("Starting VPP...")

        self._cmd = self._cmd_template + self._vswitch_args

        try:
            tasks.Process.start(self)
            self.relinquish()
        except (pexpect.EOF, pexpect.TIMEOUT) as exc:
            logging.error("Exception during VPP start.")
            raise exc

        self._logger.info("VPP...Started.")