)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add pf_interface_name tag to passthrough_whitelist"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduce the new tag ``pf_interface_name`` for the"},{"line_number":10,"context_line":"pci/passthrough_whitelist configuration option. The admin needs to add"},{"line_number":11,"context_line":"this information to the whitelist if the pci devices in the whitelist"},{"line_number":12,"context_line":"is used for neutron SRIOV ports having bandwidth resource request."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This patch does not impact any nova code as the tag matching in the"},{"line_number":15,"context_line":"pci manager is fully transparent and works with any kind of tags."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"9fdfeff1_00439940","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":66},"updated":"2019-02-27 15:28:22.000000000","message":"What does this do that \u0027devname\u0027 doesn\u0027t do? They look effectively the same?\n\nLater, so devname is used if you want to include a single device with the given name, while we actually want to include multiple devices, one PF and zero or more VFs, and simply specify which of them is the PF. I still have concerns about this though.","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add pf_interface_name tag to passthrough_whitelist"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduce the new tag ``pf_interface_name`` for the"},{"line_number":10,"context_line":"pci/passthrough_whitelist configuration option. The admin needs to add"},{"line_number":11,"context_line":"this information to the whitelist if the pci devices in the whitelist"},{"line_number":12,"context_line":"is used for neutron SRIOV ports having bandwidth resource request."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This patch does not impact any nova code as the tag matching in the"},{"line_number":15,"context_line":"pci manager is fully transparent and works with any kind of tags."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"9fdfeff1_083f0d25","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":66},"in_reply_to":"9fdfeff1_00439940","updated":"2019-03-01 09:57:10.000000000","message":"See my reasoning as a reply to your later comment in the doc.","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"}],"doc/source/admin/networking.rst":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0a5e1eb3e77056b43b7e1fa316ee89617d71253e","unresolved":false,"context_lines":[{"line_number":219,"context_line":"           \"slot\": \"00\","},{"line_number":220,"context_line":"           \"function\": \".*\"},"},{"line_number":221,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":222,"context_line":"       }"},{"line_number":223,"context_line":"       {"},{"line_number":224,"context_line":"           \"address\": {"},{"line_number":225,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_0f06bccf","line":222,"range":{"start_line":222,"start_character":7,"end_line":222,"end_character":8},"updated":"2019-01-25 01:02:00.000000000","message":"Add a comma(,)","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a65d49feb06837d63ac25fd33ccb82f87aa6114","unresolved":false,"context_lines":[{"line_number":219,"context_line":"           \"slot\": \"00\","},{"line_number":220,"context_line":"           \"function\": \".*\"},"},{"line_number":221,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":222,"context_line":"       }"},{"line_number":223,"context_line":"       {"},{"line_number":224,"context_line":"           \"address\": {"},{"line_number":225,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_106b901f","line":222,"range":{"start_line":222,"start_character":7,"end_line":222,"end_character":8},"in_reply_to":"9fdfeff1_0f06bccf","updated":"2019-02-05 10:55:09.000000000","message":"Done","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0a5e1eb3e77056b43b7e1fa316ee89617d71253e","unresolved":false,"context_lines":[{"line_number":227,"context_line":"           \"slot\": \"00\","},{"line_number":228,"context_line":"           \"function\": \".*\"},"},{"line_number":229,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":230,"context_line":"       }"},{"line_number":231,"context_line":"       {"},{"line_number":232,"context_line":"           \"address\": {"},{"line_number":233,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_cf0f54df","line":230,"range":{"start_line":230,"start_character":7,"end_line":230,"end_character":8},"updated":"2019-01-25 01:02:00.000000000","message":"ditto","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a65d49feb06837d63ac25fd33ccb82f87aa6114","unresolved":false,"context_lines":[{"line_number":227,"context_line":"           \"slot\": \"00\","},{"line_number":228,"context_line":"           \"function\": \".*\"},"},{"line_number":229,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":230,"context_line":"       }"},{"line_number":231,"context_line":"       {"},{"line_number":232,"context_line":"           \"address\": {"},{"line_number":233,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_30681420","line":230,"range":{"start_line":230,"start_character":7,"end_line":230,"end_character":8},"in_reply_to":"9fdfeff1_cf0f54df","updated":"2019-02-05 10:55:09.000000000","message":"Done","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0a5e1eb3e77056b43b7e1fa316ee89617d71253e","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"   [sriov_nic]"},{"line_number":247,"context_line":"   physical_device_mappings \u003d physnet0:eth0,physnet0:eth1,physnet1:eth2"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   resource_provider_bandwidths \u003d eth0:EGRESS:INGRESS,eth1:EGRESS:INGRESS"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Nova needs to know the mapping between the SRIOV device pools defined by the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_ef125809","line":248,"updated":"2019-01-25 01:02:00.000000000","message":"IMO, this blank line should be removed.","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a65d49feb06837d63ac25fd33ccb82f87aa6114","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"   [sriov_nic]"},{"line_number":247,"context_line":"   physical_device_mappings \u003d physnet0:eth0,physnet0:eth1,physnet1:eth2"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   resource_provider_bandwidths \u003d eth0:EGRESS:INGRESS,eth1:EGRESS:INGRESS"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Nova needs to know the mapping between the SRIOV device pools defined by the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_f0712c0e","line":248,"in_reply_to":"9fdfeff1_ef125809","updated":"2019-02-05 10:55:09.000000000","message":"Done","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0a5e1eb3e77056b43b7e1fa316ee89617d71253e","unresolved":false,"context_lines":[{"line_number":265,"context_line":"           \"function\": \".*\"},"},{"line_number":266,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":267,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":268,"context_line":"       }"},{"line_number":269,"context_line":"       {"},{"line_number":270,"context_line":"           \"address\": {"},{"line_number":271,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_8ff94cc9","line":268,"range":{"start_line":268,"start_character":7,"end_line":268,"end_character":8},"updated":"2019-01-25 01:02:00.000000000","message":"ditto","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a65d49feb06837d63ac25fd33ccb82f87aa6114","unresolved":false,"context_lines":[{"line_number":265,"context_line":"           \"function\": \".*\"},"},{"line_number":266,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":267,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":268,"context_line":"       }"},{"line_number":269,"context_line":"       {"},{"line_number":270,"context_line":"           \"address\": {"},{"line_number":271,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_9060e037","line":268,"range":{"start_line":268,"start_character":7,"end_line":268,"end_character":8},"in_reply_to":"9fdfeff1_8ff94cc9","updated":"2019-02-05 10:55:09.000000000","message":"Done","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0a5e1eb3e77056b43b7e1fa316ee89617d71253e","unresolved":false,"context_lines":[{"line_number":274,"context_line":"           \"function\": \".*\"},"},{"line_number":275,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":276,"context_line":"           \"pf_interface_name\": \"eth1\""},{"line_number":277,"context_line":"       }"},{"line_number":278,"context_line":"       {"},{"line_number":279,"context_line":"           \"address\": {"},{"line_number":280,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_aff450d0","line":277,"range":{"start_line":277,"start_character":7,"end_line":277,"end_character":8},"updated":"2019-01-25 01:02:00.000000000","message":"ditto","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a65d49feb06837d63ac25fd33ccb82f87aa6114","unresolved":false,"context_lines":[{"line_number":274,"context_line":"           \"function\": \".*\"},"},{"line_number":275,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":276,"context_line":"           \"pf_interface_name\": \"eth1\""},{"line_number":277,"context_line":"       }"},{"line_number":278,"context_line":"       {"},{"line_number":279,"context_line":"           \"address\": {"},{"line_number":280,"context_line":"           \"domain\": \"0000\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_b065e447","line":277,"range":{"start_line":277,"start_character":7,"end_line":277,"end_character":8},"in_reply_to":"9fdfeff1_aff450d0","updated":"2019-02-05 10:55:09.000000000","message":"Done","commit_id":"f70efb21e19216ef2cc25edf3a729f6d21a894b2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"6106a4d21d31b90df5cc9aba95336e367b3b82cc","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Note that the third pool of in this example maps to the eth2 PF but it does"},{"line_number":288,"context_line":"not need to be tagged with eth2 as that PF is not configured in neutron to"},{"line_number":289,"context_line":"provide bandwidth resources."}],"source_content_type":"text/x-rst","patch_set":19,"id":"9fdfeff1_6df6f591","line":289,"updated":"2019-02-15 21:52:52.000000000","message":"nit: Shouldn\u0027t we write \"eth2\" on the third pool? Or is it fine to write it?\n\nFor me, it would be easy to understand the sample if writing it by comparing line 247.","commit_id":"9fda2f71f0adb829bbbfbe45ed6131d057421972"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":199,"context_line":"   The feature described below was first introduced in the Stein release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Neutron and Nova together introduced minimum guaranteed bandwidth support for"},{"line_number":202,"context_line":"neutron ports implemented by OVS and SRIOV mechanism drivers. The neutron"},{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_4070c172","line":202,"range":{"start_line":202,"start_character":29,"end_line":202,"end_character":32},"updated":"2019-02-27 15:28:22.000000000","message":"Expand this out the first time it\u0027s used\n\n  Open vSwitch (OVS)","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":199,"context_line":"   The feature described below was first introduced in the Stein release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Neutron and Nova together introduced minimum guaranteed bandwidth support for"},{"line_number":202,"context_line":"neutron ports implemented by OVS and SRIOV mechanism drivers. The neutron"},{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_c00911dd","line":202,"range":{"start_line":202,"start_character":37,"end_line":202,"end_character":42},"updated":"2019-02-27 15:28:22.000000000","message":"SR-IOV, here and elsewhere","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":199,"context_line":"   The feature described below was first introduced in the Stein release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Neutron and Nova together introduced minimum guaranteed bandwidth support for"},{"line_number":202,"context_line":"neutron ports implemented by OVS and SRIOV mechanism drivers. The neutron"},{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_a865a146","line":202,"range":{"start_line":202,"start_character":29,"end_line":202,"end_character":32},"in_reply_to":"9fdfeff1_4070c172","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":199,"context_line":"   The feature described below was first introduced in the Stein release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Neutron and Nova together introduced minimum guaranteed bandwidth support for"},{"line_number":202,"context_line":"neutron ports implemented by OVS and SRIOV mechanism drivers. The neutron"},{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_4858b588","line":202,"range":{"start_line":202,"start_character":37,"end_line":202,"end_character":42},"in_reply_to":"9fdfeff1_c00911dd","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":202,"context_line":"neutron ports implemented by OVS and SRIOV mechanism drivers. The neutron"},{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"},{"line_number":206,"context_line":"configured properly. This section assumes that Nova is already configured for"},{"line_number":207,"context_line":"SRIOV support so ``passthrough_whitelist`` configuration has been set up"},{"line_number":208,"context_line":"to provide pluggable VFs for the nova servers according to the"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_20f81dc2","line":205,"range":{"start_line":205,"start_character":49,"end_line":205,"end_character":53},"updated":"2019-02-27 15:28:22.000000000","message":"nova (else correct neutron above)","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":202,"context_line":"neutron ports implemented by OVS and SRIOV mechanism drivers. The neutron"},{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"},{"line_number":206,"context_line":"configured properly. This section assumes that Nova is already configured for"},{"line_number":207,"context_line":"SRIOV support so ``passthrough_whitelist`` configuration has been set up"},{"line_number":208,"context_line":"to provide pluggable VFs for the nova servers according to the"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_e84649a7","line":205,"range":{"start_line":205,"start_character":49,"end_line":205,"end_character":53},"in_reply_to":"9fdfeff1_20f81dc2","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"},{"line_number":206,"context_line":"configured properly. This section assumes that Nova is already configured for"},{"line_number":207,"context_line":"SRIOV support so ``passthrough_whitelist`` configuration has been set up"},{"line_number":208,"context_line":"to provide pluggable VFs for the nova servers according to the"},{"line_number":209,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-sriov.html\u003e`. For example:"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_204a5d26","line":206,"range":{"start_line":206,"start_character":20,"end_line":206,"end_character":21},"updated":"2019-02-27 15:28:22.000000000","message":"Start a new paragraph here. The next sentence is especially important.","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":203,"context_line":"configuration for this feature is described in the"},{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"},{"line_number":206,"context_line":"configured properly. This section assumes that Nova is already configured for"},{"line_number":207,"context_line":"SRIOV support so ``passthrough_whitelist`` configuration has been set up"},{"line_number":208,"context_line":"to provide pluggable VFs for the nova servers according to the"},{"line_number":209,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-sriov.html\u003e`. For example:"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_88c77d12","line":206,"range":{"start_line":206,"start_character":20,"end_line":206,"end_character":21},"in_reply_to":"9fdfeff1_204a5d26","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"},{"line_number":206,"context_line":"configured properly. This section assumes that Nova is already configured for"},{"line_number":207,"context_line":"SRIOV support so ``passthrough_whitelist`` configuration has been set up"},{"line_number":208,"context_line":"to provide pluggable VFs for the nova servers according to the"},{"line_number":209,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-sriov.html\u003e`. For example:"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_c064b1bb","line":207,"range":{"start_line":207,"start_character":17,"end_line":207,"end_character":42},"updated":"2019-02-27 15:28:22.000000000","message":"Use \u0027:oslo.config:option:\u0027 or whatever the role is","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":204,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-qos.html\u003e`. However to be"},{"line_number":205,"context_line":"able to use this features for SRIOV backed ports Nova also needs to be"},{"line_number":206,"context_line":"configured properly. This section assumes that Nova is already configured for"},{"line_number":207,"context_line":"SRIOV support so ``passthrough_whitelist`` configuration has been set up"},{"line_number":208,"context_line":"to provide pluggable VFs for the nova servers according to the"},{"line_number":209,"context_line":":neutron-doc:`neutron documentation \u003cadmin/config-sriov.html\u003e`. For example:"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_08db8dec","line":207,"range":{"start_line":207,"start_character":17,"end_line":207,"end_character":42},"in_reply_to":"9fdfeff1_c064b1bb","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":214,"context_line":"   passthrough_whitelist \u003d ["},{"line_number":215,"context_line":"       {"},{"line_number":216,"context_line":"           \"address\": {"},{"line_number":217,"context_line":"           \"domain\": \"0000\","},{"line_number":218,"context_line":"           \"bus\": \"01\","},{"line_number":219,"context_line":"           \"slot\": \"00\","},{"line_number":220,"context_line":"           \"function\": \".*\"},"},{"line_number":221,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":222,"context_line":"       },"},{"line_number":223,"context_line":"       {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_c51e036f","line":220,"range":{"start_line":217,"start_character":0,"end_line":220,"end_character":29},"updated":"2019-02-27 15:28:22.000000000","message":"nit: Can you indent this? Ditto for below","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":214,"context_line":"   passthrough_whitelist \u003d ["},{"line_number":215,"context_line":"       {"},{"line_number":216,"context_line":"           \"address\": {"},{"line_number":217,"context_line":"           \"domain\": \"0000\","},{"line_number":218,"context_line":"           \"bus\": \"01\","},{"line_number":219,"context_line":"           \"slot\": \"00\","},{"line_number":220,"context_line":"           \"function\": \".*\"},"},{"line_number":221,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":222,"context_line":"       },"},{"line_number":223,"context_line":"       {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_28ff7134","line":220,"range":{"start_line":217,"start_character":0,"end_line":220,"end_character":29},"in_reply_to":"9fdfeff1_c51e036f","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":234,"context_line":"           \"bus\": \"03\","},{"line_number":235,"context_line":"           \"slot\": \"00\","},{"line_number":236,"context_line":"           \"function\": \".*\"},"},{"line_number":237,"context_line":"           \"physical_network\": \"physnet1\","},{"line_number":238,"context_line":"       }"},{"line_number":239,"context_line":"   ]"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_c03591f8","line":237,"range":{"start_line":237,"start_character":41,"end_line":237,"end_character":42},"updated":"2019-02-27 15:28:22.000000000","message":"drop (JSON is dumb and can\u0027t accept trailing commas)","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":234,"context_line":"           \"bus\": \"03\","},{"line_number":235,"context_line":"           \"slot\": \"00\","},{"line_number":236,"context_line":"           \"function\": \".*\"},"},{"line_number":237,"context_line":"           \"physical_network\": \"physnet1\","},{"line_number":238,"context_line":"       }"},{"line_number":239,"context_line":"   ]"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_e8f40957","line":237,"range":{"start_line":237,"start_character":41,"end_line":237,"end_character":42},"in_reply_to":"9fdfeff1_c03591f8","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":237,"context_line":"           \"physical_network\": \"physnet1\","},{"line_number":238,"context_line":"       }"},{"line_number":239,"context_line":"   ]"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"The available bandwidth are configured per SRIOV PFs in the neutron"},{"line_number":242,"context_line":"configuration:"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_80ab0986","line":240,"updated":"2019-02-27 15:28:22.000000000","message":"nit: An quick explanation of the above would be helpful. Something like:\n\n  The above is configuring nova to use three PFs and their corresponding VFs.\n  The first two are mapped to ``physnet0`` while the last one is mapped to\n  ``physnet1``.","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":237,"context_line":"           \"physical_network\": \"physnet1\","},{"line_number":238,"context_line":"       }"},{"line_number":239,"context_line":"   ]"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"The available bandwidth are configured per SRIOV PFs in the neutron"},{"line_number":242,"context_line":"configuration:"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_e88969c6","line":240,"in_reply_to":"9fdfeff1_80ab0986","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":248,"context_line":"   resource_provider_bandwidths \u003d eth0:EGRESS:INGRESS,eth1:EGRESS:INGRESS"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Nova needs to know the mapping between the SRIOV device pools defined by the"},{"line_number":251,"context_line":"``passthrough_whitelist`` and the SRIOV PFs providing the bandwidth for the"},{"line_number":252,"context_line":"pool. Therefore the above ``passthrough_whitelist`` configuration needs to"},{"line_number":253,"context_line":"be extended with the device name of the PF."},{"line_number":254,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_6055c5c1","line":251,"range":{"start_line":251,"start_character":0,"end_line":251,"end_character":25},"updated":"2019-02-27 15:28:22.000000000","message":"`:oslo.config:option:`","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":248,"context_line":"   resource_provider_bandwidths \u003d eth0:EGRESS:INGRESS,eth1:EGRESS:INGRESS"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Nova needs to know the mapping between the SRIOV device pools defined by the"},{"line_number":251,"context_line":"``passthrough_whitelist`` and the SRIOV PFs providing the bandwidth for the"},{"line_number":252,"context_line":"pool. Therefore the above ``passthrough_whitelist`` configuration needs to"},{"line_number":253,"context_line":"be extended with the device name of the PF."},{"line_number":254,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_c8a7c54f","line":251,"range":{"start_line":251,"start_character":0,"end_line":251,"end_character":25},"in_reply_to":"9fdfeff1_6055c5c1","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Nova needs to know the mapping between the SRIOV device pools defined by the"},{"line_number":251,"context_line":"``passthrough_whitelist`` and the SRIOV PFs providing the bandwidth for the"},{"line_number":252,"context_line":"pool. Therefore the above ``passthrough_whitelist`` configuration needs to"},{"line_number":253,"context_line":"be extended with the device name of the PF."},{"line_number":254,"context_line":""},{"line_number":255,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_805a29ef","line":252,"range":{"start_line":252,"start_character":26,"end_line":252,"end_character":51},"updated":"2019-02-27 15:28:22.000000000","message":"`:oslo.config:option:`","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Nova needs to know the mapping between the SRIOV device pools defined by the"},{"line_number":251,"context_line":"``passthrough_whitelist`` and the SRIOV PFs providing the bandwidth for the"},{"line_number":252,"context_line":"pool. Therefore the above ``passthrough_whitelist`` configuration needs to"},{"line_number":253,"context_line":"be extended with the device name of the PF."},{"line_number":254,"context_line":""},{"line_number":255,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_e8a2c93e","line":252,"range":{"start_line":252,"start_character":26,"end_line":252,"end_character":51},"in_reply_to":"9fdfeff1_805a29ef","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":263,"context_line":"           \"slot\": \"00\","},{"line_number":264,"context_line":"           \"function\": \".*\"},"},{"line_number":265,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":266,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":267,"context_line":"       },"},{"line_number":268,"context_line":"       {"},{"line_number":269,"context_line":"           \"address\": {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_8099c96d","line":266,"range":{"start_line":266,"start_character":11,"end_line":266,"end_character":38},"updated":"2019-02-27 15:28:22.000000000","message":"So and the same line below is the only thing that\u0027s changed between here and the previous example? If so, can you use the \u0027emphasise-lines\u0027 option [1] for this directive, assuming it\u0027s supported by the theme (we can fix that if not).\n\n[1] http://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-code-block","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":263,"context_line":"           \"slot\": \"00\","},{"line_number":264,"context_line":"           \"function\": \".*\"},"},{"line_number":265,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":266,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":267,"context_line":"       },"},{"line_number":268,"context_line":"       {"},{"line_number":269,"context_line":"           \"address\": {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_a062cd14","line":266,"range":{"start_line":266,"start_character":11,"end_line":266,"end_character":38},"updated":"2019-02-27 15:28:22.000000000","message":"This assumes that the filter above maps to a single PF and its VFs. That\u0027s not necessarily true though, I imagine. For example, if I had a dual (or quad) port NIC, I could use the following configuration to ensure I use both PFs and their respective VFs:\n\n  \"address\": {\n    \"domain\": \"0000\",\n    \"bus\": \"01\",\n    \"slot\": \".*\",\n    \"function\": \".*\"\n  },\n\nThis would be perfectly fine but \u0027pf_interface_name\u0027 wouldn\u0027t make sense in this case. I don\u0027t see anything guarding against this though. That brings me to the next question: given that we have access to host, why do we even need that? Can\u0027t we inspect lspci (or the host domain, for libvirt) and pull out the device names for any PFs in our system?","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"28f6281e5af497e8cb6c7ad22f8dda0f6b987927","unresolved":false,"context_lines":[{"line_number":263,"context_line":"           \"slot\": \"00\","},{"line_number":264,"context_line":"           \"function\": \".*\"},"},{"line_number":265,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":266,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":267,"context_line":"       },"},{"line_number":268,"context_line":"       {"},{"line_number":269,"context_line":"           \"address\": {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_e4766dd8","line":266,"range":{"start_line":266,"start_character":11,"end_line":266,"end_character":38},"in_reply_to":"9fdfeff1_4e40b806","updated":"2019-03-01 16:54:44.000000000","message":"\u003e Regarding grouping more than one PFs together with a filter. Yes it\n \u003e is possible and yes in this case a single pf_interface_name tag\n \u003e does not make sense.\n \u003e I think similar issue can be created by grouping PFs together which\n \u003e are connected to different physnets. There a single physnet tag\n \u003e does not make sense either.\n\nCorrect, but it\u0027s also possible that the devices could actually be connected to the same physnet, so this is a valid use case. On the other hand, it\u0027s not possible for two devices to have the same device name, fwict.\n\n \u003e So basically if you want to add physnet\n \u003e tags it limits what kind of filters you can create. Similarly if\n \u003e you want to use bandwidth aware ports you have to create filters\n \u003e that are not grouping together more than one PF.\n \u003e I can describe this in the documentation.\n\nDocs are great, but if we could find a way to reflect this in the code (i.e. check if the wildcard matched multiple PFs and error out if \u0027pf_interface_name\u0027 was set), that would be much better. That can be done later on though","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c462a95aabc44105e8d5cc724f6e67a5991bfeb6","unresolved":false,"context_lines":[{"line_number":263,"context_line":"           \"slot\": \"00\","},{"line_number":264,"context_line":"           \"function\": \".*\"},"},{"line_number":265,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":266,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":267,"context_line":"       },"},{"line_number":268,"context_line":"       {"},{"line_number":269,"context_line":"           \"address\": {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_c4d1e9f9","line":266,"range":{"start_line":266,"start_character":11,"end_line":266,"end_character":38},"in_reply_to":"9fdfeff1_4e40b806","updated":"2019-03-01 15:52:20.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":263,"context_line":"           \"slot\": \"00\","},{"line_number":264,"context_line":"           \"function\": \".*\"},"},{"line_number":265,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":266,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":267,"context_line":"       },"},{"line_number":268,"context_line":"       {"},{"line_number":269,"context_line":"           \"address\": {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_ebf963c4","line":266,"range":{"start_line":266,"start_character":11,"end_line":266,"end_character":38},"in_reply_to":"9fdfeff1_8099c96d","updated":"2019-03-01 09:57:10.000000000","message":"Done. (It works but it is a bit ugly)","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"be50b877a9ea271d8a237f81b0b97412e23d683c","unresolved":false,"context_lines":[{"line_number":263,"context_line":"           \"slot\": \"00\","},{"line_number":264,"context_line":"           \"function\": \".*\"},"},{"line_number":265,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":266,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":267,"context_line":"       },"},{"line_number":268,"context_line":"       {"},{"line_number":269,"context_line":"           \"address\": {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_d98d6731","line":266,"range":{"start_line":266,"start_character":11,"end_line":266,"end_character":38},"in_reply_to":"9fdfeff1_a062cd14","updated":"2019-02-28 17:27:35.000000000","message":"Neutron uses the PF device name when naming the corresponding device RP in placement. Assume we have a InstancePCIRequest created from a port that had resource request. Nova scheduler + placement allocates resources for that port from a device RP (\u003d PF). BUT we have to make sure that same PF is selected by the PCI claim. In the current solution [1], after the scheduling, nova reads the device name from the device RP and adds that as a tag to the InstancePCIRequest. This way the pci claim will take care of the match if the same tag is in the passthrough_whitelist.\n\nI talked with jangutter about figuring out the device name of the PF from  the PCI address of a VF. It is doable but the (PF - device name) mapping is not 1 - 1  for some NIC[2]. As far as understand there are two device names assigned in [2] and both can be used to managed the same set of VFs. \n\nSo nova could found a device name for the PF but neutron might use a different (but also valid) device name for the same PF. This prevents me to do autodiscovery as neutron and nova need to be in sync about this name. \n\nNote that on the neutron side the device name is not autodiscovered but configured by the admin in the agent config. So we cannot make any assumption about the device name neutron will use if multiple is possible.\n\n[1] https://review.openstack.org/#/c/623543/34/nova/compute/manager.py@2170\n[2] https://docs.openstack.org/neutron/latest/admin/config-sriov.html#sr-iov-with-connectx-3-connectx-3-pro-dual-port-ethernet","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c2624bfecaa7252be5060f5efe012e76f6c9a375","unresolved":false,"context_lines":[{"line_number":263,"context_line":"           \"slot\": \"00\","},{"line_number":264,"context_line":"           \"function\": \".*\"},"},{"line_number":265,"context_line":"           \"physical_network\": \"physnet0\","},{"line_number":266,"context_line":"           \"pf_interface_name\": \"eth0\""},{"line_number":267,"context_line":"       },"},{"line_number":268,"context_line":"       {"},{"line_number":269,"context_line":"           \"address\": {"}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_4e40b806","line":266,"range":{"start_line":266,"start_character":11,"end_line":266,"end_character":38},"in_reply_to":"9fdfeff1_a062cd14","updated":"2019-03-01 15:11:30.000000000","message":"Regarding grouping more than one PFs together with a filter. Yes it is possible and yes in this case a single pf_interface_name tag does not make sense. \nI think similar issue can be created by grouping PFs together which are connected to different physnets. There a single physnet tag does not make sense either. So basically if you want to add physnet tags it limits what kind of filters you can create. Similarly if you want to use bandwidth aware ports you have to create filters that are not grouping together more than one PF. \nI can describe this in the documentation.","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7474565938007fab0e58faf90883d9ea9e176761","unresolved":false,"context_lines":[{"line_number":280,"context_line":"           \"bus\": \"03\","},{"line_number":281,"context_line":"           \"slot\": \"00\","},{"line_number":282,"context_line":"           \"function\": \".*\"},"},{"line_number":283,"context_line":"           \"physical_network\": \"physnet1\","},{"line_number":284,"context_line":"       }"},{"line_number":285,"context_line":"   ]"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_205fbd41","line":283,"range":{"start_line":283,"start_character":41,"end_line":283,"end_character":42},"updated":"2019-02-27 15:28:22.000000000","message":"drop","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"298781a5034b065ef4f6560675e315b5f40bd226","unresolved":false,"context_lines":[{"line_number":280,"context_line":"           \"bus\": \"03\","},{"line_number":281,"context_line":"           \"slot\": \"00\","},{"line_number":282,"context_line":"           \"function\": \".*\"},"},{"line_number":283,"context_line":"           \"physical_network\": \"physnet1\","},{"line_number":284,"context_line":"       }"},{"line_number":285,"context_line":"   ]"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9fdfeff1_0825cdc1","line":283,"range":{"start_line":283,"start_character":41,"end_line":283,"end_character":42},"in_reply_to":"9fdfeff1_205fbd41","updated":"2019-03-01 09:57:10.000000000","message":"Done","commit_id":"82875ec1713297627ba7e3b04a3604654e3fc547"}]}
