<commit_before>---
title: hostdev passthrough
category: feature
authors: mbetak, mpolednik
wiki_category: Feature
wiki_title: Features/hostdev passthrough
wiki_revision_count: 65
wiki_last_updated: 2015-05-07
---

# VM device PCI passthrough

### Summary

This feature will allow VDSM to assign pci device to guest using passthrough

### Owner

*   Name: [ <NAME>](User:<NAME>)
*   Email: <<EMAIL>>

### Current status

*   Last updated date: Fri Dec 20 2013

### VDSM side

Unlike virtual devices, PCI passthrough uses real host hardware, making the number of such assigned devices limited. VDSM will report available devices in vdsCapabilities using keyword hostDevices. The list itself does not (and by philosophy cannot) report the assignments itself. These are reported in VM devices section, identified by type 'hostdev'.

Structures

    vdsCapabilities 'hostDevices': [{'name': '...', 'vendor': '...', 'product': '...'}]
    VM: 'devices': [... {'type': 'hostdev', 'name': '...', 'vendor': '...', 'product': '...'} ...]

Hot(un)plug is accomplished by hotplugHostdev and hotunplugHostdev calls, which only take vmId and name field of the device to be added/removed.

#### Migration

Migration should be disabled for any VM with hostdev device.

### Engine side

Engine needs to internally keep track of device assignments for individual hosts. Device assignment should preferably look similar to virt-manager, displaying list of (name product vendor) available for assignment. User also needs to have a way of hot(un)plugging these devices.

<Category:Feature><commit_msg>Updated hostdev passthrough<commit_after>---
title: hostdev passthrough
category: feature
authors: mbetak, mpolednik
wiki_category: Feature
wiki_title: Features/hostdev passthrough
wiki_revision_count: 65
wiki_last_updated: 2015-05-07
---

# VM device PCI passthrough

### Summary

This feature will allow VDSM to assign pci device to guest using passthrough

### Owner

*   Name: [ <NAME>](User:<NAME>)
*   Email: <<EMAIL>>

### Current status

*   Last updated date: Fri Dec 20 2013

### VDSM side

Unlike virtual devices, PCI passthrough uses real host hardware, making the number of such assigned devices limited. VDSM will report available devices in vdsCapabilities using keyword hostDevices. The list itself does not (and by philosophy cannot) report the assignments itself. These are reported in VM devices section, identified by type 'hostdev'.

Structures

    vdsCapabilities 'hostDevices': [{'name': '...', 'vendor': '...', 'product': '...'}]
    VM: 'devices': [... {'type': 'hostdev', 'name': '...', 'vendor': '...', 'product': '...'} ...]

Hot(un)plug is accomplished by hotplugHostdev and hotunplugHostdev calls, which only take vmId and name field of the device to be added/removed.

### Migration

Migration should be disabled for any VM with hostdev device.

### Engine side

Engine needs to internally keep track of device assignments for individual hosts. Device assignment should preferably look similar to virt-manager, displaying list of (name product vendor) available for assignment. User also needs to have a way of hot(un)plugging these devices.

<Category:Feature>
{'fraction_non_alphanumeric': 0.10494799873936338, 'fraction_numerical': 0.010085092971950834, 'mean_word_length': 4.539267015706806, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4880930', 'n_tokens_mistral': 910, 'n_tokens_neox': 871, 'n_words': 385}