)]}'
{"doc/source/host_info.rst":[{"author":{"_account_id":8190,"name":"Drew Thorstensen (thorst)","email":"thorst@us.ibm.com","username":"thorst"},"change_message_id":"c0d2c5dcf0c922308b6c603bf0758072aec0ed21","unresolved":false,"context_lines":[{"line_number":29,"context_line":"on the host. This currently means a list of VIF objects"},{"line_number":30,"context_line":"that the plugin is capable of consuming. In the future"},{"line_number":31,"context_line":"this may include further information about resources on"},{"line_number":32,"context_line":"the host that the plugin can/will utilize. While many"},{"line_number":33,"context_line":"plugins will only ever support a single VIF object, it"},{"line_number":34,"context_line":"is permitted to support multiple different VIF objects."},{"line_number":35,"context_line":"An example would be openvswitch which can use the same"},{"line_number":36,"context_line":"underlying host network functionality to configure a VM"},{"line_number":37,"context_line":"in several different ways."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_016e72ff","line":34,"range":{"start_line":32,"start_character":43,"end_line":34,"end_character":55},"updated":"2016-05-05 18:17:32.000000000","message":"Is it becoming more common to have two agents (SR-IOV and say OVS) running on a given host at once?\n\nIs this \u0027plugin\u0027 the same as a neutron plugin (I suspect different).","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"269260728b93391798844d7c6549d379cd2dd0c0","unresolved":false,"context_lines":[{"line_number":29,"context_line":"on the host. This currently means a list of VIF objects"},{"line_number":30,"context_line":"that the plugin is capable of consuming. In the future"},{"line_number":31,"context_line":"this may include further information about resources on"},{"line_number":32,"context_line":"the host that the plugin can/will utilize. While many"},{"line_number":33,"context_line":"plugins will only ever support a single VIF object, it"},{"line_number":34,"context_line":"is permitted to support multiple different VIF objects."},{"line_number":35,"context_line":"An example would be openvswitch which can use the same"},{"line_number":36,"context_line":"underlying host network functionality to configure a VM"},{"line_number":37,"context_line":"in several different ways."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab6814e_23c9ee26","line":34,"range":{"start_line":32,"start_character":43,"end_line":34,"end_character":55},"in_reply_to":"1a122d0e_016e72ff","updated":"2016-05-20 22:00:09.000000000","message":"sriov and ovs or sriov and linux bridge are the most common cases of multiple agents. \n\nplugin in this contex refer to the os-vif plugins that provide the plug and unplug methods.\n\nthe ovs plugin currently support 2 vif_types and will support 3 soon once vhost-user supprot is added\n\nmany plugins are expected to only support a single vif_type though.\n\nin the future, as part of the port binding, when nova asks neutron to bind the port it will porvide a list of the plugins available on the host to neuton along with there verison information and the vif_types they support.\n\nneutron will then be able to use this information do decide how to bid the port by select both a vif_type and a vif_plugin to use. its likely most neutron drivers will remain hard-coded to only support a single vif_type and plugin but they don\u0027t have to be.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"505bd9f2f27a62fe28f79e93bc4877136968f0e8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"object name and the minimum and maximum versions of the"},{"line_number":45,"context_line":"object that can be consumed."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"It is the responsibility of the network provider to ensure"},{"line_number":48,"context_line":"that it only sends back a serialized VIF object that satisfies"},{"line_number":49,"context_line":"the minimum and maximum version constraints indicated by the"},{"line_number":50,"context_line":"plugin. Objects outside of this version range will be rejected"},{"line_number":51,"context_line":"with a fatal error."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_00908e42","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":7},"updated":"2016-03-29 16:58:59.000000000","message":"i would assume it is valid for the network provider to return an error and refuse to bind the interface if it does not support the version of the plugin installed on the host also.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"274469aab58c0568d1e311a310d9683b6941a4a5","unresolved":false,"context_lines":[{"line_number":44,"context_line":"object name and the minimum and maximum versions of the"},{"line_number":45,"context_line":"object that can be consumed."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"It is the responsibility of the network provider to ensure"},{"line_number":48,"context_line":"that it only sends back a serialized VIF object that satisfies"},{"line_number":49,"context_line":"the minimum and maximum version constraints indicated by the"},{"line_number":50,"context_line":"plugin. Objects outside of this version range will be rejected"},{"line_number":51,"context_line":"with a fatal error."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_03d4181e","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":7},"in_reply_to":"ba0121b8_00908e42","updated":"2016-03-29 17:05:57.000000000","message":"Yep, that\u0027s correct","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"505bd9f2f27a62fe28f79e93bc4877136968f0e8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Negotiating networking"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"When a service host wants to create a network port, it will"},{"line_number":58,"context_line":"first populate an instance of the HostInfo class, to describe"},{"line_number":59,"context_line":"all the plugins installed on the host. It will then serialize"},{"line_number":60,"context_line":"this class to JSON and send it to the network manager host."},{"line_number":61,"context_line":"The network manager host will deserialize it back into a"},{"line_number":62,"context_line":"HostInfo object. This can then be passed down into the network"},{"line_number":63,"context_line":"driver which can use it to decide how to configure the network"},{"line_number":64,"context_line":"port."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If the os-vif version installed on the network host is older"},{"line_number":67,"context_line":"than that on the service host, it may not be able to deserialize"},{"line_number":68,"context_line":"the HostInfo class. In this case it should reply with an error"},{"line_number":69,"context_line":"to the service host. The error message should report the maximum"},{"line_number":70,"context_line":"version of the HostInfo class that is supported. the service"},{"line_number":71,"context_line":"host should then backlevel its HostInfo object to that version"},{"line_number":72,"context_line":"before serializing it and re-trying the port creation request."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_e02e3af9","line":72,"range":{"start_line":57,"start_character":0,"end_line":72,"end_character":62},"updated":"2016-03-29 16:58:59.000000000","message":"how will this info be passed the the network provider?\nas part of the port binding profile?\nif not an modification to the neutron port binding extension will be required to support this.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"274469aab58c0568d1e311a310d9683b6941a4a5","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Negotiating networking"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"When a service host wants to create a network port, it will"},{"line_number":58,"context_line":"first populate an instance of the HostInfo class, to describe"},{"line_number":59,"context_line":"all the plugins installed on the host. It will then serialize"},{"line_number":60,"context_line":"this class to JSON and send it to the network manager host."},{"line_number":61,"context_line":"The network manager host will deserialize it back into a"},{"line_number":62,"context_line":"HostInfo object. This can then be passed down into the network"},{"line_number":63,"context_line":"driver which can use it to decide how to configure the network"},{"line_number":64,"context_line":"port."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If the os-vif version installed on the network host is older"},{"line_number":67,"context_line":"than that on the service host, it may not be able to deserialize"},{"line_number":68,"context_line":"the HostInfo class. In this case it should reply with an error"},{"line_number":69,"context_line":"to the service host. The error message should report the maximum"},{"line_number":70,"context_line":"version of the HostInfo class that is supported. the service"},{"line_number":71,"context_line":"host should then backlevel its HostInfo object to that version"},{"line_number":72,"context_line":"before serializing it and re-trying the port creation request."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_03a258ae","line":72,"range":{"start_line":57,"start_character":0,"end_line":72,"end_character":62},"in_reply_to":"ba0121b8_e02e3af9","updated":"2016-03-29 17:05:57.000000000","message":"The place in which is is passed is left undefined by os-vif. When we do the nova \u003c-\u003e neutron integration though we\u0027ll define it for that case. I\u0027m not sure exactly what that\u0027ll look like, but we\u0027ll need to write up a spec for neutron to define it.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"}],"doc/source/vif_types.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcf5ece004c417cf1bb6e9080ca1e8949dd6d4c5","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"In os-vif, a VIF type refers to a particular approach for configuring"},{"line_number":6,"context_line":"the backend of a guest virtual network interface. There is a small,"},{"line_number":7,"context_line":"finite set of ways a vNIC backend can be configured for any given"},{"line_number":8,"context_line":"hypervisor and a limited amount of metadata is associated with each"},{"line_number":9,"context_line":"approach."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa0719c6_7b07fb81","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":25},"updated":"2016-03-24 03:39:39.000000000","message":"lets not conflate vif types and vNIC as they are different concepts from a neutron point of view. it would be better to use VIF here.","commit_id":"9df34426cca4d302bf61e0a9437be7ecc5eea36e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcf5ece004c417cf1bb6e9080ca1e8949dd6d4c5","unresolved":false,"context_lines":[{"line_number":31,"context_line":"directly to an explicit host bridge device. This provides ethernet"},{"line_number":32,"context_line":"layer bridging, typically to the the LAN."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"VIFOpenVSwitch"},{"line_number":35,"context_line":"--------------"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"This class provides a configuration where the guest is connected to"},{"line_number":38,"context_line":"an openvswitch port."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"VIFDirect"},{"line_number":41,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa0719c6_1b723f11","line":38,"range":{"start_line":34,"start_character":0,"end_line":38,"end_character":20},"updated":"2016-03-24 03:39:39.000000000","message":"strictly speaking while libvirt supports this this is just a special case fo VIFGeneric.\n\nafter all it could be implented with a plug method that just did \"sudo ovs-vsctl add-port br-int tapname\" for the non hybirid plug case.\n\nsince neutron treats it differently though this makes sense to have.","commit_id":"9df34426cca4d302bf61e0a9437be7ecc5eea36e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcf5ece004c417cf1bb6e9080ca1e8949dd6d4c5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"This class provides a configuration where the guest is connected to"},{"line_number":44,"context_line":"a physical network device. The connection to the device may operate"},{"line_number":45,"context_line":"in one of a number of different modes, vepa (either 802.1qbg"},{"line_number":46,"context_line":"802.1qbh), passthrough (exclusive assignment of the host NIC) or"},{"line_number":47,"context_line":"bridge (ethernet layer bridging of traffic)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"VIFVHostUser"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa0719c6_7b4d3b99","line":46,"range":{"start_line":46,"start_character":11,"end_line":46,"end_character":22},"updated":"2016-03-24 03:39:39.000000000","message":"should we comment on when it is perferable to use VIFDirect with mode\u003dpassthrough vs VIFHostDevice below\n\nas far as i am aware the hostdeve construct in libvirt is not resticted to passing though just nics and also dose not enforce vlan or mac address correct? it is a simple pci passthough but vifDirect can leaver the vlan and mac filter in the case of sriov. i could have reversed those too as i always mix them up unless i look them up in the libvirt docs.","commit_id":"9df34426cca4d302bf61e0a9437be7ecc5eea36e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcf5ece004c417cf1bb6e9080ca1e8949dd6d4c5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"This class provides another totally generic type of configuration,"},{"line_number":53,"context_line":"where the guest is simply exposes a UNIX socket for its backend."},{"line_number":54,"context_line":"An external userspace service connects to the other end of the socket"},{"line_number":55,"context_line":"to provide the network connectivity. The form that connectivity takes"},{"line_number":56,"context_line":"is explicitly left undefined and entirely upto the plugin to decide"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa0719c6_5b9b1718","line":53,"range":{"start_line":53,"start_character":34,"end_line":53,"end_character":63},"updated":"2016-03-24 03:39:39.000000000","message":"actully the socket is just use for the control plane to send vhost configuration ioctls. the dataplane is created by creating a rx/tx virtio queue in a backing file that is mem mapped with the shared flag. qemu strictly speaking can used any shared mem mapped file though dpdk and all other implementation of vhost-user backend i currently know of require the mem mapped files to be kernel hugepages.","commit_id":"9df34426cca4d302bf61e0a9437be7ecc5eea36e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcf5ece004c417cf1bb6e9080ca1e8949dd6d4c5","unresolved":false,"context_lines":[{"line_number":52,"context_line":"This class provides another totally generic type of configuration,"},{"line_number":53,"context_line":"where the guest is simply exposes a UNIX socket for its backend."},{"line_number":54,"context_line":"An external userspace service connects to the other end of the socket"},{"line_number":55,"context_line":"to provide the network connectivity. The form that connectivity takes"},{"line_number":56,"context_line":"is explicitly left undefined and entirely upto the plugin to decide"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"VIFHostDevice"},{"line_number":59,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa0719c6_bb9eb304","line":56,"range":{"start_line":55,"start_character":36,"end_line":56,"end_character":67},"updated":"2016-03-24 03:39:39.000000000","message":"that is not strictly correct, you must implement the virtio-net vhost protocol. how you do that is up to you.","commit_id":"9df34426cca4d302bf61e0a9437be7ecc5eea36e"},{"author":{"_account_id":8190,"name":"Drew Thorstensen (thorst)","email":"thorst@us.ibm.com","username":"thorst"},"change_message_id":"c0d2c5dcf0c922308b6c603bf0758072aec0ed21","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":" VIF Types"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"In os-vif, a VIF type refers to a particular approach for configuring"},{"line_number":6,"context_line":"the backend of a guest virtual network interface. There is a small,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_fcab1986","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":11},"updated":"2016-05-05 18:17:32.000000000","message":"How do other hypervisors go about adding vif types?\n\nPowerVM is very interested in using the os-vif library.  A few things to note from our side.\n1) Obviously we are currently out of tree.\n2) We have a hypervisor specific vif type called \u0027SEA\u0027 (shared ethernet)\n3) We are adding VIF drivers for OVS and Linux Bridge.\n\nFor point 3 I think we\u0027re a very solid \u0027snap in\u0027 with what is here (though we do depend on linux_net - to connect the OVS to the VM).\n\nI\u0027m a little concerned about item 2.  Would we consider adding our unique VIF type here, or does that not make sense.  I\u0027m leaning towards lets start with OVS/LB, and from that experience figure out how to move forward with the SEA bit?","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"7408e3c9581e2931fd56ea0ef8df4692e0d630d5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":" VIF Types"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"In os-vif, a VIF type refers to a particular approach for configuring"},{"line_number":6,"context_line":"the backend of a guest virtual network interface. There is a small,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_a6716146","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":11},"in_reply_to":"1a122d0e_fcab1986","updated":"2016-06-08 11:05:12.000000000","message":"FWIW, I don\u0027t consider os-vif to be exclusively targetting Nova, rather any compute host management system. So from that POV, the fact that PowerVM is not in-tree for Nova is not a blocker. IOW, if there are VIF types you might need that are not covered by what os-vif currently provides, I\u0027d be open to adding more. We already know we\u0027ll likely need to add one more vif object to support VMWare too.  What we have implemented today was merely targetting enough to convert libvirt, with more to follow later.\n\nOf course having said all that, I\u0027d still like to see PowerVM become part of Nova official, but don\u0027t see it as a blocker from os-vif POV.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"269260728b93391798844d7c6549d379cd2dd0c0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":" VIF Types"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"In os-vif, a VIF type refers to a particular approach for configuring"},{"line_number":6,"context_line":"the backend of a guest virtual network interface. There is a small,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab6814e_43f6b2f9","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":11},"in_reply_to":"1a122d0e_fcab1986","updated":"2016-05-20 22:00:09.000000000","message":"im not familar with PowerVM but it appears to have a libvirt dirver https://libvirt.org/drvphyp.html\n\nis powervm integrated with the nova libvirt driver or do you have a separate virt driver for PowerVM.\n\nin either case adding a new vif type is pretty simple.\nin general there should not be a need to create many vif_types as often the same vif_type can be reused by different vif plugins to give different behavior.\n\nif your hypervisor is integrated via libvirt check if vif type is already defined for the virtual interface you want to enable here https://github.com/openstack/os-vif/blob/master/os_vif/objects/vif.py\n\nhttps://github.com/openstack/os-vif/blob/master/os_vif/objects/vif.py#L55 might suit your use case\n\nif your hypervisors vif does not map to one of the existing vif types you should introduce a new oslo versioned object to represent your vif.\n\nonce you have defined your new vif_type in os-vif you have to decided how to enable it in nova and neutron. \n\nif the SEA interface was not previously supported by the nova virt driver or a neutron plugin/driver then you could extend both to use the oslo version object directly.\n\na more incremental approch would be to add a new vif_type to your neuton backend driver/plugin and have the virt driver convert that legacy portbinding dictionary into an os_vif  vif_type object when calling plug and unplug. \n\nfor libvirt backend this would be done here \nhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/vif.py see the current change submitted by dan\nhttps://review.openstack.org/#/c/269672/\n\nprior to the vendor split of neutron backends in kilo to define your new vif_type in neutron you would extend https://github.com/openstack/neutron/blob/master/neutron/extensions/portbindings.py. Following the vendor split if your network backend is defined out of tree as an ml2 driver/plugin this is not required as it can be defined directly in you driver.\n\nif the virtual interface type you are defining could be managed by several neutron backend it is still advised to define the vif_type in the portbinding extensions so it can be reused across neutron backends.\n\nas part of our neutron plugin repo or nova virt driver repo you would then implement your os-vif plug driver and register it as a stevedore extension.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a337584d9f36c60da8b823f4e6878b3e25a41886","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":" VIF Types"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"In os-vif, a VIF type refers to a particular approach for configuring"},{"line_number":6,"context_line":"the backend of a guest virtual network interface. There is a small,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_dd0f3e37","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":11},"in_reply_to":"7aa08908_5bbc01bb","updated":"2016-06-13 14:21:05.000000000","message":"we currently are not using blueprints/specs for os-vif.\nif you would require changes in nova/neutron i would suggest following there process regarding blueprints/specs \n\nfor os-vif i would be happy with an RFE bug to track this and just submit the code for review. adding a new vif type if one was required for SEA is not a large/controversial change so a spec/blueprint is likely not warranted for os-vif itself.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":8190,"name":"Drew Thorstensen (thorst)","email":"thorst@us.ibm.com","username":"thorst"},"change_message_id":"e570441645390ae1a276b73c9ed7a42c8ff711d0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":" VIF Types"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"In os-vif, a VIF type refers to a particular approach for configuring"},{"line_number":6,"context_line":"the backend of a guest virtual network interface. There is a small,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_5bbc01bb","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":11},"in_reply_to":"7aa08908_a6716146","updated":"2016-06-13 11:49:35.000000000","message":"Completely agree its non blocker.  In fact, while PowerVM is not libvirt managed, it is starting to support Linux Bridge and OVS in addition to its standard \u0027SEA\u0027 (Shared Ethernet) backends.\n\nSo for the support of OVS and Linux Bridge, I think we\u0027re in pretty solid shape.  And for the SEA we\u0027ll continue to do what we have today I believe, until we can add something additionally (which the PowerVM team would likely be proposing).\n\nDan - would I need to file a blueprint for that at some point for os-vif, or would I simply start with getting some code out for review at some point?\n\nSorry for my delayed response.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f167fc1abe32e036620b02c94f56cab58e2f5aac","unresolved":false,"context_lines":[{"line_number":23,"context_line":"This class provides a totally generic type of configuration, where the"},{"line_number":24,"context_line":"guest is simply associated with an arbitrary TAP device (or equivalent)."},{"line_number":25,"context_line":"The way the TAP device is connected to the host network stack is"},{"line_number":26,"context_line":"explicitly left undefined and entirely upto the plugin to decide."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"VIFBridge"},{"line_number":29,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_c2bff35e","line":26,"updated":"2016-04-01 23:06:40.000000000","message":"s/upto/up to/","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f167fc1abe32e036620b02c94f56cab58e2f5aac","unresolved":false,"context_lines":[{"line_number":28,"context_line":"VIFBridge"},{"line_number":29,"context_line":"---------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This class provides a configuration where the guest is connected to"},{"line_number":32,"context_line":"directly to an explicit host bridge device. This provides ethernet"},{"line_number":33,"context_line":"layer bridging, typically to the the LAN."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_22b50f7e","line":31,"updated":"2016-04-01 23:06:40.000000000","message":"s/connected to directly to/connected directly to/","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f167fc1abe32e036620b02c94f56cab58e2f5aac","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This class provides a configuration where the guest is connected to"},{"line_number":32,"context_line":"directly to an explicit host bridge device. This provides ethernet"},{"line_number":33,"context_line":"layer bridging, typically to the the LAN."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"VIFOpenVSwitch"},{"line_number":36,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_02ba8b6e","line":33,"updated":"2016-04-01 23:06:40.000000000","message":"s/the the/the/","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f167fc1abe32e036620b02c94f56cab58e2f5aac","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"This class provides a configuration where the guest is connected to"},{"line_number":45,"context_line":"a physical network device. The connection to the device may operate"},{"line_number":46,"context_line":"in one of a number of different modes, vepa (either 802.1qbg"},{"line_number":47,"context_line":"802.1qbh), passthrough (exclusive assignment of the host NIC) or"},{"line_number":48,"context_line":"bridge (ethernet layer bridging of traffic). The passthrough mode"},{"line_number":49,"context_line":"would be used when there is a network device which needs to have"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_62af072c","line":46,"updated":"2016-04-01 23:06:40.000000000","message":"s/vepa/VEPA/","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f167fc1abe32e036620b02c94f56cab58e2f5aac","unresolved":false,"context_lines":[{"line_number":55,"context_line":"------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This class provides another totally generic type of configuration,"},{"line_number":58,"context_line":"where the guest is exposes a UNIX socket for its control plane,"},{"line_number":59,"context_line":"allowing an external userspace service to provide the backend data"},{"line_number":60,"context_line":"plane via a mapped memory region. The process must implement the"},{"line_number":61,"context_line":"virtio-net vhost protocol on this socket in whatever means it most"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_42ac8335","line":58,"updated":"2016-04-01 23:06:40.000000000","message":"s/guest is exposes/guest is provided/","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"505bd9f2f27a62fe28f79e93bc4877136968f0e8","unresolved":false,"context_lines":[{"line_number":58,"context_line":"where the guest is exposes a UNIX socket for its control plane,"},{"line_number":59,"context_line":"allowing an external userspace service to provide the backend data"},{"line_number":60,"context_line":"plane via a mapped memory region. The process must implement the"},{"line_number":61,"context_line":"virtio-net vhost protocol on this socket in whatever means it most"},{"line_number":62,"context_line":"suitable."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"VIFHostDevice"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_c04fb6bb","line":61,"range":{"start_line":61,"start_character":59,"end_line":61,"end_character":61},"updated":"2016-03-29 16:58:59.000000000","message":"nit: is","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f167fc1abe32e036620b02c94f56cab58e2f5aac","unresolved":false,"context_lines":[{"line_number":65,"context_line":"-------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This class provides a way to pass a physical device to the guest,"},{"line_number":68,"context_line":"typically a SR-IOV PCI device virtual functional, though physical"},{"line_number":69,"context_line":"function passthrough is also permitted."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_a2a91f27","line":68,"updated":"2016-04-01 23:06:40.000000000","message":"I thought that VIFHostDevice was pretty much exclusively for PFs, not VFs. VFs typically use the VIF_DIRECT vnic type no?","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f167fc1abe32e036620b02c94f56cab58e2f5aac","unresolved":false,"context_lines":[{"line_number":65,"context_line":"-------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This class provides a way to pass a physical device to the guest,"},{"line_number":68,"context_line":"typically a SR-IOV PCI device virtual functional, though physical"},{"line_number":69,"context_line":"function passthrough is also permitted."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_82a69b51","line":68,"updated":"2016-04-01 23:06:40.000000000","message":"s/functional/function/","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"3eb5ab1ef39262b2b578651fa871631c264804ea","unresolved":false,"context_lines":[{"line_number":65,"context_line":"-------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This class provides a way to pass a physical device to the guest,"},{"line_number":68,"context_line":"typically a SR-IOV PCI device virtual functional, though physical"},{"line_number":69,"context_line":"function passthrough is also permitted."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a8bc5a2_0d48f85a","line":68,"in_reply_to":"ba0121b8_a2a91f27","updated":"2016-09-28 11:12:04.000000000","message":"From os-vif POV it does not matter - it is valid to use either a VF or PF with this  VIF type.","commit_id":"af0b9cd1397219f333f7f3f64e853735608c3e13"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5215fd12e10c7e3622655a67c0bc7ab330cb33dc","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This class provides a way to pass a physical device to the guest."},{"line_number":68,"context_line":"Either an entire physical device, or a SR-IOV PCI device virtual"},{"line_number":69,"context_line":"function, are permitted."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"VIF port profile objects"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da6895a0_b614aff5","line":69,"updated":"2016-10-23 11:09:50.000000000","message":"s/are/is/","commit_id":"447c153b2b045ce8c62ea4d803e8829aa3d1e268"}]}
