Exemple #1
0
    def test_link_info_with_pci_addr(self):
        link_info = {
            'index': '',
            'qdisc': '',
            'name': 'dpdk0',
            'mtu': '',
            'state': 'up',
            'flags': '',
            'address': '02:00:00:00:00:00',
            'type': 'dpdk',
            'pci_addr': '0000:02:00.1',
        }

        with mock.patch.object(
                dpdk,
                'get_dpdk_devices',
                return_value={
                    'dpdk0': {
                        'pci_addr': '0000:02:00.1',
                        'driver': 'vfio-pci'
                    }
                },
        ):

            self.assertEqual(link_info, dpdk.link_info('dpdk0',
                                                       '0000:02:00.1'))
Exemple #2
0
def list():
    dpdk_links = (dpdk.link_info(dev_name, dev_info['pci_addr'])
                  for dev_name, dev_info
                  in six.viewitems(dpdk.get_dpdk_devices()))
    for properties in itertools.chain(link.iter_links(), dpdk_links):
        if 'type' not in properties:
            properties['type'] = get_alternative_type(properties['name'])
        yield properties
Exemple #3
0
def list():
    dpdk_links = (dpdk.link_info(dev_name, dev_info['pci_addr'])
                  for dev_name, dev_info
                  in six.viewitems(dpdk.get_dpdk_devices()))
    for properties in itertools.chain(link.iter_links(), dpdk_links):
        if 'type' not in properties:
            properties['type'] = get_alternative_type(properties['name'])
        yield properties
Exemple #4
0
def getLinks():
    """Return an iterator of Link objects, each per a link in the system."""
    dpdk_links = (
        dpdk.link_info(dev_name, dev_info['pci_addr'])
        for dev_name, dev_info in six.viewitems(dpdk.get_dpdk_devices()))
    for data in itertools.chain(link.iter_links(), dpdk_links):
        try:
            yield Link.fromDict(data)
        except IOError:  # If a link goes missing we just don't report it
            continue
Exemple #5
0
def getLinks():
    """Return an iterator of Link objects, each per a link in the system."""
    dpdk_links = (dpdk.link_info(dev_name, dev_info['pci_addr'])
                  for dev_name, dev_info
                  in six.viewitems(dpdk.get_dpdk_devices()))
    for data in itertools.chain(link.iter_links(), dpdk_links):
        try:
            yield Link.fromDict(data)
        except IOError:  # If a link goes missing we just don't report it
            continue
Exemple #6
0
    def test_link_info_without_pci_addr(self):
        link_info = {
            'index': '',
            'qdisc': '',
            'name': 'dpdk0',
            'mtu': '',
            'state': 'up',
            'flags': '',
            'address': '02:00:00:00:00:00',
            'type': 'dpdk',
            'pci_addr': None
        }

        with mock.patch.object(dpdk, 'get_dpdk_devices',
                               return_value={'dpdk0': {
                                   'pci_addr': '0000:02:00.1',
                                   'driver': 'vfio-pci'}}):

            self.assertEqual(link_info, dpdk.link_info('dpdk0'))
Exemple #7
0
def _get_mac(iface):
    if dpdk.is_dpdk(iface):
        return dpdk.link_info(iface)['address']
    return link.get_link(iface)['address']
Exemple #8
0
def getLink(dev):
    """Returns the Link object for the specified dev."""
    if dpdk.is_dpdk(dev):
        return dpdk.link_info(dev)
    return Link.fromDict(link.get_link(dev))
Exemple #9
0
 def properties(self):
     if self._is_dpdk_type:
         info = dpdk.link_info(self._dev)
     else:
         info = link.get_link(self._dev)
     return info
Exemple #10
0
def getLink(dev):
    """Returns the Link object for the specified dev."""
    if dpdk.is_dpdk(dev):
        return dpdk.link_info(dev)
    return Link.fromDict(link.get_link(dev))
Exemple #11
0
def mac_address(dev):
    if dpdk.is_dpdk(dev):
        return dpdk.link_info(dev)['address']
    return get_link(dev)['address']
Exemple #12
0
 def properties(self):
     if self._is_dpdk_type:
         info = dpdk.link_info(self._dev)
     else:
         info = link.get_link(self._dev)
     return info
Exemple #13
0
def _get_mac(iface):
    if dpdk.is_dpdk(iface):
        return dpdk.link_info(iface)['address']
    return link.get_link(iface)['address']