)]}'
{"specs/wallaby/approved/libvirt-vdpa-support.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-vdpa-support"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Over the years a number of different technologies have been developed"},{"line_number":14,"context_line":"to offload networking and other function to external process to accelerate"},{"line_number":15,"context_line":"QEMU instance performance. In kernel 5.7+ a new virtual bus know as the"},{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0a63aea2_6c62e9ea","line":14,"range":{"start_line":14,"start_character":53,"end_line":14,"end_character":60},"updated":"2020-12-11 12:12:21.000000000","message":"co-processors? hardware?","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-vdpa-support"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Over the years a number of different technologies have been developed"},{"line_number":14,"context_line":"to offload networking and other function to external process to accelerate"},{"line_number":15,"context_line":"QEMU instance performance. In kernel 5.7+ a new virtual bus know as the"},{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"}],"source_content_type":"text/x-rst","patch_set":1,"id":"31e67856_e8788919","line":14,"range":{"start_line":14,"start_character":53,"end_line":14,"end_character":60},"in_reply_to":"0a63aea2_6c62e9ea","updated":"2020-12-11 13:49:50.000000000","message":"it can be dpdk it does nto have to be hardware based.\n\nin this case i was really refering to software solution shuch as the kernel vhost moduel we use for standard ovs. originally qmeu used its in tree virtio networking stack wehre the qemu emulator trhreads had to do all guest io in userspace. later that was offloaded to the kernel via the vhost kernel module.\ndpdk intoduced vhost-user to and now vdpa offers a way to offload the functional to either software or hardware. it could be a copocessor or smartnice but it could also be dpdk or other software solutions.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Over the years a number of different technologies have been developed"},{"line_number":14,"context_line":"to offload networking and other function to external process to accelerate"},{"line_number":15,"context_line":"QEMU instance performance. In kernel 5.7+ a new virtual bus know as the"},{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"},{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."}],"source_content_type":"text/x-rst","patch_set":1,"id":"93131493_30f28e13","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":8},"updated":"2020-12-11 12:12:21.000000000","message":"*vDPA*","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Over the years a number of different technologies have been developed"},{"line_number":14,"context_line":"to offload networking and other function to external process to accelerate"},{"line_number":15,"context_line":"QEMU instance performance. In kernel 5.7+ a new virtual bus know as the"},{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"},{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."}],"source_content_type":"text/x-rst","patch_set":1,"id":"53263976_6d4c8a97","line":16,"range":{"start_line":16,"start_character":27,"end_line":16,"end_character":38},"updated":"2020-12-11 12:12:21.000000000","message":"acceleration","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Over the years a number of different technologies have been developed"},{"line_number":14,"context_line":"to offload networking and other function to external process to accelerate"},{"line_number":15,"context_line":"QEMU instance performance. In kernel 5.7+ a new virtual bus know as the"},{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"},{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."}],"source_content_type":"text/x-rst","patch_set":1,"id":"a4218793_66de814b","line":16,"range":{"start_line":16,"start_character":10,"end_line":16,"end_character":16},"updated":"2020-12-11 12:12:21.000000000","message":"virtual\n\n(according to the Red Hat blog)","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Over the years a number of different technologies have been developed"},{"line_number":14,"context_line":"to offload networking and other function to external process to accelerate"},{"line_number":15,"context_line":"QEMU instance performance. In kernel 5.7+ a new virtual bus know as the"},{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"},{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."}],"source_content_type":"text/x-rst","patch_set":1,"id":"93426669_ed621c72","line":16,"range":{"start_line":16,"start_character":27,"end_line":16,"end_character":38},"in_reply_to":"53263976_6d4c8a97","updated":"2020-12-11 13:49:50.000000000","message":"yes sorry acclerator is correct if you are talking about the backend but the but in other contexts accleration is correct.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Over the years a number of different technologies have been developed"},{"line_number":14,"context_line":"to offload networking and other function to external process to accelerate"},{"line_number":15,"context_line":"QEMU instance performance. In kernel 5.7+ a new virtual bus know as the"},{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"},{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."}],"source_content_type":"text/x-rst","patch_set":1,"id":"99a72e5a_d9035948","line":16,"range":{"start_line":16,"start_character":10,"end_line":16,"end_character":16},"in_reply_to":"a4218793_66de814b","updated":"2020-12-11 13:49:50.000000000","message":"yep the blog is wrong\n\nit should be either vHost\nthe vDPA spelling comes form vHost\nhttps://events.static.linuxfound.org/sites/events/files/slides/KVM17%27-vDPA.pdf\n\nit was orginally virtio but it was renamed to vHost a long time ago.\nin anycase virtual was and i never correct.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"},{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware based smart nics via hardware offloaded ovs."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d055447e_9b2a9c79","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":3},"updated":"2020-12-11 12:12:21.000000000","message":"drop","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":16,"context_line":"``VDPA`` (virtio data path accelerator) was introduced to provide a vendor"},{"line_number":17,"context_line":"neutral way to accelerate standard virtio device using software or hardware"},{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware based smart nics via hardware offloaded ovs."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d30fc047_41ebecc6","line":19,"range":{"start_line":19,"start_character":38,"end_line":19,"end_character":46},"updated":"2020-12-11 12:12:21.000000000","message":"introduced in QEMU","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware based smart nics via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"88c29ee0_5403a380","line":21,"range":{"start_line":21,"start_character":39,"end_line":21,"end_character":43},"updated":"2020-12-11 12:12:21.000000000","message":"NICs","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 VDPA support was introduced"},{"line_number":19,"context_line":"and to leverage the VDPA capabilities in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware based smart nics via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"25c1fd60_60f8522f","line":21,"range":{"start_line":21,"start_character":18,"end_line":21,"end_character":32},"updated":"2020-12-11 12:12:21.000000000","message":"hardware-based","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":35,"context_line":"  While VDPA technically can support live migration in the future QEMU"},{"line_number":36,"context_line":"  currently does not support live migration with VDPA devices. One of the main"},{"line_number":37,"context_line":"  advantages of VDPA based networking over sriov is the ability to abstract the"},{"line_number":38,"context_line":"  device state from the vm allowing transparent live migration via a software"},{"line_number":39,"context_line":"  fallback. Until that fallback is implemented in QEMU vdpa devices will be"},{"line_number":40,"context_line":"  migrated as if they are direct mode sriov interface and will be hot unplugged"},{"line_number":41,"context_line":"  and plugged during the migration. In the future this can be replaced with"}],"source_content_type":"text/x-rst","patch_set":1,"id":"67aeb1c5_dfa8130e","line":38,"range":{"start_line":38,"start_character":24,"end_line":38,"end_character":26},"updated":"2020-12-11 12:12:21.000000000","message":"VM","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  advantages of VDPA based networking over sriov is the ability to abstract the"},{"line_number":38,"context_line":"  device state from the vm allowing transparent live migration via a software"},{"line_number":39,"context_line":"  fallback. Until that fallback is implemented in QEMU vdpa devices will be"},{"line_number":40,"context_line":"  migrated as if they are direct mode sriov interface and will be hot unplugged"},{"line_number":41,"context_line":"  and plugged during the migration. In the future this can be replaced with"},{"line_number":42,"context_line":"  transparent live migration if the QEMU version on both hosts is new enough."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"0fc300f3_bb20c4d7","line":40,"range":{"start_line":40,"start_character":38,"end_line":40,"end_character":43},"updated":"2020-12-11 12:12:21.000000000","message":"SR-IOV","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":44,"context_line":"Use Cases"},{"line_number":45,"context_line":"---------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"As an operator i want to offer hardware accelerated networking without"},{"line_number":48,"context_line":"requiring tenant to install vendor specific drivers."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As an operator i want to leverage hardware accelerated networking while"}],"source_content_type":"text/x-rst","patch_set":1,"id":"97f674fd_6f3f44b2","line":47,"range":{"start_line":47,"start_character":6,"end_line":47,"end_character":14},"updated":"2020-12-11 12:12:21.000000000","message":"As an operation, I ...","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":44,"context_line":"Use Cases"},{"line_number":45,"context_line":"---------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"As an operator i want to offer hardware accelerated networking without"},{"line_number":48,"context_line":"requiring tenant to install vendor specific drivers."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As an operator i want to leverage hardware accelerated networking while"}],"source_content_type":"text/x-rst","patch_set":1,"id":"49e456a7_d08f3eae","line":47,"range":{"start_line":47,"start_character":15,"end_line":47,"end_character":16},"updated":"2020-12-11 12:12:21.000000000","message":"I (here and elsewhere)","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":44,"context_line":"Use Cases"},{"line_number":45,"context_line":"---------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"As an operator i want to offer hardware accelerated networking without"},{"line_number":48,"context_line":"requiring tenant to install vendor specific drivers."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As an operator i want to leverage hardware accelerated networking while"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f95f7718_51c26a18","line":47,"range":{"start_line":47,"start_character":31,"end_line":47,"end_character":51},"updated":"2020-12-11 12:12:21.000000000","message":"hardware-accelerated (here and elsewhere)","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":45,"context_line":"---------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"As an operator i want to offer hardware accelerated networking without"},{"line_number":48,"context_line":"requiring tenant to install vendor specific drivers."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As an operator i want to leverage hardware accelerated networking while"},{"line_number":51,"context_line":"maintaining the ability to have transparent live migration."}],"source_content_type":"text/x-rst","patch_set":1,"id":"08fba001_a441ce3b","line":48,"range":{"start_line":48,"start_character":10,"end_line":48,"end_character":51},"updated":"2020-12-11 12:12:21.000000000","message":"vendor-specific drivers in the guest\n\n(the tenant doesn\u0027t necessarily have to install these - you could provide images with them pre-installed)","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cc87c53f47f45903bbe5a90a5ed0ce4040b7c2a9","unresolved":true,"context_lines":[{"line_number":45,"context_line":"---------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"As an operator i want to offer hardware accelerated networking without"},{"line_number":48,"context_line":"requiring tenant to install vendor specific drivers."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As an operator i want to leverage hardware accelerated networking while"},{"line_number":51,"context_line":"maintaining the ability to have transparent live migration."}],"source_content_type":"text/x-rst","patch_set":1,"id":"f04c997b_110bd5ce","line":48,"range":{"start_line":48,"start_character":10,"end_line":48,"end_character":51},"in_reply_to":"08fba001_a441ce3b","updated":"2021-01-07 18:00:37.000000000","message":"Technically true but only to a point. its more for VNFs where the image is provided by a vendor which you cant modify.\ntypically those instance already provide virtio-net interfaces since its what vanilla ovs requires and thats the most common netowork backend.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":61,"context_line":"  networking. https://github.com/openstack/neutron-lib/commit/8c6ab5e"},{"line_number":62,"context_line":"* The nova.network.model class will be extended to define the new VDPA"},{"line_number":63,"context_line":"  vnic-type"},{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."}],"source_content_type":"text/x-rst","patch_set":1,"id":"a3b818bf_58a4f6d5","line":64,"range":{"start_line":64,"start_character":69,"end_line":64,"end_character":72},"updated":"2020-12-11 12:12:21.000000000","message":"XML","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":61,"context_line":"  networking. https://github.com/openstack/neutron-lib/commit/8c6ab5e"},{"line_number":62,"context_line":"* The nova.network.model class will be extended to define the new VDPA"},{"line_number":63,"context_line":"  vnic-type"},{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."}],"source_content_type":"text/x-rst","patch_set":1,"id":"94419d75_c46817ea","line":64,"range":{"start_line":64,"start_character":54,"end_line":64,"end_character":58},"updated":"2020-12-11 12:12:21.000000000","message":"vDPA","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":62,"context_line":"* The nova.network.model class will be extended to define the new VDPA"},{"line_number":63,"context_line":"  vnic-type"},{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6f1ce8f0_29bd36bb","line":65,"range":{"start_line":65,"start_character":6,"end_line":65,"end_character":9},"updated":"2020-12-11 12:12:21.000000000","message":"PCI","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":62,"context_line":"* The nova.network.model class will be extended to define the new VDPA"},{"line_number":63,"context_line":"  vnic-type"},{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":1,"id":"914982e3_50eccc5f","line":65,"range":{"start_line":65,"start_character":58,"end_line":65,"end_character":62},"updated":"2020-12-11 12:12:21.000000000","message":"``type-vdpa`` ?\n\nI assume we should stick with the \u0027type-\u0027 prefixing, daft as they may be","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":62,"context_line":"* The nova.network.model class will be extended to define the new VDPA"},{"line_number":63,"context_line":"  vnic-type"},{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b61fae77_ec0fd15d","line":65,"range":{"start_line":65,"start_character":58,"end_line":65,"end_character":62},"in_reply_to":"914982e3_50eccc5f","updated":"2020-12-11 13:49:50.000000000","message":"yes for the pci tracker it will be type-vdpa to be in keeping with the other type-* entries butthe vnic type is just the string \"vdpa\"","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":63,"context_line":"  vnic-type"},{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":69,"context_line":"  to the unnamed group any vm interface is vnic-type vdpa. This filter will"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fc7b1479_959191b8","line":66,"range":{"start_line":66,"start_character":23,"end_line":66,"end_character":34},"updated":"2020-12-11 12:12:21.000000000","message":"``HW_NIC_VDPA``","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":69,"context_line":"  to the unnamed group any vm interface is vnic-type vdpa. This filter will"},{"line_number":70,"context_line":"  be disabled by default and enabled using a new config option."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3dfa0069_12facb98","line":67,"updated":"2020-12-11 12:12:21.000000000","message":"Is this generic enough. I assume it\u0027s a standard which means all vDPA devices will look the same to the guest by design?","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":64,"context_line":"* The libvirt driver will be extended to generate the vdpa interface xml"},{"line_number":65,"context_line":"* The pci tracker will be extended with a new device-type vdpa"},{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":69,"context_line":"  to the unnamed group any vm interface is vnic-type vdpa. This filter will"},{"line_number":70,"context_line":"  be disabled by default and enabled using a new config option."}],"source_content_type":"text/x-rst","patch_set":1,"id":"243cc9cc_a22bf9bf","line":67,"in_reply_to":"3dfa0069_12facb98","updated":"2020-12-11 13:49:50.000000000","message":"yes the device presented to the guest for a nic will always be virtio-net-pci\n\ni could add a note comment that vdpa devices are not supported with HW_VIF_MODEL!\u003dvirtio\n\nif we wanted to change the way the defice is presented in the future we would do ti via a new vif model.\ni dont know of any plans for that.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":66,"context_line":"* A new standard trait HW_NIC_VDPA will be added and reported by the libvirt"},{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":69,"context_line":"  to the unnamed group any vm interface is vnic-type vdpa. This filter will"},{"line_number":70,"context_line":"  be disabled by default and enabled using a new config option."},{"line_number":71,"context_line":"* A new workaround config option will be added"},{"line_number":72,"context_line":"  enable_virtual_vdpa_devices\u003dTrue|False default False."}],"source_content_type":"text/x-rst","patch_set":1,"id":"6e58d218_3b8ad004","line":69,"range":{"start_line":69,"start_character":22,"end_line":69,"end_character":23},"updated":"2020-12-11 12:12:21.000000000","message":"if","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":69,"context_line":"  to the unnamed group any vm interface is vnic-type vdpa. This filter will"},{"line_number":70,"context_line":"  be disabled by default and enabled using a new config option."},{"line_number":71,"context_line":"* A new workaround config option will be added"},{"line_number":72,"context_line":"  enable_virtual_vdpa_devices\u003dTrue|False default False."},{"line_number":73,"context_line":"  when set to True it will allow the virtual vdpa devices such as the vdpa_sim"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1b6de14a_6a985474","line":70,"updated":"2020-12-11 12:12:21.000000000","message":"Will you enable this by default in the future?","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":67,"context_line":"  driver on hosts with vdpa devices."},{"line_number":68,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":69,"context_line":"  to the unnamed group any vm interface is vnic-type vdpa. This filter will"},{"line_number":70,"context_line":"  be disabled by default and enabled using a new config option."},{"line_number":71,"context_line":"* A new workaround config option will be added"},{"line_number":72,"context_line":"  enable_virtual_vdpa_devices\u003dTrue|False default False."},{"line_number":73,"context_line":"  when set to True it will allow the virtual vdpa devices such as the vdpa_sim"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d3c2944e_f11a94ec","line":70,"in_reply_to":"1b6de14a_6a985474","updated":"2020-12-11 13:49:50.000000000","message":"actully i kind of want to just have it always enable but we have had a pattern of allow operators to opt in\nthat is the only reason its a config option and disabel by defualt.\n\nif people are ok with enabling by default i could but if its not a libvirt deployment its not relevant hence off by default.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  os-vif driver being used and a sentinel value being used to track the device"},{"line_number":77,"context_line":"  in the pci tracker. This will allow testing without real vdpa hardware in ci"},{"line_number":78,"context_line":"  and is not intended for production use. When set to false the existing"},{"line_number":79,"context_line":"  hardware offloaded ovs support in os-vif will be used to plug the interface."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":".. note::"},{"line_number":82,"context_line":"  The vdpa device type is required to ensure that the VF associated with VDPA"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0b0436e0_7255b5d1","line":79,"updated":"2020-12-11 12:12:21.000000000","message":"Couldn\u0027t we achieve the same thing with mocking? I\u0027m not overly fond on the idea of adding purely test-only config options. That\u0027s a lot of muddy water","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  os-vif driver being used and a sentinel value being used to track the device"},{"line_number":77,"context_line":"  in the pci tracker. This will allow testing without real vdpa hardware in ci"},{"line_number":78,"context_line":"  and is not intended for production use. When set to false the existing"},{"line_number":79,"context_line":"  hardware offloaded ovs support in os-vif will be used to plug the interface."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":".. note::"},{"line_number":82,"context_line":"  The vdpa device type is required to ensure that the VF associated with VDPA"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f44d7c33_3ae2b6de","line":79,"in_reply_to":"0b0436e0_7255b5d1","updated":"2020-12-11 13:49:50.000000000","message":"no we cant i wanted to be able to do integration testing. with the vdpa sim module\nwe can just do functional and unit test but if we ant tempest testingin the gate we would need to do this.\nthe same is true for vgpus we can do vgpu testing via the mdpy kernel module but we need one minor change to how we nova works similar to this.\n\nso either we support the simultaion kernel modules or we cant test in the tempest jobs.\n\nwe technically dont need the config option i could just make the virtual vdpa devices always work.\ni will need to do this in anycae to develop this feature unless i swap to real hardware.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":".. note::"},{"line_number":82,"context_line":"  The vdpa device type is required to ensure that the VF associated with VDPA"},{"line_number":83,"context_line":"  devices cannot be allocated to vms via pci alias or standard neutron sriov"},{"line_number":84,"context_line":"  support. VFs associated with VDPA devices cannot be managed using standard"},{"line_number":85,"context_line":"  kernel control plan command such as  ip tools as a result allocating them"},{"line_number":86,"context_line":"  to an interface managed by the sriov nic agent or via alias based pci"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8bb8313e_765d9e63","line":83,"range":{"start_line":83,"start_character":33,"end_line":83,"end_character":36},"updated":"2020-12-11 12:12:21.000000000","message":"VMs","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":92,"context_line":"Alternatives"},{"line_number":93,"context_line":"------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"we could delegate vdpa supprot to cyborg."},{"line_number":96,"context_line":"this would still require the libvirt changes and neutron changes while"},{"line_number":97,"context_line":"also complicating the deployment. since vdpa based nics are fixed function"},{"line_number":98,"context_line":"nics there is not real advantage to this approach that justifies the added"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0dfcc9df_bdbd7ad2","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":2},"updated":"2020-12-11 12:12:21.000000000","message":"We","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":92,"context_line":"Alternatives"},{"line_number":93,"context_line":"------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"we could delegate vdpa supprot to cyborg."},{"line_number":96,"context_line":"this would still require the libvirt changes and neutron changes while"},{"line_number":97,"context_line":"also complicating the deployment. since vdpa based nics are fixed function"},{"line_number":98,"context_line":"nics there is not real advantage to this approach that justifies the added"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f98b7863_d18c0e65","line":95,"range":{"start_line":95,"start_character":23,"end_line":95,"end_character":30},"updated":"2020-12-11 12:12:21.000000000","message":"support\n\nYou were doing so well 😄","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":92,"context_line":"Alternatives"},{"line_number":93,"context_line":"------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"we could delegate vdpa supprot to cyborg."},{"line_number":96,"context_line":"this would still require the libvirt changes and neutron changes while"},{"line_number":97,"context_line":"also complicating the deployment. since vdpa based nics are fixed function"},{"line_number":98,"context_line":"nics there is not real advantage to this approach that justifies the added"}],"source_content_type":"text/x-rst","patch_set":1,"id":"72855691_d08775d0","line":95,"range":{"start_line":95,"start_character":23,"end_line":95,"end_character":30},"in_reply_to":"f98b7863_d18c0e65","updated":"2020-12-11 13:49:50.000000000","message":":)","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":101,"context_line":"we could use the resources table added for pmem devices to track the devices"},{"line_number":102,"context_line":"in the db instead of the pci tracker. This would complicate the code paths as"},{"line_number":103,"context_line":"we would not be able to share any of the pci numa affinity code that already"},{"line_number":104,"context_line":"exists."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"we could block live migration until qemu support transparent live migration"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"we could add a workaround config option to force transparent live migration"},{"line_number":109,"context_line":"without a version check or object change."}],"source_content_type":"text/x-rst","patch_set":1,"id":"025f1c85_6b44ed7f","line":106,"range":{"start_line":104,"start_character":7,"end_line":106,"end_character":75},"updated":"2020-12-11 12:12:21.000000000","message":"I\u0027d be tempted to take this option, at least initially. It would simplify testing and the QEMU work is in flight and should land in the next year or so.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"we could block live migration until qemu support transparent live migration"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"we could add a workaround config option to force transparent live migration"},{"line_number":109,"context_line":"without a version check or object change."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Data model impact"},{"line_number":112,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"eeee787f_58b7600f","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":41},"updated":"2020-12-11 12:12:21.000000000","message":"Come again?","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"we could block live migration until qemu support transparent live migration"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"we could add a workaround config option to force transparent live migration"},{"line_number":109,"context_line":"without a version check or object change."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Data model impact"},{"line_number":112,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9671fd13_dd775d3e","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":41},"in_reply_to":"eeee787f_58b7600f","updated":"2020-12-11 13:49:50.000000000","message":"this was really just an override incase we backport the migration feature to an older verion downstream\nbut realistcally there is no way that this feature is going to be backproted to osp 16 so its not really relevent. we tend to jsut ship newer version fo libvirt/qemu downstream instead of doing feature backports there anyway.\n\ni put this in the alternatives section just becaue it was one of the things i thought about but decied it was not worth the effort.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":112,"context_line":"-----------------"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The allowed values of the vnic-type in the nova.network.model.VIF class will"},{"line_number":115,"context_line":"be extended. The allowed values of the pci_deivces table device_type will be"},{"line_number":116,"context_line":"extended."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"optionally the VIFMigrateData or LibvirtLiveMigrateData object can be extended"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c199e5fb_288a0f62","line":115,"range":{"start_line":115,"start_character":39,"end_line":115,"end_character":50},"updated":"2020-12-11 12:12:21.000000000","message":"``pci_devices``","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":115,"context_line":"be extended. The allowed values of the pci_deivces table device_type will be"},{"line_number":116,"context_line":"extended."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"optionally the VIFMigrateData or LibvirtLiveMigrateData object can be extended"},{"line_number":119,"context_line":"to denote the destination host support transparent vdpa live migration. This is"},{"line_number":120,"context_line":"optional as currently it would always be false until a QEMU and libvirt version"},{"line_number":121,"context_line":"are released that support this feature."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"REST API impact"},{"line_number":124,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"75337c13_dabbcf71","line":121,"range":{"start_line":118,"start_character":0,"end_line":121,"end_character":39},"updated":"2020-12-11 12:12:21.000000000","message":"Yes, let\u0027s leave this for a future work item.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":115,"context_line":"be extended. The allowed values of the pci_deivces table device_type will be"},{"line_number":116,"context_line":"extended."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"optionally the VIFMigrateData or LibvirtLiveMigrateData object can be extended"},{"line_number":119,"context_line":"to denote the destination host support transparent vdpa live migration. This is"},{"line_number":120,"context_line":"optional as currently it would always be false until a QEMU and libvirt version"},{"line_number":121,"context_line":"are released that support this feature."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"REST API impact"},{"line_number":124,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0a95f194_f7b92738","line":121,"range":{"start_line":118,"start_character":0,"end_line":121,"end_character":39},"in_reply_to":"75337c13_dabbcf71","updated":"2020-12-11 13:49:50.000000000","message":"ya that was the way i was leaning shall i move this into the alternive section when i update the live migration approach.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":140,"context_line":"---------------------"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"VDPA ports will work like sriov ports from an enduser perspective"},{"line_number":143,"context_line":"however the device model presented to the guest will be a virtio nic."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Performance Impact"},{"line_number":146,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da526966_5474d76b","line":143,"range":{"start_line":143,"start_character":58,"end_line":143,"end_character":68},"updated":"2020-12-11 12:12:21.000000000","message":"VirtIO NIC","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":145,"context_line":"Performance Impact"},{"line_number":146,"context_line":"------------------"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"The performance will be the same as sriov"},{"line_number":149,"context_line":"in terms of dataplane performance and nova scheduling or vm creation."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Other deployer impact"},{"line_number":152,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ea98c150_7065538c","line":149,"range":{"start_line":148,"start_character":0,"end_line":149,"end_character":69},"updated":"2020-12-11 12:12:21.000000000","message":"a.k.a. None.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":145,"context_line":"Performance Impact"},{"line_number":146,"context_line":"------------------"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"The performance will be the same as sriov"},{"line_number":149,"context_line":"in terms of dataplane performance and nova scheduling or vm creation."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Other deployer impact"},{"line_number":152,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"edc2f890_8e52121e","line":149,"range":{"start_line":148,"start_character":0,"end_line":149,"end_character":69},"in_reply_to":"ea98c150_7065538c","updated":"2020-12-11 13:49:50.000000000","message":"correct","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The operator will need to ensure all dependencies are present to use"},{"line_number":159,"context_line":"this feature. Intel nic support is present in 5.7 but a the time of"},{"line_number":160,"context_line":"this spec no nic that support vdpa is available on the market form intel."},{"line_number":161,"context_line":"that means the first publicly avaiable nics for vdpa are the mellanox/nvidia"},{"line_number":162,"context_line":"connectx-6 dx/lx which are only enabled in kernel 5.9"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"07b70e51_b067da3a","line":160,"range":{"start_line":160,"start_character":62,"end_line":160,"end_character":66},"updated":"2020-12-11 12:12:21.000000000","message":"from","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The operator will need to ensure all dependencies are present to use"},{"line_number":159,"context_line":"this feature. Intel nic support is present in 5.7 but a the time of"},{"line_number":160,"context_line":"this spec no nic that support vdpa is available on the market form intel."},{"line_number":161,"context_line":"that means the first publicly avaiable nics for vdpa are the mellanox/nvidia"},{"line_number":162,"context_line":"connectx-6 dx/lx which are only enabled in kernel 5.9"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"c4ff0194_f9d26b6e","line":160,"range":{"start_line":160,"start_character":62,"end_line":160,"end_character":66},"in_reply_to":"07b70e51_b067da3a","updated":"2020-12-11 13:49:50.000000000","message":"yep although \nhttps://www.intel.com/content/www/us/en/products/network-io/ethernet/ethernet-adapters/ethernet-800-series-network-adapters.html\nare now launched\n\nbut since they dont reference it in the datasheet https://cdrdv2.intel.com/v1/dl/getContent/613875 \n\nim going to leave the statement as it stand bar fixing form to from.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":158,"context_line":"The operator will need to ensure all dependencies are present to use"},{"line_number":159,"context_line":"this feature. Intel nic support is present in 5.7 but a the time of"},{"line_number":160,"context_line":"this spec no nic that support vdpa is available on the market form intel."},{"line_number":161,"context_line":"that means the first publicly avaiable nics for vdpa are the mellanox/nvidia"},{"line_number":162,"context_line":"connectx-6 dx/lx which are only enabled in kernel 5.9"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fb31857_9469dbab","line":161,"range":{"start_line":161,"start_character":61,"end_line":161,"end_character":76},"updated":"2020-12-11 12:12:21.000000000","message":"Mellanox/Nvidia","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":158,"context_line":"The operator will need to ensure all dependencies are present to use"},{"line_number":159,"context_line":"this feature. Intel nic support is present in 5.7 but a the time of"},{"line_number":160,"context_line":"this spec no nic that support vdpa is available on the market form intel."},{"line_number":161,"context_line":"that means the first publicly avaiable nics for vdpa are the mellanox/nvidia"},{"line_number":162,"context_line":"connectx-6 dx/lx which are only enabled in kernel 5.9"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c04d9677_5d33ec26","line":161,"range":{"start_line":161,"start_character":0,"end_line":161,"end_character":4},"updated":"2020-12-11 12:12:21.000000000","message":"That","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":169,"context_line":"Upgrade impact"},{"line_number":170,"context_line":"--------------"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"upgraded host will report the new new trait for vdpa support."},{"line_number":173,"context_line":"This will ensure that instance with vdpa interface are only schduled to host"},{"line_number":174,"context_line":"that support them including during move operations."},{"line_number":175,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"73985327_d888539f","line":172,"range":{"start_line":172,"start_character":0,"end_line":172,"end_character":13},"updated":"2020-12-11 12:12:21.000000000","message":"Upgraded hosts","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":185,"context_line":"  sean-k-mooney"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Other contributors:"},{"line_number":188,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Feature Liaison"},{"line_number":191,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"59f14b33_817446bb","line":188,"range":{"start_line":188,"start_character":2,"end_line":188,"end_character":24},"updated":"2020-12-11 12:12:21.000000000","message":"stephen.finucane\n\nStick me down. I\u0027ll review and help with testing where I can.","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83d39bda02aa415b57d0f830e98a110e73949bc7","unresolved":true,"context_lines":[{"line_number":185,"context_line":"  sean-k-mooney"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Other contributors:"},{"line_number":188,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Feature Liaison"},{"line_number":191,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1df0b8ff_c2acc763","line":188,"range":{"start_line":188,"start_character":2,"end_line":188,"end_character":24},"in_reply_to":"59f14b33_817446bb","updated":"2020-12-11 13:49:50.000000000","message":"sure will do","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":220,"context_line":"alternative test environments such as ubuntu 20.04 do not provide new enough"},{"line_number":221,"context_line":"kernel by default or ship the require libvirt. compilation from source"},{"line_number":222,"context_line":"is an option but we may or may not want to do that in the upstream ci."},{"line_number":223,"context_line":" "},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Documentation Impact"},{"line_number":226,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f5a4a9bc_b0702352","line":223,"range":{"start_line":223,"start_character":0,"end_line":223,"end_character":1},"updated":"2020-12-11 12:12:21.000000000","message":"nit","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00f8e472b8b6ae7118542eb0609038de15deadad","unresolved":true,"context_lines":[{"line_number":234,"context_line":"The nova neutron ptg discussion on this topic can be found on line 186"},{"line_number":235,"context_line":"here: https://etherpad.opendev.org/p/r.321f34cf3eb9caa9d87a9ec8349c3d29"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"an introduction to this topic and is available as a blog at"},{"line_number":238,"context_line":"https://www.redhat.com/en/blog/introduction-vdpa-kernel-framework"},{"line_number":239,"context_line":"and other blogs on the topic covering the evolution and current state"},{"line_number":240,"context_line":"are also available https://www.redhat.com/en/blog?search\u003dvdpa"}],"source_content_type":"text/x-rst","patch_set":1,"id":"886be150_6ef58a51","line":237,"range":{"start_line":237,"start_character":0,"end_line":237,"end_character":1},"updated":"2020-12-11 12:12:21.000000000","message":"A","commit_id":"21e3a6c136d86af3b04edb88984d0e948055d1da"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 vDPA support was introduced"},{"line_number":19,"context_line":"to leverage the VDPA capabilities introduced in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware-based smart NICs via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d27322d9_38fe336a","line":21,"range":{"start_line":21,"start_character":67,"end_line":21,"end_character":70},"updated":"2021-01-08 00:20:22.000000000","message":"This isn\u0027t OVS-specific, OVS is just one of the use cases (maybe the main one?), yeah?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"def136b928cd7d3a1757999d5faac72fa8f8b6eb","unresolved":true,"context_lines":[{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 vDPA support was introduced"},{"line_number":19,"context_line":"to leverage the VDPA capabilities introduced in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware-based smart NICs via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c1c8f8c1_750ef2a2","line":21,"range":{"start_line":21,"start_character":67,"end_line":21,"end_character":70},"in_reply_to":"73b648e8_946a564f","updated":"2021-01-15 21:05:57.000000000","message":"To summarize what I understood, OVS is currently (and for the foreseable future) the only control plane that can work with vDPA in the data plane, correct? It might be worth mentioning in the spec directly.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f9e2063717371d1b7dbeffc4f0fe682315a6111","unresolved":true,"context_lines":[{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 vDPA support was introduced"},{"line_number":19,"context_line":"to leverage the VDPA capabilities introduced in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware-based smart NICs via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"04858236_60159db9","line":21,"range":{"start_line":21,"start_character":67,"end_line":21,"end_character":70},"in_reply_to":"c1c8f8c1_750ef2a2","updated":"2021-01-18 16:33:14.000000000","message":"yes. i can add that.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":18,"context_line":"accelerator implementations. In Libvirt 6.9.0 vDPA support was introduced"},{"line_number":19,"context_line":"to leverage the VDPA capabilities introduced in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware-based smart NICs via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"73b648e8_946a564f","line":21,"range":{"start_line":21,"start_character":67,"end_line":21,"end_character":70},"in_reply_to":"d27322d9_38fe336a","updated":"2021-01-08 18:15:51.000000000","message":"in principal its not but in practice it is.\n\nVDPA as the name sugges is a frame work for dataplane accleration\n\nthere is no contol plane compnet to the feature and the only contol plane that can be used with it today is ovs.\n\nthere are some effort to make it work with linux bridge that pepole are invetiaging but melonox is not actively looking to do that nor are intel at the moment.  they have already invested in hardware offloaed ovs as a contol plane and done imitally see enabling legacy contol planes such as normal ip tools or linux bridge networks as benifical to them so they have not done it.\n\nredhat would obviosly like vdpa device to work without needing ovs as it makes using the same technology with contienr simpleer if you just use ip tools or linux bridge instead of requireing ovs for k8s enablement. enampling the other contol planes is vendor specific however so its not going to happen in the near term","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49d34f4163790dea5209da08918cb6619806db2a","unresolved":true,"context_lines":[{"line_number":19,"context_line":"to leverage the VDPA capabilities introduced in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware-based smart NICs via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"0b044967_a36df4ab","line":22,"updated":"2021-01-15 11:23:41.000000000","message":"the required libvirt and qemu versions are expected to be below the X cycle minimum, which is nice.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f9e2063717371d1b7dbeffc4f0fe682315a6111","unresolved":true,"context_lines":[{"line_number":19,"context_line":"to leverage the VDPA capabilities introduced in  QEMU 5.1+."},{"line_number":20,"context_line":"This blueprint tracks enhancing nova to leverage these new capabilities"},{"line_number":21,"context_line":"for offloading to hardware-based smart NICs via hardware offloaded ovs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"d701a3e2_b67038d3","line":22,"in_reply_to":"0b044967_a36df4ab","updated":"2021-01-18 16:33:14.000000000","message":"yes unfortunetlly it still means we will need the version check code for at least one cycle but that is relitivly trivial to remove.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bcaef9c2_55a7306c","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":23},"updated":"2021-01-08 00:20:22.000000000","message":"Ideally there\u0027d be something after \"accelerator\", as in \"between the accelerator and then guest driver\".","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."}],"source_content_type":"text/x-rst","patch_set":2,"id":"f9fac728_23ea142e","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":23},"in_reply_to":"bcaef9c2_55a7306c","updated":"2021-01-08 18:15:51.000000000","message":"yes \"between the acccelration and the vm without the performace ...\"","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"f0632bd3_12bcff19","line":29,"range":{"start_line":29,"start_character":36,"end_line":29,"end_character":43},"updated":"2021-01-08 00:20:22.000000000","message":"Again with the OVS. Are we saying it\u0027s the only use case we realistically expect to happen?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f592860_854cceed","line":29,"range":{"start_line":28,"start_character":24,"end_line":29,"end_character":21},"updated":"2021-01-08 00:20:22.000000000","message":"This is confusing. Are you saying that software vhost implementations have a performance overheard? Or are you saying this in the sense of \"lack of overhead\" or \"minimal overhead\"?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"def136b928cd7d3a1757999d5faac72fa8f8b6eb","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"58a6b163_4a1bb3bb","line":29,"range":{"start_line":28,"start_character":24,"end_line":29,"end_character":21},"in_reply_to":"07cb6294_6b1e88f6","updated":"2021-01-15 21:05:57.000000000","message":"Honestly, between missing what comes after \"between the accelerator\" and the performance overhead confusion, I\u0027d re-write the whole sentence. If you\u0027re assuming hardware accelerator, say so, and explain what the performance gain is, both in terms of packet throughput, and CPU overhead (or lack thereof).","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"07cb6294_6b1e88f6","line":29,"range":{"start_line":28,"start_character":24,"end_line":29,"end_character":21},"in_reply_to":"3f592860_854cceed","updated":"2021-01-08 18:15:51.000000000","message":"software vhost implementations have a performance overheard in comparison to SR-IOV or native nic performance yes.\n\neven when the packet forwarding rate is identical they have a cost in cpu time that is not otherwise present. VDPA on the other had has a much much much lower overhead as the dataplane is offloaded to an accelertor.\n\nif that accleartor is sofware based e.g. dpdk granted the overhead will be the same as just using dpdk with vhost user but that is still less overhead then kernel vhost.\n\nthis spec is focusing on hardware based vdpa enabling not dpdk in which case tehre should be no overhead vs sriov or direct passthough.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f9e2063717371d1b7dbeffc4f0fe682315a6111","unresolved":true,"context_lines":[{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"668792ad_9fe60394","line":29,"range":{"start_line":29,"start_character":36,"end_line":29,"end_character":43},"in_reply_to":"c66ef364_df919139","updated":"2021-01-18 16:33:14.000000000","message":"yep unfortunately that is true ill respin with that more explcitly stated.\nonce i finish reading the remaing comments.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"def136b928cd7d3a1757999d5faac72fa8f8b6eb","unresolved":true,"context_lines":[{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"c66ef364_df919139","line":29,"range":{"start_line":29,"start_character":36,"end_line":29,"end_character":43},"in_reply_to":"d504affc_dcfb9f44","updated":"2021-01-15 21:05:57.000000000","message":"Since OVS is mentioned multiple times (and as I\u0027ve said on L21) it might be worth explaining that OVS is realistically the only control plane that can work with vDPA.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":26,"context_line":"Current hardware offloaded networking solutions require vendor specific drivers"},{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"d504affc_dcfb9f44","line":29,"range":{"start_line":29,"start_character":36,"end_line":29,"end_character":43},"in_reply_to":"f0632bd3_12bcff19","updated":"2021-01-08 18:15:51.000000000","message":"use in the near term it willl require ovs to provide the contol plane.\nthere is no other contolplane that currently works with vdpa.\n\nwith that said linux bidge is also a vswitch as is vpp.\n\nvswitch does not mean ovs its any virutalised networking applicaiton that enulate as siwtch in hardware or software.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fead1b58_e4dd01a3","line":30,"range":{"start_line":30,"start_character":47,"end_line":30,"end_character":67},"updated":"2021-01-08 00:20:22.000000000","message":"Is this the vDPA driver in the host kernel?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d50c9dbf_b10dd415","line":30,"range":{"start_line":30,"start_character":9,"end_line":30,"end_character":23},"updated":"2021-01-08 00:20:22.000000000","message":"Wait, virtio-net-pci? If we\u0027re using DPDK in the guest userspace, wouldn\u0027t this be the PMD? What would virtio-net-pci be used for?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"def136b928cd7d3a1757999d5faac72fa8f8b6eb","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9df5c31a_ad837ba0","line":30,"range":{"start_line":30,"start_character":9,"end_line":30,"end_character":23},"in_reply_to":"8b2fb781_61d957eb","updated":"2021-01-15 21:05:57.000000000","message":"I guess just handwave this away? A full understanding is out of scope for this spec anyways - and it\u0027s bogging me down in trying to square my limited understanding of how vdpa works with your more detailed explanation - would something like \"the guest can use standard virtio drivers\" work? Is it both true and vague enough? :D","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f9e2063717371d1b7dbeffc4f0fe682315a6111","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fee3034_9921e63e","line":30,"range":{"start_line":30,"start_character":9,"end_line":30,"end_character":23},"in_reply_to":"9df5c31a_ad837ba0","updated":"2021-01-18 16:33:14.000000000","message":"yes that works and is accurate.\nthe point im trying to get accoss is the guest does not need to have knolage of the host to know which driver to use beyond its a virtio-net-interface.\n\nit can be vdpa or vhsot-user or just plain old kernel vhost, they just need a standard virtio driver and they are good to go. if this was normal sriov they would need to build in multiple vendor drvier dependin on which cloud they were running on and what hardware they deployed. i will simplfy","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8b2fb781_61d957eb","line":30,"range":{"start_line":30,"start_character":9,"end_line":30,"end_character":23},"in_reply_to":"d50c9dbf_b10dd415","updated":"2021-01-08 18:15:51.000000000","message":"virtio-net-pci is both the standard absract virtio netwroking device model emulated by qemu and the name of the kernel dirver that talks to it.\n\nin this case is am saying inside the guest the device that is present to the guest for the  will be a virtio-net-pci device and the guest kernel can use virtio-net-pci.\n\nguest dont ever see if dpdk is being used as the qemu front end that emulates the virtio-net-pci device is identical. its nonly the backend device that changes.\n\ninfact form a guest point of view kernel vhost, dpdk vhost-user, vdpa and qemus internal virtio implemation without any vhost offload all look identical.\n\ngranted different nic feature offlowas like tso ectra may be negociated depened on which backed is in use but the guest kernel cannot tell the difference.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator with the performance overhead of traditional software"},{"line_number":29,"context_line":"vHost implementations. VDPA enabled vswitch offloads allow the guest to use a"},{"line_number":30,"context_line":"standard virtio-net-pci device with a standard virtio kernel driver instead of"},{"line_number":31,"context_line":"a vendor specific driver."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d5252188_38d674d9","line":30,"range":{"start_line":30,"start_character":47,"end_line":30,"end_character":67},"in_reply_to":"fead1b58_e4dd01a3","updated":"2021-01-08 18:15:51.000000000","message":"no i was refering to the virtio-net kernel module\n\nsean@p50:~$ modinfo virtio-net\nfilename:       /lib/modules/5.9.11-100.fc32.x86_64/kernel/drivers/net/virtio_net.ko.xz\nlicense:        GPL\ndescription:    Virtio network driver\nalias:          virtio:d00000001v*\ndepends:        net_failover\nretpoline:      Y\nintree:         Y\nname:           virtio_net\nvermagic:       5.9.11-100.fc32.x86_64 SMP mod_unload \nsig_id:         PKCS#7\nsigner:         Fedora kernel signing key\nsig_key:        4F:C5:68:93:C9:94:E5:D0:CD:CD:5F:A7:9A:48:88:B6:FC:54:4B:53\nsig_hashalgo:   sha256\nsignature:      61:B7:9C:AC:38:28:03:91:1D:D8:6D:3C:00:E2:64:74:DE:88:50:86:\n\t\t5D:AC:0B:F1:1C:E8:68:B7:F2:6E:51:72:35:B8:D5:34:E9:28:9B:9D:\n\t\t8B:E2:24:C7:3E:80:4F:06:5A:F4:5D:F4:A0:E7:A0:1A:55:89:B4:9C:\n\t\tB4:58:18:40:C3:5B:7A:1E:12:F4:01:58:20:22:DB:55:C4:27:DA:ED:\n\t\tC6:4A:61:19:DE:1B:AB:75:99:68:E5:42:CB:02:C2:AB:3B:85:77:6F:\n\t\t03:80:7B:8A:D1:A8:3B:07:9A:5B:EC:D5:75:EA:52:FE:2F:18:E8:3E:\n\t\t2F:66:F8:1C:BA:F3:71:63:1C:9B:DB:04:4B:78:44:3B:AB:34:E5:5E:\n\t\tE3:9E:20:97:26:0F:3B:C3:87:76:79:57:DC:ED:CF:F1:49:11:AA:57:\n\t\tE1:A3:C2:11:C7:F4:A9:66:08:14:9B:CA:4C:43:AA:FB:0C:A6:C9:61:\n\t\t01:B4:B7:E8:30:BA:26:2C:CD:25:56:EC:25:7B:97:F0:4E:A0:D2:D3:\n\t\t8F:41:FB:0C:0A:41:59:D1:8A:23:A5:11:B9:D8:DF:9F:EA:FA:CE:2A:\n\t\t9B:04:D6:A2:96:3E:70:50:9E:D1:DE:27:27:AA:4C:56:50:37:F5:4D:\n\t\t29:B2:CD:33:D0:EE:00:24:37:57:80:43:F5:E7:6E:16:AE:4F:9D:FB:\n\t\tA0:4A:87:73:B8:04:ED:62:34:D6:21:23:35:AB:AC:FA:0B:AB:C1:E4:\n\t\t8D:E9:35:5F:82:EE:D4:8C:00:D7:0B:B5:C4:DF:BF:96:F7:5F:D6:90:\n\t\tAF:C3:29:CF:AF:1C:7A:63:FB:8C:6E:A5:EC:52:33:4B:07:0A:8D:58:\n\t\tF3:33:D4:F2:CC:8F:8B:24:60:57:18:28:13:4F:5C:ED:30:18:E5:A4:\n\t\t14:A6:5C:33:E4:33:1D:66:9E:2D:88:E7:99:87:FC:A7:94:C9:E1:98:\n\t\t6E:BB:0A:B3:86:10:F2:53:0D:B4:99:F0:0D:E3:FB:89:3B:E1:0F:71:\n\t\t99:60:61:FE:2D:42:08:45:14:0D:91:EA:E4:0C:BD:55:8B:28:3F:49:\n\t\t13:29:69:C5:6D:7E:73:D4:A3:82:BE:1C:82:BE:7E:56:13:72:2D:6C:\n\t\t16:7B:13:B9:9B:E3:19:2F:6D:FA:04:BB:74:16:95:1A:9E:74:FD:D9:\n\t\t98:DA:46:F9:A9:D6:0B:D1:47:1B:B7:59:59:64:CE:FA:DE:E7:77:F8:\n\t\t97:2F:09:AE:D3:6B:28:20:69:5E:95:58:D1:6D:F1:78:EA:EB:43:71:\n\t\t83:13:7E:E4:F5:34:FE:FA:44:FC:67:8E:57:4F:98:FC:E3:1A:9A:34:\n\t\t29:41:C8:BF:96:AB:E8:53:F3:A3:FD:3E\nparm:           napi_weight:int\nparm:           csum:bool\nparm:           gso:bool\nparm:           napi_tx:bool\n\nwhich in turn uses \n\nsean@p50:~$ modinfo virtio-pci\nname:           virtio_pci\nfilename:       (builtin)\nversion:        1\nlicense:        GPL\nfile:           drivers/virtio/virtio_pci\ndescription:    virtio-pci\nauthor:         Anthony Liguori \u003caliguori@us.ibm.com\u003e\nparm:           force_legacy:Force legacy mode for transitional virtio 1 devices (bool)\n\n\nvirtio net has the logic for confiuring and using a virtio networking deicve and vitrio-pci has the logic for interacting with the pci subsystem.\n\n\nyou could inprinciapl layer virtio-net over say virt-mmio\ne.g. using memroy mappeid io instead of the pci subsystem for device interaction but you would have to implement that yourself.\n\nin this case its not a support cobinatio.\n\nwhat i was saying with this statement was what ever driver you use to manage a virtio-net-pci device  for normaly ovs/linux bridge networking (the kernel virtio-net dirver in the guest) cna be used with the vdpa interfaces. you can use dpdk in the guest on top of it if you like too since it jsut a virtio-net pci device and you can use any driver that work with one of thoes.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  advantages of VDPA based networking over sriov is the ability to abstract the"},{"line_number":38,"context_line":"  device state from the VM allowing transparent live migration via a software"},{"line_number":39,"context_line":"  fallback. Until that fallback is implemented in QEMU, live migration will be"},{"line_number":40,"context_line":"  blocked at the api via a 403 error response so that we can enable it without"},{"line_number":41,"context_line":"  a new micro-version."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"42b1c519_36a058a4","line":41,"range":{"start_line":40,"start_character":17,"end_line":41,"end_character":21},"updated":"2021-01-08 00:20:22.000000000","message":"Smart :) I\u0027g get maybe someone like gmann to sign off on just this bit?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  advantages of VDPA based networking over sriov is the ability to abstract the"},{"line_number":38,"context_line":"  device state from the VM allowing transparent live migration via a software"},{"line_number":39,"context_line":"  fallback. Until that fallback is implemented in QEMU, live migration will be"},{"line_number":40,"context_line":"  blocked at the api via a 403 error response so that we can enable it without"},{"line_number":41,"context_line":"  a new micro-version."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"840b7873_e24d1029","line":41,"range":{"start_line":40,"start_character":17,"end_line":41,"end_character":21},"in_reply_to":"42b1c519_36a058a4","updated":"2021-01-08 18:15:51.000000000","message":"im trying to model this after what we have done with cyborg for shelve/unshelve and other move opertions.\n\ni belive this is what we are doing for that but other can correct me if im wrong.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c5c8f30c36528bc5c84e5c545435035959c864b","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  advantages of VDPA based networking over sriov is the ability to abstract the"},{"line_number":38,"context_line":"  device state from the VM allowing transparent live migration via a software"},{"line_number":39,"context_line":"  fallback. Until that fallback is implemented in QEMU, live migration will be"},{"line_number":40,"context_line":"  blocked at the api via a 403 error response so that we can enable it without"},{"line_number":41,"context_line":"  a new micro-version."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8f37de76_9c273975","line":41,"range":{"start_line":40,"start_character":17,"end_line":41,"end_character":21},"in_reply_to":"67fe6e37_cfcad9af","updated":"2021-01-19 16:48:00.000000000","message":"yep we can either inherit form the Forbidne excption type or overriede the status_code in the default nova excption but hte former is the simplest thing to do.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b36193384582128790819acbe3e138246629f99b","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  advantages of VDPA based networking over sriov is the ability to abstract the"},{"line_number":38,"context_line":"  device state from the VM allowing transparent live migration via a software"},{"line_number":39,"context_line":"  fallback. Until that fallback is implemented in QEMU, live migration will be"},{"line_number":40,"context_line":"  blocked at the api via a 403 error response so that we can enable it without"},{"line_number":41,"context_line":"  a new micro-version."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"67fe6e37_cfcad9af","line":41,"range":{"start_line":40,"start_character":17,"end_line":41,"end_character":21},"in_reply_to":"840b7873_e24d1029","updated":"2021-01-08 23:22:16.000000000","message":"Yeah this is fine and once QEMU implement the live migration with VDPA then it does not need microversion. Same as cyborg integration as Sean mentioned.\n\nBasically a API user can successfully live migrate with VDPA device on any cloud (its existing cloud or new cloud provider) with new QEMU (whenever it will be implemented) so it is not API dependent things so does no interrogability issue.\n\nJust for implementation detail, inherit the *forbidden exception from nova.exception.Forbidden so that it will be automatically convert to HTTPForbidden by wsgi layer. Otherwise it can end up with 500, like in cyborg shelve case https://review.opendev.org/c/openstack/nova/+/770007","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":49,"context_line":"As an operator, I want to leverage hardware accelerated networking while"},{"line_number":50,"context_line":"maintaining the ability to have transparent live migration."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. note::"},{"line_number":53,"context_line":"  Transparent live migration will not initially be supported and will be"},{"line_number":54,"context_line":"  enabled only after it is supported officially in a future QEMU release."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5e37a2d9_86a5120d","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":73},"updated":"2021-01-08 00:20:22.000000000","message":"It\u0027s kinda weird to mention a use case only to immediately yank it back out.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":49,"context_line":"As an operator, I want to leverage hardware accelerated networking while"},{"line_number":50,"context_line":"maintaining the ability to have transparent live migration."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. note::"},{"line_number":53,"context_line":"  Transparent live migration will not initially be supported and will be"},{"line_number":54,"context_line":"  enabled only after it is supported officially in a future QEMU release."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6aa726ca_2fa7228c","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":73},"in_reply_to":"5e37a2d9_86a5120d","updated":"2021-01-08 18:15:51.000000000","message":"ya i know its more  a chicken and egg thing.\n\nthis is really the main usecase but its not quite ready yet.\nwe are hoping that vdpa will replace sriov and perhas mdevs for passthough usecases in general partly because unile sriov it provides a mechanium to do live migration. the mdev framewok can also do that in some cases but because its based in vfio-pci and iommu groups it limits the set of devices that cans implement it.\n\nthe only advantage of hardware offloaed ovs currently for vdpa is not needing the vendor specific nic dirver.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* A new vnic-type vdpa will be introduced to neutron to request vdpa offloaded"},{"line_number":60,"context_line":"  networking. https://github.com/openstack/neutron-lib/commit/8c6ab5e"},{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a6214bdd_f08c030e","line":59,"range":{"start_line":59,"start_character":23,"end_line":59,"end_character":41},"updated":"2021-01-08 00:20:22.000000000","message":"\"has been introduced\"","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* A new vnic-type vdpa will be introduced to neutron to request vdpa offloaded"},{"line_number":60,"context_line":"  networking. https://github.com/openstack/neutron-lib/commit/8c6ab5e"},{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c69eee7f_fbe3c233","line":59,"range":{"start_line":59,"start_character":23,"end_line":59,"end_character":41},"in_reply_to":"a6214bdd_f08c030e","updated":"2021-01-08 18:15:51.000000000","message":"yes this is already merged so correct it should now be past tense.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c5c8f30c36528bc5c84e5c545435035959c864b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* A new vnic-type vdpa will be introduced to neutron to request vdpa offloaded"},{"line_number":60,"context_line":"  networking. https://github.com/openstack/neutron-lib/commit/8c6ab5e"},{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"}],"source_content_type":"text/x-rst","patch_set":2,"id":"96037c74_4f6f0d2e","line":59,"range":{"start_line":59,"start_character":23,"end_line":59,"end_character":41},"in_reply_to":"c69eee7f_fbe3c233","updated":"2021-01-19 16:48:00.000000000","message":"Done","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"08f426b6a5489cf6f5048e1280078c55a2b23d95","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"},{"line_number":63,"context_line":"* The libvirt driver will be extended to generate the vDPA interface XML"},{"line_number":64,"context_line":"* The PCI tracker will be extended with a new device-type ``type-VDPA``"},{"line_number":65,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":66,"context_line":"  libvirt driver on hosts with vDPA devices."},{"line_number":67,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e2e78935_9ed16572","line":64,"updated":"2021-01-08 00:20:22.000000000","message":"This will be used in the whitelist configuration as well, yeah? We need *something* to let operators choose what (if any) vDPA devices on a host they want to make available to guests, this is this mechanism?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"911b6ff7555198555db49cba3ac381211a8a6155","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"},{"line_number":63,"context_line":"* The libvirt driver will be extended to generate the vDPA interface XML"},{"line_number":64,"context_line":"* The PCI tracker will be extended with a new device-type ``type-VDPA``"},{"line_number":65,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":66,"context_line":"  libvirt driver on hosts with vDPA devices."},{"line_number":67,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"82c076ef_49b17426","line":64,"in_reply_to":"21ad97ef_f193da75","updated":"2021-01-19 16:24:37.000000000","message":"\u003e tl;dr nova will allow only the vdpa devices that have parent vf that are allowed by the whitelist.\n\u003e we will ignore the rest.\n\nThat should probably be in the spec, in the documentation section, no?","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f9e2063717371d1b7dbeffc4f0fe682315a6111","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"},{"line_number":63,"context_line":"* The libvirt driver will be extended to generate the vDPA interface XML"},{"line_number":64,"context_line":"* The PCI tracker will be extended with a new device-type ``type-VDPA``"},{"line_number":65,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":66,"context_line":"  libvirt driver on hosts with vDPA devices."},{"line_number":67,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"21ad97ef_f193da75","line":64,"in_reply_to":"34f2ba8a_b6d1ba9d","updated":"2021-01-18 16:33:14.000000000","message":"for the moment while we are just going to enable vdpa device based on sriov capable nics\nwe are going to assume the parten is a pci device\n\nso the filtering will be done via the pci whitelist\n\nbut yes\nif  /sys/bus/pci/devices/0000\\:07\\:00.2/ is your VF that supports vdpa\nit will have a simlink to the vdpa device name\n\ne.g. vdpa0 which correspond to the /dev/vdpa0 device that we passh tough to qemu.\nso we tell the kernel to bind that to the vhost driver by doing \necho vdpa0 \u003e /sys/bus/vdpa/drivers/vhost_vdpa/bind\nwhen we are using it with libvirt/qemu or\nor echo vdpa0 \u003e /sys/bus/vdpa/drivers/virtio_vdpa/bind if we using it containers.\n\nwe would filter the device using the pci address however so 0000\\:07\\:00.2 in this case.\n\nthis should all be done out of band of nova via a systemd service or udev rules.\n\ntl;dr nova will allow only the vdpa devices that have parent vf that are allowed by the whitelist.\nwe will ignore the rest.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c5c8f30c36528bc5c84e5c545435035959c864b","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"},{"line_number":63,"context_line":"* The libvirt driver will be extended to generate the vDPA interface XML"},{"line_number":64,"context_line":"* The PCI tracker will be extended with a new device-type ``type-VDPA``"},{"line_number":65,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":66,"context_line":"  libvirt driver on hosts with vDPA devices."},{"line_number":67,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"cfbd046a_7e83c93c","line":64,"in_reply_to":"82c076ef_49b17426","updated":"2021-01-19 16:48:00.000000000","message":"am i can add it i guess its kind of out of scope of the spec but it can certenly be added to the nova docs.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"def136b928cd7d3a1757999d5faac72fa8f8b6eb","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"},{"line_number":63,"context_line":"* The libvirt driver will be extended to generate the vDPA interface XML"},{"line_number":64,"context_line":"* The PCI tracker will be extended with a new device-type ``type-VDPA``"},{"line_number":65,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":66,"context_line":"  libvirt driver on hosts with vDPA devices."},{"line_number":67,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"34f2ba8a_b6d1ba9d","line":64,"in_reply_to":"c1dfe567_ae937930","updated":"2021-01-15 21:05:57.000000000","message":"Ah, so this an \"internal\" type that\u0027s used for housekeeping. Is [1] how this binding  that the operator has to do will work? And then the PCI tracker will read from sysfs to figure out what the VDPA devices are?\n\nWould there be a use case for having a VPDA device on a host and *not* want to expose it to Nova guests? I guess we could add on that sort of filtering in the future if we need to?\n\n[1] https://www.redhat.com/en/blog/vdpa-kernel-framework-part-1-vdpa-bus-abstracting-hardware?source\u003dbloglisting\u0026search\u003dvdpa","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"279f09fe614d25e28fef60c178cbbe97f9a5ea6e","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The nova.network.model class will be extended to define the new vDPA"},{"line_number":62,"context_line":"  vnic-type"},{"line_number":63,"context_line":"* The libvirt driver will be extended to generate the vDPA interface XML"},{"line_number":64,"context_line":"* The PCI tracker will be extended with a new device-type ``type-VDPA``"},{"line_number":65,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":66,"context_line":"  libvirt driver on hosts with vDPA devices."},{"line_number":67,"context_line":"* A new placement pre filter will be added to append a required trait request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c1dfe567_ae937930","line":64,"in_reply_to":"e2e78935_9ed16572","updated":"2021-01-08 18:15:51.000000000","message":"no this will not be used in the whitelist and will not be allowed in the alis.\n\nthe operator will decide which interface to use with vdpa by binding the device to the vdpa device driver.\n\nthere will be no extention to the whitelist for this.\n\nthis is used to ensure the vnic-type direct/macvtap cannot select a vf that corresponds to a vdpa device and also to ensure that a pci alias also cannot.\n\nagain because of the contol plane requirement for vdpa we cannt just treat them as normal vf they have to be handeled seperatly.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"def136b928cd7d3a1757999d5faac72fa8f8b6eb","unresolved":true,"context_lines":[{"line_number":68,"context_line":"  to the unnamed group if any VM interface is vnic-type ``vdpa``. This filter"},{"line_number":69,"context_line":"  will be disabled by default and enabled using a new config option."},{"line_number":70,"context_line":"* A new workaround config option will be added"},{"line_number":71,"context_line":"  enable_virtual_vdpa_devices\u003dTrue|False (default: False). When set to True it"},{"line_number":72,"context_line":"  will allow the virtual vdpa devices such as the ``vdpa_sim``"},{"line_number":73,"context_line":"  devices to be tracked and used. Virtual PCI devices do not have a VF or PCI"},{"line_number":74,"context_line":"  device associated with them, setting this value will result in the no-op"}],"source_content_type":"text/x-rst","patch_set":2,"id":"0f554856_96697291","line":71,"range":{"start_line":71,"start_character":2,"end_line":71,"end_character":29},"updated":"2021-01-15 21:05:57.000000000","message":"So... why is this necessary? AFAICT from [1] a vdpa_sim device works exactly the same as a hardware implementation (except it loops all TX trafic back into RX). Why would do we need different logic to plug it?\n\n[1] https://www.redhat.com/en/blog/hands-vdpa-what-do-you-do-when-you-aint-got-hardware","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f9e2063717371d1b7dbeffc4f0fe682315a6111","unresolved":true,"context_lines":[{"line_number":68,"context_line":"  to the unnamed group if any VM interface is vnic-type ``vdpa``. This filter"},{"line_number":69,"context_line":"  will be disabled by default and enabled using a new config option."},{"line_number":70,"context_line":"* A new workaround config option will be added"},{"line_number":71,"context_line":"  enable_virtual_vdpa_devices\u003dTrue|False (default: False). When set to True it"},{"line_number":72,"context_line":"  will allow the virtual vdpa devices such as the ``vdpa_sim``"},{"line_number":73,"context_line":"  devices to be tracked and used. Virtual PCI devices do not have a VF or PCI"},{"line_number":74,"context_line":"  device associated with them, setting this value will result in the no-op"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5cfce75b_3b847b12","line":71,"range":{"start_line":71,"start_character":2,"end_line":71,"end_character":29},"in_reply_to":"0f554856_96697291","updated":"2021-01-18 16:33:14.000000000","message":"from a vdpa point of view yes but it does not emulate a pci device.\nso form the libvirt perspective its parent is the compute node root nodedev which is not a pci device.\nso it does not look quite the same and i would have to handle it specifically.\n\ngiven i have not written this i coudl see how far i can get with functional tests and go from there.\nevenually it mightbe nice to have this but ill descope it for now.","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c5c8f30c36528bc5c84e5c545435035959c864b","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  to the unnamed group if any VM interface is vnic-type ``vdpa``. This filter"},{"line_number":69,"context_line":"  will be disabled by default and enabled using a new config option."},{"line_number":70,"context_line":"* A new workaround config option will be added"},{"line_number":71,"context_line":"  enable_virtual_vdpa_devices\u003dTrue|False (default: False). When set to True it"},{"line_number":72,"context_line":"  will allow the virtual vdpa devices such as the ``vdpa_sim``"},{"line_number":73,"context_line":"  devices to be tracked and used. Virtual PCI devices do not have a VF or PCI"},{"line_number":74,"context_line":"  device associated with them, setting this value will result in the no-op"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7c62cba9_80b96e60","line":71,"range":{"start_line":71,"start_character":2,"end_line":71,"end_character":29},"in_reply_to":"5cfce75b_3b847b12","updated":"2021-01-19 16:48:00.000000000","message":"Done","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49d34f4163790dea5209da08918cb6619806db2a","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  devices to be tracked and used. Virtual PCI devices do not have a VF or PCI"},{"line_number":74,"context_line":"  device associated with them, setting this value will result in the no-op"},{"line_number":75,"context_line":"  os-vif driver being used and a sentinel value being used to track the device"},{"line_number":76,"context_line":"  in the PCI tracker. This will allow testing without real vDPA hardware in ci"},{"line_number":77,"context_line":"  and is not intended for production use. When set to false the existing"},{"line_number":78,"context_line":"  hardware offloaded ovs support in os-vif will be used to plug the interface."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"50410b5e_1ffef4bb","line":76,"range":{"start_line":76,"start_character":76,"end_line":76,"end_character":78},"updated":"2021-01-15 11:23:41.000000000","message":"nit: CI","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c5c8f30c36528bc5c84e5c545435035959c864b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  devices to be tracked and used. Virtual PCI devices do not have a VF or PCI"},{"line_number":74,"context_line":"  device associated with them, setting this value will result in the no-op"},{"line_number":75,"context_line":"  os-vif driver being used and a sentinel value being used to track the device"},{"line_number":76,"context_line":"  in the PCI tracker. This will allow testing without real vDPA hardware in ci"},{"line_number":77,"context_line":"  and is not intended for production use. When set to false the existing"},{"line_number":78,"context_line":"  hardware offloaded ovs support in os-vif will be used to plug the interface."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"99a5034b_dd9816cc","line":76,"range":{"start_line":76,"start_character":76,"end_line":76,"end_character":78},"in_reply_to":"50410b5e_1ffef4bb","updated":"2021-01-19 16:48:00.000000000","message":"Done","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49d34f4163790dea5209da08918cb6619806db2a","unresolved":true,"context_lines":[{"line_number":81,"context_line":"  The vdpa device type is required to ensure that the VF associated with vDPA"},{"line_number":82,"context_line":"  devices cannot be allocated to VMs via PCI alias or standard neutron SR-IOV"},{"line_number":83,"context_line":"  support. VFs associated with VDPA devices cannot be managed using standard"},{"line_number":84,"context_line":"  kernel control plan command such as ip tools as a result allocating them"},{"line_number":85,"context_line":"  to an interface managed by the ``sriov-nic-agent`` or via alias based PCI"},{"line_number":86,"context_line":"  pass-through is not valid. This will also provide automatic numa affinity and"},{"line_number":87,"context_line":"  a path to eventurally report vdpa devices in placement as part of generic pci"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ee3f225_1661f3df","line":84,"range":{"start_line":84,"start_character":17,"end_line":84,"end_character":21},"updated":"2021-01-15 11:23:41.000000000","message":"nit: plane","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c5c8f30c36528bc5c84e5c545435035959c864b","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  The vdpa device type is required to ensure that the VF associated with vDPA"},{"line_number":82,"context_line":"  devices cannot be allocated to VMs via PCI alias or standard neutron SR-IOV"},{"line_number":83,"context_line":"  support. VFs associated with VDPA devices cannot be managed using standard"},{"line_number":84,"context_line":"  kernel control plan command such as ip tools as a result allocating them"},{"line_number":85,"context_line":"  to an interface managed by the ``sriov-nic-agent`` or via alias based PCI"},{"line_number":86,"context_line":"  pass-through is not valid. This will also provide automatic numa affinity and"},{"line_number":87,"context_line":"  a path to eventurally report vdpa devices in placement as part of generic pci"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ea1ee15f_b46f4559","line":84,"range":{"start_line":84,"start_character":17,"end_line":84,"end_character":21},"in_reply_to":"5ee3f225_1661f3df","updated":"2021-01-19 16:48:00.000000000","message":"Done","commit_id":"25a20d97742953ddd97d61b1beb917b87fb480e8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"911b6ff7555198555db49cba3ac381211a8a6155","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator and the vm without the cpu overhead of traditional"},{"line_number":29,"context_line":"software vHost implementations. VDPA enabled vswitch offloads allow"},{"line_number":30,"context_line":"the guest can use standard virtio drivers instead of a vendor specific driver."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":".. note::"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"472ecbf5_9470e7d1","line":30,"range":{"start_line":30,"start_character":10,"end_line":30,"end_character":17},"updated":"2021-01-19 16:24:37.000000000","message":"\"to use\"","commit_id":"94d6ddfbdfe585199c8e2d991c60b43667e1040d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c5c8f30c36528bc5c84e5c545435035959c864b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator and the vm without the cpu overhead of traditional"},{"line_number":29,"context_line":"software vHost implementations. VDPA enabled vswitch offloads allow"},{"line_number":30,"context_line":"the guest can use standard virtio drivers instead of a vendor specific driver."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":".. note::"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"d8369bc1_ffb272c0","line":30,"range":{"start_line":30,"start_character":10,"end_line":30,"end_character":17},"in_reply_to":"472ecbf5_9470e7d1","updated":"2021-01-19 16:48:00.000000000","message":"Ack","commit_id":"94d6ddfbdfe585199c8e2d991c60b43667e1040d"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"a2f72b42f4dcd3d835afe334105f976988bca561","unresolved":true,"context_lines":[{"line_number":27,"context_line":"in the guest to function. The vdpa bus allows an abstraction layer to exist"},{"line_number":28,"context_line":"between the accelerator and the vm without the cpu overhead of traditional"},{"line_number":29,"context_line":"software vHost implementations. VDPA enabled vswitch offloads allow"},{"line_number":30,"context_line":"the guest to use standard virtio drivers instead of a vendor specific driver."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":".. note::"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"d845c5b2_4c8e5001","line":30,"updated":"2021-01-19 20:29:18.000000000","message":"Nice, thanks!","commit_id":"8536790d9f31cc7bc52139d7f25fe2a20438a2b7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1ee7d9c38a0e83f5ebbbf0c0dc9b017cd4d7780b","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  resources dictionary consumed by  _setup_pci_tracker at the start up of"},{"line_number":77,"context_line":"  the compute agent in _init_compute_node."},{"line_number":78,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":79,"context_line":"  libvirt driver on hosts with vDPA devices, and the required version of QEMU"},{"line_number":80,"context_line":"  and libvirt."},{"line_number":81,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":82,"context_line":"  to the unnamed group if any VM interface is vnic-type ``vdpa``. This filter"}],"source_content_type":"text/x-rst","patch_set":4,"id":"78d2ba99_01529a0e","line":79,"range":{"start_line":79,"start_character":45,"end_line":79,"end_character":1},"updated":"2021-01-20 10:42:54.000000000","message":"how this is related to the trait in the first part of the sentence? It does not make much sense to me to report required libvirt version as trait.","commit_id":"8536790d9f31cc7bc52139d7f25fe2a20438a2b7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"43b671595af647e06af6b1e431eb5bd5d62ba120","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  resources dictionary consumed by  _setup_pci_tracker at the start up of"},{"line_number":77,"context_line":"  the compute agent in _init_compute_node."},{"line_number":78,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":79,"context_line":"  libvirt driver on hosts with vDPA devices, and the required version of QEMU"},{"line_number":80,"context_line":"  and libvirt."},{"line_number":81,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":82,"context_line":"  to the unnamed group if any VM interface is vnic-type ``vdpa``. This filter"}],"source_content_type":"text/x-rst","patch_set":4,"id":"37f8f660_5f5e6748","line":79,"range":{"start_line":79,"start_character":45,"end_line":79,"end_character":1},"in_reply_to":"12f487b0_6652096b","updated":"2021-01-20 11:48:47.000000000","message":"ya so my intent is to only report the trait if \n1 its running the libvirt driver\n2 the version of libvirt and qemu are new enough to support vdpa\n3 there is a vdpa device on the host whos parent is whitelisted via the pci whitelist.\n\n\nyou are right that the pci passthough filter is technically enouch to handel scudling to host with type-VDPA but its much less efficient to do that and if you do rely on the filter you cannont reduce the placement allocation candiate limit below the number of compute nodes.\n\nif you were to limit the result set from plamcent and not have the trait then its possible for there to be hosts the can fullfile the request but placment to not return them due to the limit set for allcoation candiates. that would result in the pcipasshtough filter eliminating all host thus raising no valid host.\nto prevent this we either need this trait or we need to track vdpa device in placemnt.\n\nno the later is something i want to do eventually but i dont think i have time to do it this cycle.\nthe trait on the other hand i can do. so this subset problem where the pci passthough fitler might not get\nall possible candidates due to the allocation candidate limit is the real reason for the trait.\nits reporting the capablity to provide vdpa devices, the pci passthough filter will check the avaiablity fo vdpa device on the host, the numa toplogy filter will then check the affinity of those device when dealing with numa guests. when we eventually have generic pci devices in placment as inventoreis then the trait and pci passthoug filter would not be needed. if you prefer i could use a CUSTOM_TRAIT for this cycle as i would like to implemnt the pci device tracking in plamcnet next cycle.\n\nthis is a partial implementation of the trait reporting \nhttps://review.opendev.org/c/openstack/nova/+/770533/2/nova/virt/libvirt/driver.py\nwhat is missing is the check for the presents of the VDPA device on the host.\n\nif i have to track pci device in placement this cycle i cloud but we would need to basiclaly appove that now. each PF would be its own RP with either inveorties of PFs, VFs or VDPA devices.\ntype-PF and type-PCI coudl share the same resouce class but with a different trait or we could have a resouce class for each. this part is simple. as is traslating the network capablities and pci whitelist tag such as the physical_network to standard and custom traits. what is tricker is how to haned the fact that we can have device with VF and still claim the PF if none of them are used in which case we woudl have to atomicaly  set reserved\u003dtotal on the vf inventory. to do that we would need to do the claim in the placment and then atomicly claim in the pci tracker before we get to the compute node.\n\nthat is complex and that is what im trying to avoid in this spec and this cycle.\nthat is ignoring numa which i assume at least for the first iteration of pci device in placment we will ignore.","commit_id":"8536790d9f31cc7bc52139d7f25fe2a20438a2b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"efaa75a80d8321636e93ad128ed868ba6ee9a525","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  resources dictionary consumed by  _setup_pci_tracker at the start up of"},{"line_number":77,"context_line":"  the compute agent in _init_compute_node."},{"line_number":78,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":79,"context_line":"  libvirt driver on hosts with vDPA devices, and the required version of QEMU"},{"line_number":80,"context_line":"  and libvirt."},{"line_number":81,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":82,"context_line":"  to the unnamed group if any VM interface is vnic-type ``vdpa``. This filter"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f4ef46b_6983293f","line":79,"range":{"start_line":79,"start_character":45,"end_line":79,"end_character":1},"in_reply_to":"37f8f660_5f5e6748","updated":"2021-01-20 12:00:24.000000000","message":"Discussed this more on IRC. I think this is a pre-optimization and a stand-in for what we should be doing: PCI inventory in placement. What Sean says RE: limiting allocation candidates is true, but I think it\u0027s an edge case we\u0027re unlikely to hit and if we did, we could simply use provider.yaml to report a custom trait for hosts with vDPA inventory. I\u0027d rather we dropped this trait for now and focused on adding PCI devices to placement next cycle. I\u0027m not fervently against it though, so if anyone disagrees then I can live with this.","commit_id":"8536790d9f31cc7bc52139d7f25fe2a20438a2b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9dfececf43e59c47305208b0e82b4d83cebb0191","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  resources dictionary consumed by  _setup_pci_tracker at the start up of"},{"line_number":77,"context_line":"  the compute agent in _init_compute_node."},{"line_number":78,"context_line":"* A new standard trait ``HW_NIC_VDPA`` will be added and reported by the"},{"line_number":79,"context_line":"  libvirt driver on hosts with vDPA devices, and the required version of QEMU"},{"line_number":80,"context_line":"  and libvirt."},{"line_number":81,"context_line":"* A new placement pre filter will be added to append a required trait request"},{"line_number":82,"context_line":"  to the unnamed group if any VM interface is vnic-type ``vdpa``. This filter"}],"source_content_type":"text/x-rst","patch_set":4,"id":"12f487b0_6652096b","line":79,"range":{"start_line":79,"start_character":45,"end_line":79,"end_character":1},"in_reply_to":"78d2ba99_01529a0e","updated":"2021-01-20 10:59:31.000000000","message":"I don\u0027t think Sean is saying we\u0027ll report the version of libvirt and QEMU. Rather, they\u0027re saying that only compute nodes with a suitably new version of libvirt and QEMU will be able to support vDPA devices and therefore these hosts can report this trait to indicate that they have vDPA inventory. However, firstly that\u0027s kind of unnecessary to state, since if the hosts have vDPA inventory then they implicitly have a new enough libvirt and QEMU version (how else would they know that they\u0027re vDPA devices unless they had support for reading this device info). More importantly, I don\u0027t understand why we need this trait at all, since if the host didn\u0027t have a suitably new version of these packages or didn\u0027t have any vDPA devices then it simply wouldn\u0027t report any devices of type \u0027type-VDPA\u0027, which means the \u0027PciPassthroughFilter\u0027 would reject those hosts, right?\n\nLater: I guess there is a the possibility that the \u0027PciPassthroughFilter\u0027 might not be enabled, in which case any host could be scheduled to and older hosts would explode when they encounter the \u0027type-VDPA\u0027 value. However, they\u0027re going to explode quite early when we attempt to downversion the o.vo, which I think is correct since requesting PCI devices, via neutron or otherwise, with this filter disabled is fundamentally a misconfiguration.","commit_id":"8536790d9f31cc7bc52139d7f25fe2a20438a2b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"26f9e0496992da7b8baebd8af36d3a81f4cde9ea","unresolved":true,"context_lines":[{"line_number":191,"context_line":"Upgrade impact"},{"line_number":192,"context_line":"--------------"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Upgraded host will report the new trait for vdpa support."},{"line_number":195,"context_line":"This will ensure that instance with vDPA interfaces are only schduled to host"},{"line_number":196,"context_line":"that support them including during move operations."},{"line_number":197,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"8f2b298f_e3d5cac2","line":194,"updated":"2021-01-21 10:39:27.000000000","message":"This needs to be removed now","commit_id":"e0588b5de707f59c6ade97b602fd97abd9f3e5fc"}]}
