)]}'
{"doc/source/sfc_ovn_driver.rst":[{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    |            +-------------------+            |"},{"line_number":59,"context_line":"    |            | OVN Northbound DB |            |"},{"line_number":60,"context_line":"    |            +-------------------+            |"},{"line_number":61,"context_line":"    +---------------------------------------------+"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_435425fe","line":61,"updated":"2016-06-23 16:31:35.000000000","message":"I am distinctly uncomfortable with the above picture for two reasons: (1) ovn-northd is not the component between the neutron server and the OVN northbound DB.\n(2) this picture implies that the communication is directly from networking-sfc to the OVN northbound DB without going through networking-ovn.  Is that really the intent?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"2980b6d8504f10d5620ae9f5b29c41a12ad4508b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    |            +-------------------+            |"},{"line_number":59,"context_line":"    |            | OVN Northbound DB |            |"},{"line_number":60,"context_line":"    |            +-------------------+            |"},{"line_number":61,"context_line":"    +---------------------------------------------+"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_15afe1e2","line":61,"in_reply_to":"3aaa91ec_2e30d9e7","updated":"2016-06-23 21:36:47.000000000","message":"FYI: networking-ovn is now an ML2 driver and no longer a core plugin.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"2b3e094906ad47d56dc613585316981ecca8525f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    |            +-------------------+            |"},{"line_number":59,"context_line":"    |            | OVN Northbound DB |            |"},{"line_number":60,"context_line":"    |            +-------------------+            |"},{"line_number":61,"context_line":"    +---------------------------------------------+"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_e0052e7a","line":61,"in_reply_to":"3aaa91ec_435425fe","updated":"2016-06-24 02:59:52.000000000","message":"+1, i think need add networking-ovn in the picture, and the networking-ovn computes with OVN Northbound DB by ovsdb protocol.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11907,"name":"cathy","email":"cathy.h.zhang@huawei.com","username":"cathy"},"change_message_id":"fd204eccea0d362ca0b38e75287699142b18ddb6","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    |            +-------------------+            |"},{"line_number":59,"context_line":"    |            | OVN Northbound DB |            |"},{"line_number":60,"context_line":"    |            +-------------------+            |"},{"line_number":61,"context_line":"    +---------------------------------------------+"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_528fc929","line":61,"in_reply_to":"3aaa91ec_435425fe","updated":"2016-06-23 17:51:37.000000000","message":"Thanks for your comment. Yes, this diagram needs some correction. 1. ovn-northd should be moved between OVN northbound DB and OVN southbound DB. \n2. The intent is to have the networking-sfc communicate with OVN Plugin (OVN SFC driver functionality will be added to the OVN Plugin) and the OVN SFC driver inside the OVN Plugin will communicate with OVN northbound DB. \n\nDoes this make sense? I assume by \"networking-ovn\", you mean the OVN Plugin to Neutron?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"38cc228a8020fb99d027720d55dd68faabd9fda6","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    |            +-------------------+            |"},{"line_number":59,"context_line":"    |            | OVN Northbound DB |            |"},{"line_number":60,"context_line":"    |            +-------------------+            |"},{"line_number":61,"context_line":"    +---------------------------------------------+"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_2e30d9e7","line":61,"in_reply_to":"3aaa91ec_528fc929","updated":"2016-06-23 20:02:51.000000000","message":"Thanks, yes I do.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    |            +-------------------+            |"},{"line_number":59,"context_line":"    |            | OVN Northbound DB |            |"},{"line_number":60,"context_line":"    |            +-------------------+            |"},{"line_number":61,"context_line":"    +---------------------------------------------+"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_94fe28ac","line":61,"in_reply_to":"3aaa91ec_e0052e7a","updated":"2016-06-24 04:39:46.000000000","message":"The diagram is intended to show the interaction between the networking-sfc requests and the proposed new OVN Logical Port Chain API, not the interaction between networking-ovn and the OVN API. Will add networking-ovn to clarify.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"OVN Northbound Port Chain DB "},{"line_number":66,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The proposed OVN northbound DB is shown below with three new Logical"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_31c322ef","line":65,"updated":"2016-06-23 16:31:35.000000000","message":"Nit: trailing whitespace (red thingy)","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11907,"name":"cathy","email":"cathy.h.zhang@huawei.com","username":"cathy"},"change_message_id":"fd204eccea0d362ca0b38e75287699142b18ddb6","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"OVN Northbound Port Chain DB "},{"line_number":66,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The proposed OVN northbound DB is shown below with three new Logical"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_3275dd31","line":65,"in_reply_to":"3aaa91ec_31c322ef","updated":"2016-06-23 17:51:37.000000000","message":"will remove.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    +---------+ports  +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":86,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":87,"context_line":"    | Switch  |       |  Port   | inport/ |           |"},{"line_number":88,"context_line":"    +---------+       +---------+ outport +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The OVN ACL action will be extended to include a sfc action which will reference"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_a33fc985","line":88,"updated":"2016-06-23 16:31:35.000000000","message":"1. what is not clear from the above diagram is whether the arrows imply strong scoping - Can a Logical Port be a member of only one Port Pair? Can a Port Pair be a member of only one Port Pair Group?  Can a Port Pair Group be a member of only one Port Chain?\n\n2. Logical Port has been renamed to Logical Switch Port","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"38cc228a8020fb99d027720d55dd68faabd9fda6","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    +---------+ports  +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":86,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":87,"context_line":"    | Switch  |       |  Port   | inport/ |           |"},{"line_number":88,"context_line":"    +---------+       +---------+ outport +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The OVN ACL action will be extended to include a sfc action which will reference"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_77511036","line":88,"in_reply_to":"3aaa91ec_12738116","updated":"2016-06-23 20:02:51.000000000","message":"Ok, updating the diagram with multiplicities will certainly clarify those points. However, I\u0027m still struggling to see how this model supports multi-tenancy for NFVs beyond the multi-tenancy supported by the underlying Neutron network. Is it the case that the only way to get multi-tenancy for NFVs is by attaching them to shared networks?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11907,"name":"cathy","email":"cathy.h.zhang@huawei.com","username":"cathy"},"change_message_id":"b84cc7046888dfba0094361b4b2c36ad19b68ee6","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    +---------+ports  +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":86,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":87,"context_line":"    | Switch  |       |  Port   | inport/ |           |"},{"line_number":88,"context_line":"    +---------+       +---------+ outport +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The OVN ACL action will be extended to include a sfc action which will reference"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_9477219f","line":88,"in_reply_to":"3aaa91ec_77511036","updated":"2016-06-24 18:52:25.000000000","message":"Agree that it is better to clarify these points. \nNot sure what you mean by multi-tenancy for NFVs? A group of NFVs (NFVs in the same port pair group) can be shared by multiple port chains. These chains can belong to different tenants, thus the NFVs can be shared by different tenants if needed. A chain is uniquely identified by a chain ID. This port pair group sharing can also be used for support of chain branching.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"d0ad0378fb6e215b53040bf838c386e626c97805","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    +---------+ports  +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":86,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":87,"context_line":"    | Switch  |       |  Port   | inport/ |           |"},{"line_number":88,"context_line":"    +---------+       +---------+ outport +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The OVN ACL action will be extended to include a sfc action which will reference"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_b071297a","line":88,"in_reply_to":"3aaa91ec_9477219f","updated":"2016-06-28 03:08:17.000000000","message":"Hi Cathy,\nI try to create multiple port-chains with the same port-pair-group, it failed. I think it is not allowed to do what you said, right?\n(neutron) port-chain-create --flow-classifier fc --port-pair-group pg1 pc1 \nPort Pair Group(s) [u\u002717c9a0a5-a38f-4a75-834e-9aa213cd431f\u0027] in use by Port Chain f3af530f-210a-4c51-9a02-f1835d5b1d85.\nNeutron server returns request_ids: [\u0027req-47e6a39b-677a-4ce3-9976-5dfcee0ac47f\u0027]\n(neutron)","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"de3bf94d551dcf173dcbaf17f8bdf5bc355ffbc5","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    +---------+ports  +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":86,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":87,"context_line":"    | Switch  |       |  Port   | inport/ |           |"},{"line_number":88,"context_line":"    +---------+       +---------+ outport +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The OVN ACL action will be extended to include a sfc action which will reference"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_2c370100","line":88,"in_reply_to":"3aaa91ec_9477219f","updated":"2016-06-24 22:32:03.000000000","message":"What I\u0027m asking for (because I haven\u0027t found it yet) is a detailed example of how multi-tenancy will work - When I contrast your statement above with (a) the unit test case code appearing to only test single tenancy and (b) my own attempts to construct a multi-tenant scenario that shares NFVs, I become concerned...","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11907,"name":"cathy","email":"cathy.h.zhang@huawei.com","username":"cathy"},"change_message_id":"fd204eccea0d362ca0b38e75287699142b18ddb6","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    +---------+ports  +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":86,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":87,"context_line":"    | Switch  |       |  Port   | inport/ |           |"},{"line_number":88,"context_line":"    +---------+       +---------+ outport +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The OVN ACL action will be extended to include a sfc action which will reference"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_12738116","line":88,"in_reply_to":"3aaa91ec_a33fc985","updated":"2016-06-23 17:51:37.000000000","message":"A logical port can be a member of only one port pair. A  Port Pair can be a member of only one Port Pair Group. But a Port Pair Group can be a member of multiple Port Chains.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The OVN ACL action will be extended to include a sfc action which will reference"},{"line_number":92,"context_line":"the name of the Logical Port Chain (lchain) with which the ACL is associated."},{"line_number":93,"context_line":"The sfc action means that the packet is allowed and steered into the port-chain."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Logical Port Chain"},{"line_number":96,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_8371edaa","line":93,"updated":"2016-06-23 16:31:35.000000000","message":"+1","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"2b3e094906ad47d56dc613585316981ecca8525f","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"       port_pair_groups: List of references to OVN Port Pair Groups"},{"line_number":101,"context_line":"       options: List of key-value options"},{"line_number":102,"context_line":"       external_ids: {\u0027neutron:port_chain_id\u0027: port_chain.id}"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Logical Port Pair Group"},{"line_number":105,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_a33210f0","line":102,"range":{"start_line":102,"start_character":21,"end_line":102,"end_character":61},"updated":"2016-06-24 02:59:52.000000000","message":"In current ovsdb schema, there is column \u0027name\u0027 for each table, the name is neutron uuid. The external_ids is set to {\u0027neutron:port_chain_name\u0027: port_chain.name}.\nIt is better to align with current schema format.\nNeed update the following schema also.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"       port_pair_groups: List of references to OVN Port Pair Groups"},{"line_number":101,"context_line":"       options: List of key-value options"},{"line_number":102,"context_line":"       external_ids: {\u0027neutron:port_chain_id\u0027: port_chain.id}"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Logical Port Pair Group"},{"line_number":105,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_b4c6c465","line":102,"range":{"start_line":102,"start_character":21,"end_line":102,"end_character":61},"in_reply_to":"3aaa91ec_a33210f0","updated":"2016-06-24 04:39:46.000000000","message":"will change","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8d366f7babcbdcf865382073787a890428cebe74","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"       port_pair_groups: List of references to OVN Port Pairs"},{"line_number":110,"context_line":"       options: List of key-value options"},{"line_number":111,"context_line":"       external_ids: {\u0027neutron:port_pair_group_id\u0027: port_pair_group.id}"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_a88e52cd","line":109,"range":{"start_line":109,"start_character":7,"end_line":109,"end_character":23},"updated":"2016-06-24 14:48:48.000000000","message":"should change to \"port_pairs\".","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"2b3e094906ad47d56dc613585316981ecca8525f","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"       port_pair_groups: List of references to OVN Port Pairs"},{"line_number":110,"context_line":"       options: List of key-value options"},{"line_number":111,"context_line":"       external_ids: {\u0027neutron:port_pair_group_id\u0027: port_pair_group.id}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Logical Port Pair"},{"line_number":114,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_60b2de95","line":111,"range":{"start_line":111,"start_character":21,"end_line":111,"end_character":71},"updated":"2016-06-24 02:59:52.000000000","message":"ditto","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"       port_pair_groups: List of references to OVN Port Pairs"},{"line_number":110,"context_line":"       options: List of key-value options"},{"line_number":111,"context_line":"       external_ids: {\u0027neutron:port_pair_group_id\u0027: port_pair_group.id}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Logical Port Pair"},{"line_number":114,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_b49d2468","line":111,"range":{"start_line":111,"start_character":21,"end_line":111,"end_character":71},"in_reply_to":"3aaa91ec_60b2de95","updated":"2016-06-24 04:39:46.000000000","message":"will change","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"       inport: Ingress Logical Port of the Service Function"},{"line_number":119,"context_line":"       outport: Egress Logical Port  of the Service Function"},{"line_number":120,"context_line":"       options: List of key-value options"},{"line_number":121,"context_line":"       external_ids: {\u0027neutron:port_pair_id\u0027: port_pair.id}"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_0616abf0","line":118,"updated":"2016-06-23 16:31:35.000000000","message":"nit here and on L119: s/Logical Port/Logical Switch Port/","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"       inport: Ingress Logical Port of the Service Function"},{"line_number":119,"context_line":"       outport: Egress Logical Port  of the Service Function"},{"line_number":120,"context_line":"       options: List of key-value options"},{"line_number":121,"context_line":"       external_ids: {\u0027neutron:port_pair_id\u0027: port_pair.id}"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_d48ef02c","line":118,"in_reply_to":"3aaa91ec_0616abf0","updated":"2016-06-24 04:39:46.000000000","message":"will correct","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"2b3e094906ad47d56dc613585316981ecca8525f","unresolved":false,"context_lines":[{"line_number":118,"context_line":"       inport: Ingress Logical Port of the Service Function"},{"line_number":119,"context_line":"       outport: Egress Logical Port  of the Service Function"},{"line_number":120,"context_line":"       options: List of key-value options"},{"line_number":121,"context_line":"       external_ids: {\u0027neutron:port_pair_id\u0027: port_pair.id}"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"ACL"},{"line_number":124,"context_line":"---"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_63430843","line":121,"range":{"start_line":121,"start_character":20,"end_line":121,"end_character":59},"updated":"2016-06-24 02:59:52.000000000","message":"ditto.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":118,"context_line":"       inport: Ingress Logical Port of the Service Function"},{"line_number":119,"context_line":"       outport: Egress Logical Port  of the Service Function"},{"line_number":120,"context_line":"       options: List of key-value options"},{"line_number":121,"context_line":"       external_ids: {\u0027neutron:port_pair_id\u0027: port_pair.id}"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"ACL"},{"line_number":124,"context_line":"---"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_b4740436","line":121,"range":{"start_line":121,"start_character":20,"end_line":121,"end_character":59},"in_reply_to":"3aaa91ec_63430843","updated":"2016-06-24 04:39:46.000000000","message":"will correct","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8d366f7babcbdcf865382073787a890428cebe74","unresolved":false,"context_lines":[{"line_number":130,"context_line":"       match: boolean expressions according to flow-classifier"},{"line_number":131,"context_line":"       action: {\u0027sfc\u0027: port_chain.id}"},{"line_number":132,"context_line":"       log: true/false"},{"line_number":133,"context_line":"       external_ids: {\u0027neutron:flow_classifier_id\u0027: flow_classifier.id}"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"OVN Northbound Port Chain Schema"},{"line_number":136,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"3aaa91ec_c8563e29","line":133,"range":{"start_line":133,"start_character":31,"end_line":133,"end_character":49},"updated":"2016-06-24 14:48:48.000000000","message":"should be flow classifier name.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":137,"context_line":"The additions to the OVN Northbound schema are listed below."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Logical Port Pair Group"},{"line_number":141,"context_line":"-----------------------"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_636041a6","line":140,"updated":"2016-06-23 16:31:35.000000000","message":"Nit: I think this should be Logical Port Chain","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11907,"name":"cathy","email":"cathy.h.zhang@huawei.com","username":"cathy"},"change_message_id":"fd204eccea0d362ca0b38e75287699142b18ddb6","unresolved":false,"context_lines":[{"line_number":137,"context_line":"The additions to the OVN Northbound schema are listed below."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Logical Port Pair Group"},{"line_number":141,"context_line":"-----------------------"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_529ce90e","line":140,"in_reply_to":"3aaa91ec_636041a6","updated":"2016-06-23 17:51:37.000000000","message":"yes. will correct","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":182,"context_line":"         \"external_ids\": {"},{"line_number":183,"context_line":"                    \"type\": {\"key\": \"string\", \"value\": \"string\","},{"line_number":184,"context_line":"                             \"min\": 0, \"max\": \"unlimited\"}}},"},{"line_number":185,"context_line":"         \"isRoot\": false}, "},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Logical Port Pair"},{"line_number":188,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_835badf5","line":185,"updated":"2016-06-23 16:31:35.000000000","message":"nit: trailing white space (red thingy)","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":182,"context_line":"         \"external_ids\": {"},{"line_number":183,"context_line":"                    \"type\": {\"key\": \"string\", \"value\": \"string\","},{"line_number":184,"context_line":"                             \"min\": 0, \"max\": \"unlimited\"}}},"},{"line_number":185,"context_line":"         \"isRoot\": false}, "},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Logical Port Pair"},{"line_number":188,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_d4539015","line":185,"in_reply_to":"3aaa91ec_835badf5","updated":"2016-06-24 04:39:46.000000000","message":"will fix","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Logical Port Pair"},{"line_number":188,"context_line":"-----------------"},{"line_number":189,"context_line":" "},{"line_number":190,"context_line":"::"},{"line_number":191,"context_line":" "},{"line_number":192,"context_line":" \"Logical_Port_Pair\": {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_a30d09ea","line":189,"updated":"2016-06-23 16:31:35.000000000","message":"nit: trailing white space (red thingy)","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Logical Port Pair"},{"line_number":188,"context_line":"-----------------"},{"line_number":189,"context_line":" "},{"line_number":190,"context_line":"::"},{"line_number":191,"context_line":" "},{"line_number":192,"context_line":" \"Logical_Port_Pair\": {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_f475ec97","line":189,"in_reply_to":"3aaa91ec_a30d09ea","updated":"2016-06-24 04:39:46.000000000","message":"will fix","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":188,"context_line":"-----------------"},{"line_number":189,"context_line":" "},{"line_number":190,"context_line":"::"},{"line_number":191,"context_line":" "},{"line_number":192,"context_line":" \"Logical_Port_Pair\": {"},{"line_number":193,"context_line":"     \"columns\": {"},{"line_number":194,"context_line":"         \"outport\": {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_e3fb91bf","line":191,"updated":"2016-06-23 16:31:35.000000000","message":"ditto L189 comment","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":188,"context_line":"-----------------"},{"line_number":189,"context_line":" "},{"line_number":190,"context_line":"::"},{"line_number":191,"context_line":" "},{"line_number":192,"context_line":" \"Logical_Port_Pair\": {"},{"line_number":193,"context_line":"     \"columns\": {"},{"line_number":194,"context_line":"         \"outport\": {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_b449a462","line":191,"in_reply_to":"3aaa91ec_e3fb91bf","updated":"2016-06-24 04:39:46.000000000","message":"will correct","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":193,"context_line":"     \"columns\": {"},{"line_number":194,"context_line":"         \"outport\": {"},{"line_number":195,"context_line":"                    \"type\": {\"key\": {\"type\": \"uuid\","},{"line_number":196,"context_line":"                             \"refTable\": \"Logical_Port\","},{"line_number":197,"context_line":"                             \"refType\": \"strong\"},"},{"line_number":198,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":199,"context_line":"         \"inport\": {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_46c1d353","line":196,"updated":"2016-06-23 16:31:35.000000000","message":"here and line 201: s/Logical_Port/Logical_Switch_Port/","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":193,"context_line":"     \"columns\": {"},{"line_number":194,"context_line":"         \"outport\": {"},{"line_number":195,"context_line":"                    \"type\": {\"key\": {\"type\": \"uuid\","},{"line_number":196,"context_line":"                             \"refTable\": \"Logical_Port\","},{"line_number":197,"context_line":"                             \"refType\": \"strong\"},"},{"line_number":198,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":199,"context_line":"         \"inport\": {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_d47a7087","line":196,"in_reply_to":"3aaa91ec_46c1d353","updated":"2016-06-24 04:39:46.000000000","message":"will change","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"f939b42e829d588919c1499a90a6c99197642024","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                                      \"minInteger\": 0,"},{"line_number":224,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":225,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":226,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_2701c805","line":226,"range":{"start_line":226,"start_character":44,"end_line":226,"end_character":88},"updated":"2016-07-01 02:50:56.000000000","message":"This means the direction can only be \"from-lport\" and \"to-lport\",\nif action is sfc, how to set this column? do not you need add another string for sfc, such as \"N/A\"","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"563d1c772da34050672781d9ea090a5d542b2dc5","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":230,"context_line":"                                             \"sfc\": {  \"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":231,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":232,"context_line":"        \"external_ids\": {"},{"line_number":233,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_66132fb9","line":230,"range":{"start_line":230,"start_character":46,"end_line":230,"end_character":49},"updated":"2016-06-29 14:37:15.000000000","message":"Another comment, i think should add \u0027sfc\u0027 in line 229, and if the action is sfc, set the lport-chain in external_ids.\nYou can see that the action type is key, not key:value.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8d366f7babcbdcf865382073787a890428cebe74","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":230,"context_line":"                                             \"sfc\": {  \"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":231,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":232,"context_line":"        \"external_ids\": {"},{"line_number":233,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_a3a83378","line":230,"range":{"start_line":230,"start_character":53,"end_line":230,"end_character":55},"updated":"2016-06-24 14:48:48.000000000","message":"should remove the space.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"f939b42e829d588919c1499a90a6c99197642024","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":230,"context_line":"                                             \"sfc\": {  \"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":231,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":232,"context_line":"        \"external_ids\": {"},{"line_number":233,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_6c39f7f1","line":230,"range":{"start_line":230,"start_character":46,"end_line":230,"end_character":49},"in_reply_to":"3aaa91ec_207f0716","updated":"2016-07-01 02:50:56.000000000","message":"If use key:value, you need mention it here how to set the value when key is [\"allow\", \"allow-related\", \"drop\", \"reject\"]","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"48700f6337356c5876492f77a12435316d62e2ea","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":230,"context_line":"                                             \"sfc\": {  \"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":231,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":232,"context_line":"        \"external_ids\": {"},{"line_number":233,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_207f0716","line":230,"range":{"start_line":230,"start_character":46,"end_line":230,"end_character":49},"in_reply_to":"3aaa91ec_4f11cd51","updated":"2016-06-30 16:57:37.000000000","message":"That can be done as an interim step - maybe an extended OVN ACL action with key:value can be used.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"3f65e70ea3e7fd3ae2807dd09d4f9d5d66100763","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":230,"context_line":"                                             \"sfc\": {  \"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":231,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":232,"context_line":"        \"external_ids\": {"},{"line_number":233,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_77e3d0d9","line":230,"range":{"start_line":230,"start_character":46,"end_line":230,"end_character":49},"in_reply_to":"3aaa91ec_66132fb9","updated":"2016-06-29 17:07:40.000000000","message":"this spec proposes that the OVN ACL action should be extended to be key:value. If key\u003dsfc, the value\u003dlchain id.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"01394286f6fbb0c99aa2d8a0e2e3fd96421907f6","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":230,"context_line":"                                             \"sfc\": {  \"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":231,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":232,"context_line":"        \"external_ids\": {"},{"line_number":233,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_4f11cd51","line":230,"range":{"start_line":230,"start_character":46,"end_line":230,"end_character":49},"in_reply_to":"3aaa91ec_77e3d0d9","updated":"2016-06-30 00:36:05.000000000","message":"currently, the action type is key, if you extend to key:value, some questions need consider:\n1, you have to update exist ACL codes, I think it is not easy to be accepted by ovs community,\n2, how to set value for exist keys (allow, allow-related, drop, reject)?\nSo I think do not change the action type, and if the action is sfc, put the chain id in column external_ids.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"3203f344cb000301d0fbc66bb65547e6ce48ce67","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":228,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":229,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":230,"context_line":"                                             \"sfc\": {  \"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":231,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":232,"context_line":"        \"external_ids\": {"},{"line_number":233,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_c5e36b32","line":230,"range":{"start_line":230,"start_character":53,"end_line":230,"end_character":55},"in_reply_to":"3aaa91ec_a3a83378","updated":"2016-06-27 18:20:50.000000000","message":"will do","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":19948,"name":"Farhad Sunavala","email":"fsbiz@yahoo.com","username":"fsunaval"},"change_message_id":"952243568e02a126935da91da2f645b10ffd6bf9","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"::"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"Delete an ACL from a Logical Switch::"},{"line_number":253,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_c3a2d598","line":250,"updated":"2016-06-23 20:57:08.000000000","message":"As far as direction goes, you might want to add that the direction should be \"from-lport\".  We probably cannot support (and probably no need to support) \"to-lport\".","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":283,"context_line":"----------------"},{"line_number":284,"context_line":"Create a named Port-pair-group with a list of PPs on a Logical Switch::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    lport-pair-group-add lswitch port-pair-group [port-pair] ... "},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Delete a Port-pair-group::"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_46a8b38d","line":286,"updated":"2016-06-23 16:31:35.000000000","message":"nit: trailing white space (red thingy)","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8d366f7babcbdcf865382073787a890428cebe74","unresolved":false,"context_lines":[{"line_number":283,"context_line":"----------------"},{"line_number":284,"context_line":"Create a named Port-pair-group with a list of PPs on a Logical Switch::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    lport-pair-group-add lswitch port-pair-group [port-pair] ... "},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Delete a Port-pair-group::"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_0362e73d","line":286,"range":{"start_line":286,"start_character":25,"end_line":286,"end_character":32},"updated":"2016-06-24 14:48:48.000000000","message":"why is lswitch?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"3203f344cb000301d0fbc66bb65547e6ce48ce67","unresolved":false,"context_lines":[{"line_number":283,"context_line":"----------------"},{"line_number":284,"context_line":"Create a named Port-pair-group with a list of PPs on a Logical Switch::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    lport-pair-group-add lswitch port-pair-group [port-pair] ... "},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Delete a Port-pair-group::"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_85916355","line":286,"range":{"start_line":286,"start_character":25,"end_line":286,"end_character":32},"in_reply_to":"3aaa91ec_0362e73d","updated":"2016-06-27 18:20:50.000000000","message":"this specifies the lswitch on which the lport-pair-group exists","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"3f65e70ea3e7fd3ae2807dd09d4f9d5d66100763","unresolved":false,"context_lines":[{"line_number":283,"context_line":"----------------"},{"line_number":284,"context_line":"Create a named Port-pair-group with a list of PPs on a Logical Switch::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    lport-pair-group-add lswitch port-pair-group [port-pair] ... "},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Delete a Port-pair-group::"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_b7009867","line":286,"range":{"start_line":286,"start_character":25,"end_line":286,"end_character":32},"in_reply_to":"3aaa91ec_2d5de6ec","updated":"2016-06-29 17:07:40.000000000","message":"yes","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":283,"context_line":"----------------"},{"line_number":284,"context_line":"Create a named Port-pair-group with a list of PPs on a Logical Switch::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    lport-pair-group-add lswitch port-pair-group [port-pair] ... "},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Delete a Port-pair-group::"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_f4904c45","line":286,"in_reply_to":"3aaa91ec_46a8b38d","updated":"2016-06-24 04:39:46.000000000","message":"will fix","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"b4f82c7405c377a9ca290e3073b179632ebbff76","unresolved":false,"context_lines":[{"line_number":283,"context_line":"----------------"},{"line_number":284,"context_line":"Create a named Port-pair-group with a list of PPs on a Logical Switch::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    lport-pair-group-add lswitch port-pair-group [port-pair] ... "},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Delete a Port-pair-group::"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_2d5de6ec","line":286,"range":{"start_line":286,"start_character":25,"end_line":286,"end_character":32},"in_reply_to":"3aaa91ec_85916355","updated":"2016-06-28 02:26:55.000000000","message":"ppg can include multiple port-pairs, do you mean all the port-pairs in the same ppg must be associated with the same lswitch?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8d366f7babcbdcf865382073787a890428cebe74","unresolved":false,"context_lines":[{"line_number":305,"context_line":"----------"},{"line_number":306,"context_line":"Create a named Port-pair with inport and outport on a Logical Switch::"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    lport-pair-add lswitch lport-pair [inport, outport]"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"Delete a Logical Port-pair::"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_a3f79357","line":308,"range":{"start_line":308,"start_character":18,"end_line":308,"end_character":26},"updated":"2016-06-24 14:48:48.000000000","message":"why is lswitch?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"b4f82c7405c377a9ca290e3073b179632ebbff76","unresolved":false,"context_lines":[{"line_number":305,"context_line":"----------"},{"line_number":306,"context_line":"Create a named Port-pair with inport and outport on a Logical Switch::"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    lport-pair-add lswitch lport-pair [inport, outport]"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"Delete a Logical Port-pair::"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_4dce72b5","line":308,"range":{"start_line":308,"start_character":18,"end_line":308,"end_character":26},"in_reply_to":"3aaa91ec_0593b350","updated":"2016-06-28 02:26:55.000000000","message":"how to decide the lswitch, according to the port-pair inport?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"3f65e70ea3e7fd3ae2807dd09d4f9d5d66100763","unresolved":false,"context_lines":[{"line_number":305,"context_line":"----------"},{"line_number":306,"context_line":"Create a named Port-pair with inport and outport on a Logical Switch::"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    lport-pair-add lswitch lport-pair [inport, outport]"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"Delete a Logical Port-pair::"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_176fec2b","line":308,"range":{"start_line":308,"start_character":18,"end_line":308,"end_character":26},"in_reply_to":"3aaa91ec_4dce72b5","updated":"2016-06-29 17:07:40.000000000","message":"this creates a lport-pair on the lswitch on which both lports (inport and outport) exist.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"3203f344cb000301d0fbc66bb65547e6ce48ce67","unresolved":false,"context_lines":[{"line_number":305,"context_line":"----------"},{"line_number":306,"context_line":"Create a named Port-pair with inport and outport on a Logical Switch::"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    lport-pair-add lswitch lport-pair [inport, outport]"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"Delete a Logical Port-pair::"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_0593b350","line":308,"range":{"start_line":308,"start_character":18,"end_line":308,"end_character":26},"in_reply_to":"3aaa91ec_a3f79357","updated":"2016-06-27 18:20:50.000000000","message":"this specifies the lswitch on which the lport-pair exists","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"38cc228a8020fb99d027720d55dd68faabd9fda6","unresolved":false,"context_lines":[{"line_number":326,"context_line":"to perform load distribution of traffic across a lport-pair group of multiple"},{"line_number":327,"context_line":"lport-pairs (SFs of the same type). This uses the hashing of several fields"},{"line_number":328,"context_line":"in the packet. There are multiple buckets in the OVN group table one for each"},{"line_number":329,"context_line":"lport-pair in the lport-pair group."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"The bucket actions will be to send the packet to next hop lport-pair. The next"},{"line_number":332,"context_line":"hop lport-pair may be on the same Compute node or another Compute node."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_a27fb864","line":329,"updated":"2016-06-23 20:02:51.000000000","message":"This confuses me - why isn\u0027t the default hash we get from ovs 2.4 (src and dst eth addr, vlan id, eth type, src and dst ipv4/6 addr, protocol and (where appropriate) src and dst ports) enough?\n\nOr are we just saying that we\u0027ll extend the logical flow concept to program select groups?","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":326,"context_line":"to perform load distribution of traffic across a lport-pair group of multiple"},{"line_number":327,"context_line":"lport-pairs (SFs of the same type). This uses the hashing of several fields"},{"line_number":328,"context_line":"in the packet. There are multiple buckets in the OVN group table one for each"},{"line_number":329,"context_line":"lport-pair in the lport-pair group."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"The bucket actions will be to send the packet to next hop lport-pair. The next"},{"line_number":332,"context_line":"hop lport-pair may be on the same Compute node or another Compute node."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_b4c24432","line":329,"in_reply_to":"3aaa91ec_9f2daa00","updated":"2016-06-24 04:39:46.000000000","message":"agree, will refine text","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":19948,"name":"Farhad Sunavala","email":"fsbiz@yahoo.com","username":"fsunaval"},"change_message_id":"952243568e02a126935da91da2f645b10ffd6bf9","unresolved":false,"context_lines":[{"line_number":326,"context_line":"to perform load distribution of traffic across a lport-pair group of multiple"},{"line_number":327,"context_line":"lport-pairs (SFs of the same type). This uses the hashing of several fields"},{"line_number":328,"context_line":"in the packet. There are multiple buckets in the OVN group table one for each"},{"line_number":329,"context_line":"lport-pair in the lport-pair group."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"The bucket actions will be to send the packet to next hop lport-pair. The next"},{"line_number":332,"context_line":"hop lport-pair may be on the same Compute node or another Compute node."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_e82401c6","line":329,"in_reply_to":"3aaa91ec_a27fb864","updated":"2016-06-23 20:57:08.000000000","message":"Here\u0027s what we mean. Consider a simple chain as shown below. sf1 has three port-pairs sf11,sf12 and sf13\n\nsrc---sf1---sf2--dst\n       |\n       |sf11\n       |sf12\n       |sf13\nAll packets from src matching the flow-classifier are sent to group:1\nThe actions for group:1 are as follows\nDo the default hash, select one of the 3 buckets (sf11, sf12 or sf13) and replace the MAC DA with that of the selected bucket.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"6a7a9e9b10271f24f73edbfd4614ea238d3ba4cc","unresolved":false,"context_lines":[{"line_number":326,"context_line":"to perform load distribution of traffic across a lport-pair group of multiple"},{"line_number":327,"context_line":"lport-pairs (SFs of the same type). This uses the hashing of several fields"},{"line_number":328,"context_line":"in the packet. There are multiple buckets in the OVN group table one for each"},{"line_number":329,"context_line":"lport-pair in the lport-pair group."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"The bucket actions will be to send the packet to next hop lport-pair. The next"},{"line_number":332,"context_line":"hop lport-pair may be on the same Compute node or another Compute node."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_9f2daa00","line":329,"in_reply_to":"3aaa91ec_e82401c6","updated":"2016-06-24 00:52:47.000000000","message":"ah, then I wouldn\u0027t call this a \"new OVN group table\", I\u0027d call it what happens in the \"SFC stage of the egress pipeline\" yes, it is wordsmithing, but my terminology is more indicative of how things progress from the OVN NB DB to the OVN SB DB and then to the flow tables.","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"4f150bb451a1ef0d8ba5954dc22176ee77813b75","unresolved":false,"context_lines":[{"line_number":373,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":374,"context_line":"| Port Chain Function    | OVN Command          |  Description               |"},{"line_number":375,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":376,"context_line":"| create_port_chain      | lchain-add, acl-add\t|Use acl-add when a          |"},{"line_number":377,"context_line":"|                        |                      |port-chain is created       |"},{"line_number":378,"context_line":"|                        |                      |with flow-classifiers       |"},{"line_number":379,"context_line":"+------------------------+----------------------+----------------------------+"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_468f132a","line":376,"updated":"2016-06-23 16:31:35.000000000","message":"nit here and L380: replace tab with spaces (red thingy)","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e017fed75e0b9883adeef9626f46561249dfba34","unresolved":false,"context_lines":[{"line_number":373,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":374,"context_line":"| Port Chain Function    | OVN Command          |  Description               |"},{"line_number":375,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":376,"context_line":"| create_port_chain      | lchain-add, acl-add\t|Use acl-add when a          |"},{"line_number":377,"context_line":"|                        |                      |port-chain is created       |"},{"line_number":378,"context_line":"|                        |                      |with flow-classifiers       |"},{"line_number":379,"context_line":"+------------------------+----------------------+----------------------------+"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3aaa91ec_94bf48a9","line":376,"in_reply_to":"3aaa91ec_468f132a","updated":"2016-06-24 04:39:46.000000000","message":"will correct","commit_id":"f8149fcd30362e98dd5a3522410ceb96be375dfc"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8f31853bc16c1708b7dccf9e0c2b6aeb79440120","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"`Neutron SFC (networking-sfc) \u003chttp://docs.openstack.org/developer/networking-sfc\u003e`_"},{"line_number":24,"context_line":"allows various drivers to be used. Currently,"},{"line_number":25,"context_line":"there exist drivers for OVS, ONOS and ODL infrastructures. Service chaining"},{"line_number":26,"context_line":"is being added to OVN and a driver is required to interface between"},{"line_number":27,"context_line":"networking-sfc and the OVN infrastructure."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_bc8d967d","line":25,"range":{"start_line":25,"start_character":29,"end_line":25,"end_character":57},"updated":"2016-07-04 02:49:51.000000000","message":"where is the driver code about ONOS andd ODL, i did not see it in networking-sfc github.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"cef98f61cbb2c521e5a3dcc44a7d32f1dd595f94","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"`Neutron SFC (networking-sfc) \u003chttp://docs.openstack.org/developer/networking-sfc\u003e`_"},{"line_number":24,"context_line":"allows various drivers to be used. Currently,"},{"line_number":25,"context_line":"there exist drivers for OVS, ONOS and ODL infrastructures. Service chaining"},{"line_number":26,"context_line":"is being added to OVN and a driver is required to interface between"},{"line_number":27,"context_line":"networking-sfc and the OVN infrastructure."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_72ecb7f3","line":25,"range":{"start_line":25,"start_character":29,"end_line":25,"end_character":57},"in_reply_to":"1aa78d24_0051af0e","updated":"2016-07-11 04:26:36.000000000","message":"Thanks.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"378ca4437011535ab0ab3da3c3b42c725ef13a63","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"`Neutron SFC (networking-sfc) \u003chttp://docs.openstack.org/developer/networking-sfc\u003e`_"},{"line_number":24,"context_line":"allows various drivers to be used. Currently,"},{"line_number":25,"context_line":"there exist drivers for OVS, ONOS and ODL infrastructures. Service chaining"},{"line_number":26,"context_line":"is being added to OVN and a driver is required to interface between"},{"line_number":27,"context_line":"networking-sfc and the OVN infrastructure."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_0051af0e","line":25,"range":{"start_line":25,"start_character":29,"end_line":25,"end_character":57},"in_reply_to":"1aa78d24_bc8d967d","updated":"2016-07-05 05:09:42.000000000","message":"https://github.com/openstack/networking-onos/tree/master/networking_onos/services","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8f31853bc16c1708b7dccf9e0c2b6aeb79440120","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"::"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"       port_pair_groups: Ordered list of references to OVN Logical Port Pair Groups"},{"line_number":108,"context_line":"       options: List of key-value options"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Logical Port Pair Group"},{"line_number":111,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_7cf5ee81","line":108,"range":{"start_line":107,"start_character":7,"end_line":108,"end_character":41},"updated":"2016-07-04 02:49:51.000000000","message":"The below schema include column external_ids, should you also put it here?","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"378ca4437011535ab0ab3da3c3b42c725ef13a63","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"::"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"       port_pair_groups: Ordered list of references to OVN Logical Port Pair Groups"},{"line_number":108,"context_line":"       options: List of key-value options"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Logical Port Pair Group"},{"line_number":111,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_e04c6372","line":108,"range":{"start_line":107,"start_character":7,"end_line":108,"end_character":41},"in_reply_to":"1aa78d24_7cf5ee81","updated":"2016-07-05 05:09:42.000000000","message":"will add","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8f31853bc16c1708b7dccf9e0c2b6aeb79440120","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"::"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"       port_pair_groups: List of references to OVN Logical Port Pairs"},{"line_number":118,"context_line":"       options: List of key-value options"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Logical Port Pair"},{"line_number":121,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_bc7476fd","line":118,"range":{"start_line":117,"start_character":7,"end_line":118,"end_character":41},"updated":"2016-07-04 02:49:51.000000000","message":"ditto","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"378ca4437011535ab0ab3da3c3b42c725ef13a63","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"::"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"       port_pair_groups: List of references to OVN Logical Port Pairs"},{"line_number":118,"context_line":"       options: List of key-value options"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Logical Port Pair"},{"line_number":121,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_c047a749","line":118,"range":{"start_line":117,"start_character":7,"end_line":118,"end_character":41},"in_reply_to":"1aa78d24_bc7476fd","updated":"2016-07-05 05:09:42.000000000","message":"will add","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8f31853bc16c1708b7dccf9e0c2b6aeb79440120","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"::"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"       inport: Ingress Logical Switch Port of the Service Function"},{"line_number":128,"context_line":"       outport: Egress Logical Switch Port  of the Service Function"},{"line_number":129,"context_line":"       options: List of key-value options"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"ACL"},{"line_number":132,"context_line":"---"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_fc643e4a","line":129,"range":{"start_line":127,"start_character":6,"end_line":129,"end_character":41},"updated":"2016-07-04 02:49:51.000000000","message":"ditto","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"378ca4437011535ab0ab3da3c3b42c725ef13a63","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"::"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"       inport: Ingress Logical Switch Port of the Service Function"},{"line_number":128,"context_line":"       outport: Egress Logical Switch Port  of the Service Function"},{"line_number":129,"context_line":"       options: List of key-value options"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"ACL"},{"line_number":132,"context_line":"---"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_00788f8e","line":129,"range":{"start_line":127,"start_character":6,"end_line":129,"end_character":41},"in_reply_to":"1aa78d24_fc643e4a","updated":"2016-07-05 05:09:42.000000000","message":"will add","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"53ce260f3ec4e8bf4607208c826cb80bc0f76fc7","unresolved":false,"context_lines":[{"line_number":205,"context_line":"     \"columns\": {"},{"line_number":206,"context_line":"         \"outport\": {"},{"line_number":207,"context_line":"                    \"type\": {\"key\": {\"type\": \"uuid\","},{"line_number":208,"context_line":"                             \"refTable\": \"Logical_Port\","},{"line_number":209,"context_line":"                             \"refType\": \"strong\"},"},{"line_number":210,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":211,"context_line":"         \"inport\": {"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_d919d9d2","line":208,"range":{"start_line":208,"start_character":42,"end_line":208,"end_character":54},"updated":"2016-07-13 02:40:06.000000000","message":"Hi Louise, should we update it to Logical_Switch_Port as the OVS has updated the table name?","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"2923e7211bcfb0d6a13c7f507c0bcbf1e1085019","unresolved":false,"context_lines":[{"line_number":205,"context_line":"     \"columns\": {"},{"line_number":206,"context_line":"         \"outport\": {"},{"line_number":207,"context_line":"                    \"type\": {\"key\": {\"type\": \"uuid\","},{"line_number":208,"context_line":"                             \"refTable\": \"Logical_Port\","},{"line_number":209,"context_line":"                             \"refType\": \"strong\"},"},{"line_number":210,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":211,"context_line":"         \"inport\": {"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_1c6a061a","line":208,"range":{"start_line":208,"start_character":42,"end_line":208,"end_character":54},"in_reply_to":"1aa78d24_d919d9d2","updated":"2016-07-13 16:58:55.000000000","message":"will do","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"53ce260f3ec4e8bf4607208c826cb80bc0f76fc7","unresolved":false,"context_lines":[{"line_number":210,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":211,"context_line":"         \"inport\": {"},{"line_number":212,"context_line":"                    \"type\": {\"key\": {\"type\": \"uuid\","},{"line_number":213,"context_line":"                             \"refTable\": \"Logical_Port\","},{"line_number":214,"context_line":"                             \"refType\": \"strong\"},"},{"line_number":215,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":216,"context_line":"         \"options\": {"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_595b2986","line":213,"range":{"start_line":213,"start_character":42,"end_line":213,"end_character":54},"updated":"2016-07-13 02:40:06.000000000","message":"ditto","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"2923e7211bcfb0d6a13c7f507c0bcbf1e1085019","unresolved":false,"context_lines":[{"line_number":210,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":211,"context_line":"         \"inport\": {"},{"line_number":212,"context_line":"                    \"type\": {\"key\": {\"type\": \"uuid\","},{"line_number":213,"context_line":"                             \"refTable\": \"Logical_Port\","},{"line_number":214,"context_line":"                             \"refType\": \"strong\"},"},{"line_number":215,"context_line":"                             \"min\": 0, \"max\": 1}},"},{"line_number":216,"context_line":"         \"options\": {"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_bc61323b","line":213,"range":{"start_line":213,"start_character":42,"end_line":213,"end_character":54},"in_reply_to":"1aa78d24_595b2986","updated":"2016-07-13 16:58:55.000000000","message":"will do","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8f31853bc16c1708b7dccf9e0c2b6aeb79440120","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                                      \"minInteger\": 0,"},{"line_number":236,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":237,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":238,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_fcc0bee2","line":238,"range":{"start_line":238,"start_character":44,"end_line":238,"end_character":90},"updated":"2016-07-04 02:49:51.000000000","message":"This means the direction must be set as \"from-lport\" and \"to-lport\", so what is the direction for action \"sfc\"?","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"fba33e730c396b9c61f5f44aa738dd792ab4a0e0","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                                      \"minInteger\": 0,"},{"line_number":236,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":237,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":238,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_4de3aba4","line":238,"range":{"start_line":238,"start_character":44,"end_line":238,"end_character":90},"in_reply_to":"1aa78d24_1a471cbd","updated":"2016-07-12 00:26:35.000000000","message":"What about both logical-source-port and logical-destination-port are set?","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"bc9e35bef5243a1344a79421ef032aaed8975499","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                                      \"minInteger\": 0,"},{"line_number":236,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":237,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":238,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_6970ee72","line":238,"range":{"start_line":238,"start_character":44,"end_line":238,"end_character":90},"in_reply_to":"1aa78d24_4de3aba4","updated":"2016-07-12 16:29:18.000000000","message":"OVN ACLs do not support match on \"from-port\" AND \"to-port\". This can be rejected by the OVN driver.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"f12e35ddf2a882f7930015432708e89319cc4d24","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                                      \"minInteger\": 0,"},{"line_number":236,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":237,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":238,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_6e6e1d01","line":238,"range":{"start_line":238,"start_character":44,"end_line":238,"end_character":90},"in_reply_to":"1aa78d24_6970ee72","updated":"2016-07-13 01:57:50.000000000","message":"Do you mean not allow user configure flow classifier with both logical-source-port and logical-destination-port set because of OVN ACL limitation?","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"cef98f61cbb2c521e5a3dcc44a7d32f1dd595f94","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                                      \"minInteger\": 0,"},{"line_number":236,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":237,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":238,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_f2a1c747","line":238,"range":{"start_line":238,"start_character":44,"end_line":238,"end_character":90},"in_reply_to":"1aa78d24_c05e8711","updated":"2016-07-11 04:26:36.000000000","message":"How to decide \"from-port\" and \"to-port\"? by logical-source-port and logical-destination-port in flow classifier, right? If yes, the logical-source-port and logical-destination-port map to ACL inport and outport according to line 444 and line 446, not \"from-port\" and \"to-port\".","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"54fa8486647cc0e430a8c69589a732fa179502b0","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                                      \"minInteger\": 0,"},{"line_number":236,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":237,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":238,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_1a471cbd","line":238,"range":{"start_line":238,"start_character":44,"end_line":238,"end_character":90},"in_reply_to":"1aa78d24_f2a1c747","updated":"2016-07-11 21:07:34.000000000","message":"If the logical-source-port is specified in the classifier then the OVN ACL inport\u003d\"logical-source-port.id\" and OVN ACL direction\u003dfrom-port.\n\nIf the logical-destination-port is specified in the classifier then the OVN ACL outport\u003d\"logical-destination-port.id\" and OVN ACL direction\u003dto-port.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"378ca4437011535ab0ab3da3c3b42c725ef13a63","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                                      \"minInteger\": 0,"},{"line_number":236,"context_line":"                                      \"maxInteger\": 32767}}},"},{"line_number":237,"context_line":"        \"direction\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":238,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_c05e8711","line":238,"range":{"start_line":238,"start_character":44,"end_line":238,"end_character":90},"in_reply_to":"1aa78d24_fcc0bee2","updated":"2016-07-05 05:09:42.000000000","message":"if \"from-port\" then traffic from the Logical port will be directed to the SFC.\nif \"to-port\" then traffic to the Logical port will be directed to the SFC.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"8f31853bc16c1708b7dccf9e0c2b6aeb79440120","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":242,"context_line":"                                             \"sfc\": {\"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":243,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":244,"context_line":"        \"external_ids\": {"},{"line_number":245,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_3ca40656","line":242,"range":{"start_line":242,"start_character":45,"end_line":242,"end_character":103},"updated":"2016-07-04 02:49:51.000000000","message":"I think this line is not right, if you extend the action to key:value, you need write it like line #222, if you do not change the action type, you need add the \"sfc\" to line #241, together with other action, and put lchain-id to column external_ids.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"378ca4437011535ab0ab3da3c3b42c725ef13a63","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":240,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":241,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":242,"context_line":"                                             \"sfc\": {\"type\": {\"key\": \"string\", \"value\": \"string\"}]]}}},"},{"line_number":243,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":244,"context_line":"        \"external_ids\": {"},{"line_number":245,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_009fefb4","line":242,"range":{"start_line":242,"start_character":45,"end_line":242,"end_character":103},"in_reply_to":"1aa78d24_3ca40656","updated":"2016-07-05 05:09:42.000000000","message":"will correct","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"8e816823164733cf0ea81b2050d83068eff51cb7","unresolved":false,"context_lines":[{"line_number":371,"context_line":"the port-chain: Then the driver does:"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"When a port-chain is updated to add/remove flow-classifiers then the necessary"},{"line_number":376,"context_line":"OVN ACLs are created and deleted."},{"line_number":377,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_98298f8c","line":374,"updated":"2016-07-05 07:49:17.000000000","message":"I think we should add this case: When an associated flow-classifier is updated, the corresponding OVN ACL should also be updated (Because the ovn-nbctl only provides acl-add and acl-delete, no acl-update, so the OVN needs to delete the old ACL and create a new one)","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"abbe4c606e9239b912694ebb045d291ac0382d10","unresolved":false,"context_lines":[{"line_number":371,"context_line":"the port-chain: Then the driver does:"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"When a port-chain is updated to add/remove flow-classifiers then the necessary"},{"line_number":376,"context_line":"OVN ACLs are created and deleted."},{"line_number":377,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_c5d630f0","line":374,"in_reply_to":"1aa78d24_561cd869","updated":"2016-07-06 18:04:06.000000000","message":"flow-classifier-update only allows modification of the name and description. No other N-tuple parameters may be modified so there is no effect on the OVN ACL behavior.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"15cdb629738b991b82228605d34ae53ecd184a47","unresolved":false,"context_lines":[{"line_number":371,"context_line":"the port-chain: Then the driver does:"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"When a port-chain is updated to add/remove flow-classifiers then the necessary"},{"line_number":376,"context_line":"OVN ACLs are created and deleted."},{"line_number":377,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_561cd869","line":374,"in_reply_to":"1aa78d24_79164956","updated":"2016-07-06 08:55:26.000000000","message":"Hi Louse, thanks for you reply. But as know that the networking-sfc supports flow-classifier-update:\n\n$ neutron flow-classifier-update\nusage: neutron flow-classifier-update [-h] [--request-format {json}]\n                                      [--name NAME]\n                                      [--description DESCRIPTION]\n                                      FLOW_CLASSIFIER\n\nSo I want to know what\u0027s the behavior of the driver when updating the flow-classifier that is already attached to a port-chain.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f638cecd9cc2e8d7fcaf79dfcd4cfbbff472f44e","unresolved":false,"context_lines":[{"line_number":371,"context_line":"the port-chain: Then the driver does:"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"When a port-chain is updated to add/remove flow-classifiers then the necessary"},{"line_number":376,"context_line":"OVN ACLs are created and deleted."},{"line_number":377,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_79164956","line":374,"in_reply_to":"1aa78d24_98298f8c","updated":"2016-07-05 16:44:12.000000000","message":"The networking-sfc port-chain API does not support flow-classifier update: you can only create or delete a flow-classifier. \nOf course, port-chain update is supported (where flow-classifier may be added or removed from a port-chain) as described in the table below.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"106775bd6b5f83e4ab4ad3168937ef94e98ca7f0","unresolved":false,"context_lines":[{"line_number":371,"context_line":"the port-chain: Then the driver does:"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"When a port-chain is updated to add/remove flow-classifiers then the necessary"},{"line_number":376,"context_line":"OVN ACLs are created and deleted."},{"line_number":377,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_e8f7afd0","line":374,"in_reply_to":"1aa78d24_c5d630f0","updated":"2016-07-07 02:05:50.000000000","message":"Louis, thanks for the explanation.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"8e816823164733cf0ea81b2050d83068eff51cb7","unresolved":false,"context_lines":[{"line_number":418,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":419,"context_line":"| delete_flow_classifier | No action            | \"                          |"},{"line_number":420,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"Flow-Classifier Mapping"},{"line_number":423,"context_line":"-----------------------"},{"line_number":424,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_18cd9f5d","line":421,"updated":"2016-07-05 07:49:17.000000000","message":"Don\u0027t we support update_flow_classifier?","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f638cecd9cc2e8d7fcaf79dfcd4cfbbff472f44e","unresolved":false,"context_lines":[{"line_number":418,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":419,"context_line":"| delete_flow_classifier | No action            | \"                          |"},{"line_number":420,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"Flow-Classifier Mapping"},{"line_number":423,"context_line":"-----------------------"},{"line_number":424,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aa78d24_1908e52b","line":421,"in_reply_to":"1aa78d24_18cd9f5d","updated":"2016-07-05 16:44:12.000000000","message":"No, see response above.","commit_id":"e9aeb1dcf7ac85132943ea71ecb5c1d52a0a7fa7"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"0f175481de7af49df840d7e4be56a6041ed367eb","unresolved":false,"context_lines":[{"line_number":451,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":452,"context_line":"| logical_destination_port       | If the logical_destination_port is        |"},{"line_number":453,"context_line":"|                                | specified in the classifier then OVN ACL  |"},{"line_number":454,"context_line":"|                                | inport\u003d\"logical_destination_port.id\"      |"},{"line_number":455,"context_line":"|                                | and OVN ACL direction\u003dto-port             |"},{"line_number":456,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_1733f763","line":454,"range":{"start_line":454,"start_character":35,"end_line":454,"end_character":41},"updated":"2016-07-13 20:21:34.000000000","message":"outport","commit_id":"02cb1c9022448a0531947c88e6d20194b7f46445"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"`Neutron SFC (networking-sfc) \u003chttp://docs.openstack.org/developer/networking-sfc\u003e`_"},{"line_number":24,"context_line":"allows various drivers to be used. Currently,"},{"line_number":25,"context_line":"there exist drivers for OVS, ONOS and ODL infrastructures. Service chaining"},{"line_number":26,"context_line":"is being added to OVN and a driver is required to interface between"},{"line_number":27,"context_line":"networking-sfc and the OVN infrastructure."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed changes"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_b21b0473","line":26,"range":{"start_line":25,"start_character":59,"end_line":26,"end_character":21},"updated":"2016-07-14 06:26:30.000000000","message":"Suggest to add the link about the OVN Service chaining spec here.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"`Neutron SFC (networking-sfc) \u003chttp://docs.openstack.org/developer/networking-sfc\u003e`_"},{"line_number":24,"context_line":"allows various drivers to be used. Currently,"},{"line_number":25,"context_line":"there exist drivers for OVS, ONOS and ODL infrastructures. Service chaining"},{"line_number":26,"context_line":"is being added to OVN and a driver is required to interface between"},{"line_number":27,"context_line":"networking-sfc and the OVN infrastructure."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed changes"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_7e866217","line":26,"range":{"start_line":25,"start_character":59,"end_line":26,"end_character":21},"in_reply_to":"1aa78d24_b21b0473","updated":"2016-07-14 17:42:24.000000000","message":"when the spec is available I will add link","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed changes"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"The proposed extensions to the OVN northbound DB schema and API are described"},{"line_number":32,"context_line":"here are well as the new OVN driver for networking-sfc will map from"},{"line_number":33,"context_line":"networking-sfc requests to Logical Port Chain resources in the OVN"},{"line_number":34,"context_line":"northbound DB via the networking-ovn driver."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_b2494463","line":32,"range":{"start_line":32,"start_character":5,"end_line":32,"end_character":8},"updated":"2016-07-14 06:26:30.000000000","message":"typo? :) should be as I think.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed changes"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"The proposed extensions to the OVN northbound DB schema and API are described"},{"line_number":32,"context_line":"here are well as the new OVN driver for networking-sfc will map from"},{"line_number":33,"context_line":"networking-sfc requests to Logical Port Chain resources in the OVN"},{"line_number":34,"context_line":"northbound DB via the networking-ovn driver."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_be80caf8","line":32,"range":{"start_line":32,"start_character":5,"end_line":32,"end_character":8},"in_reply_to":"1aa78d24_b2494463","updated":"2016-07-14 17:42:24.000000000","message":"will fix","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":78,"context_line":"               action\u003dsfc         port-pair-"},{"line_number":79,"context_line":"    +---------+       +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+  groups +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":80,"context_line":"    |  ACL    |------\u003e| Port    |--------\u003e| Port Pair |"},{"line_number":81,"context_line":"    |         |1     1| Chain   |1       *|   Group   |"},{"line_number":82,"context_line":"    +---------+       +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":83,"context_line":"         ^*                           port-pairs |1"},{"line_number":84,"context_line":"         |                                       |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_49b796f5","line":81,"range":{"start_line":81,"start_character":15,"end_line":81,"end_character":22},"updated":"2016-07-14 06:26:30.000000000","message":"I\u0027m thinking should we support multi ACL  ---\u003e multi Port Chain? Let\u0027s take two cases for example: \n1) If customer wants two different traffic going to the same SFC, then customer may define two ACLs and associate them to the same Logical Port Chain;\n2) If customer wants one traffic going to two different SFCs, for example, one to do the IDS, one to do the FWs. Then customer can define one ACL and assign it with two different Logical Port Chains.\n\nI think those two cases are quite often met, we can consider to support.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":78,"context_line":"               action\u003dsfc         port-pair-"},{"line_number":79,"context_line":"    +---------+       +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+  groups +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":80,"context_line":"    |  ACL    |------\u003e| Port    |--------\u003e| Port Pair |"},{"line_number":81,"context_line":"    |         |1     1| Chain   |1       *|   Group   |"},{"line_number":82,"context_line":"    +---------+       +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":83,"context_line":"         ^*                           port-pairs |1"},{"line_number":84,"context_line":"         |                                       |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_fecff254","line":81,"range":{"start_line":81,"start_character":15,"end_line":81,"end_character":22},"in_reply_to":"1aa78d24_49b796f5","updated":"2016-07-14 17:42:24.000000000","message":"1. for each traffic flow that is directed into a chain there is a separate ACL with action\u003dsfc\n2. no - an ACL can be associated with only one chain.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    +---------+ports  +---------+1      1 +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":87,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":88,"context_line":"    | Switch  |1     *| Switch  | inport/ |           |"},{"line_number":89,"context_line":"    |         |       | Port    | outport |           |"},{"line_number":90,"context_line":"    +---------+       +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_9fe52c0c","line":89,"range":{"start_line":89,"start_character":34,"end_line":89,"end_character":41},"updated":"2016-07-14 06:26:30.000000000","message":"Sometimes some SF may have multi outputs, for example LB, so if we support multi outports that will be better.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    +---------+ports  +---------+1      1 +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":87,"context_line":"    | Logical |------\u003e| Logical |\u003c--------| Port Pair |"},{"line_number":88,"context_line":"    | Switch  |1     *| Switch  | inport/ |           |"},{"line_number":89,"context_line":"    |         |       | Port    | outport |           |"},{"line_number":90,"context_line":"    +---------+       +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_befc4a73","line":89,"range":{"start_line":89,"start_character":34,"end_line":89,"end_character":41},"in_reply_to":"1aa78d24_9fe52c0c","updated":"2016-07-14 17:42:24.000000000","message":"load balancing is handled by the Port Pair Group","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":137,"context_line":"The existing OVN ACL action will be extended to add a sfc action which"},{"line_number":138,"context_line":"will reference the name of the Logical Port Chain with which the ACL is"},{"line_number":139,"context_line":"associated."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"::"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"       lswitch:  (reference to Logical Switch - port.network_id)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_499cb65d","line":140,"updated":"2016-07-14 06:26:30.000000000","message":"Suggest to add the number mapping between ACL and Logical Port Chain here, like: One ACL can be associated to M Logical Port Chain(s). One Logical Port Chain can have N ACL(s).","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":137,"context_line":"The existing OVN ACL action will be extended to add a sfc action which"},{"line_number":138,"context_line":"will reference the name of the Logical Port Chain with which the ACL is"},{"line_number":139,"context_line":"associated."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"::"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"       lswitch:  (reference to Logical Switch - port.network_id)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_3ef17a96","line":140,"in_reply_to":"1aa78d24_499cb65d","updated":"2016-07-14 17:42:24.000000000","message":"see response above.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":276,"context_line":"------"},{"line_number":277,"context_line":"Create a Port-chain with a list of Port-pair-groups."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    lchain-add lport-chain [lport-pair-group] ..."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"Delete a Port-chain::"},{"line_number":282,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_e675d1fa","line":279,"range":{"start_line":279,"start_character":15,"end_line":279,"end_character":26},"updated":"2016-07-14 06:26:30.000000000","message":"This should be lswitch, not lport-chain, right?","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":276,"context_line":"------"},{"line_number":277,"context_line":"Create a Port-chain with a list of Port-pair-groups."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    lchain-add lport-chain [lport-pair-group] ..."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"Delete a Port-chain::"},{"line_number":282,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_3e485acc","line":279,"range":{"start_line":279,"start_character":15,"end_line":279,"end_character":26},"in_reply_to":"1aa78d24_e675d1fa","updated":"2016-07-14 17:42:24.000000000","message":"will correct to:\nlchain-add lswitch lport-chain [lport-pair-group] ...","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":432,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":433,"context_line":"| ethertype                      | eth.type                                  |"},{"line_number":434,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":435,"context_line":"| source_port_range_min/max      | If protocol \u003d \"tcp\": min \u003c tcp.src \u003c max, |"},{"line_number":436,"context_line":"|                                | if protocol \u003d \"udp\": min \u003c udp.src \u003c max  |"},{"line_number":437,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":438,"context_line":"| destination_port_range_min/max | If protocol \u003d \"tcp\": min \u003c tcp.dst \u003c max, |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_5f0aa47a","line":435,"range":{"start_line":435,"start_character":60,"end_line":435,"end_character":61},"updated":"2016-07-14 06:26:30.000000000","message":"I think the range should contain the min and max. So should use \u003d\u003c.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":432,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":433,"context_line":"| ethertype                      | eth.type                                  |"},{"line_number":434,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":435,"context_line":"| source_port_range_min/max      | If protocol \u003d \"tcp\": min \u003c tcp.src \u003c max, |"},{"line_number":436,"context_line":"|                                | if protocol \u003d \"udp\": min \u003c udp.src \u003c max  |"},{"line_number":437,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":438,"context_line":"| destination_port_range_min/max | If protocol \u003d \"tcp\": min \u003c tcp.dst \u003c max, |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_7e5e627a","line":435,"range":{"start_line":435,"start_character":60,"end_line":435,"end_character":61},"in_reply_to":"1aa78d24_5f0aa47a","updated":"2016-07-14 17:42:24.000000000","message":"ok","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"fb49ed823938457ffc798d6e03195c56685b7763","unresolved":false,"context_lines":[{"line_number":438,"context_line":"| destination_port_range_min/max | If protocol \u003d \"tcp\": min \u003c tcp.dst \u003c max, |"},{"line_number":439,"context_line":"|                                | if protocol \u003d \"udp\": min \u003c udp.dst \u003c max  |"},{"line_number":440,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":441,"context_line":"| src_ip_prefix                  | If ethertype \u003d \"IPv4\": ip4.src/mask,      |"},{"line_number":442,"context_line":"|                                | if ethertype \u003d \"IPv6\": ip6.src/mask       |"},{"line_number":443,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":444,"context_line":"| destination_ip_prefix          | If ethertype \u003d \"IPv4\": ip4.dst/mask,      |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_bf72a80f","line":441,"range":{"start_line":441,"start_character":66,"end_line":441,"end_character":70},"updated":"2016-07-14 06:26:30.000000000","message":"Suggest to use prefix here.","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"7c608343c31dab2b8a739dd6c948075bb879b12b","unresolved":false,"context_lines":[{"line_number":438,"context_line":"| destination_port_range_min/max | If protocol \u003d \"tcp\": min \u003c tcp.dst \u003c max, |"},{"line_number":439,"context_line":"|                                | if protocol \u003d \"udp\": min \u003c udp.dst \u003c max  |"},{"line_number":440,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":441,"context_line":"| src_ip_prefix                  | If ethertype \u003d \"IPv4\": ip4.src/mask,      |"},{"line_number":442,"context_line":"|                                | if ethertype \u003d \"IPv6\": ip6.src/mask       |"},{"line_number":443,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":444,"context_line":"| destination_ip_prefix          | If ethertype \u003d \"IPv4\": ip4.dst/mask,      |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_de4f96bc","line":441,"range":{"start_line":441,"start_character":66,"end_line":441,"end_character":70},"in_reply_to":"1aa78d24_bf72a80f","updated":"2016-07-14 17:42:24.000000000","message":"ok","commit_id":"90e7315c3c2fd2ef893c5afcd07b72d6e7b3d40b"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"cfcb85644cf80b210b61fd1c6bd59188ae162784","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":242,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":243,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":244,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":245,"context_line":"                                             {\"sfc\": \"string\"}]]}}},"},{"line_number":246,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":247,"context_line":"        \"external_ids\": {"},{"line_number":248,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"bacf61ea_4ae1ba99","line":245,"range":{"start_line":244,"start_character":37,"end_line":245,"end_character":68},"updated":"2016-07-30 08:36:07.000000000","message":"I think this line is not right, the action type is string, and the value should be one string, not \"sfc\":\"string\".\nWhy not set the sfc port-chain id in column external-ids, in this way, no need to change action type.","commit_id":"f510ab15d7ae44a9cc96b859a3d6831fb78979ed"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"461ff32a68524a64b5088f295c3d164891d1f27d","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":242,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":243,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":244,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":245,"context_line":"                                             {\"sfc\": \"string\"}]]}}},"},{"line_number":246,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":247,"context_line":"        \"external_ids\": {"},{"line_number":248,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"bacf61ea_a53215a5","line":245,"range":{"start_line":244,"start_character":37,"end_line":245,"end_character":68},"in_reply_to":"bacf61ea_2fa28699","updated":"2016-08-01 01:28:29.000000000","message":"Pls update line #146 also.","commit_id":"f510ab15d7ae44a9cc96b859a3d6831fb78979ed"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"a424705a2efe7a3fa4ce52cc032183593c494d4b","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                                            \"enum\": [\"set\", [\"from-lport\", \"to-lport\"]]}}},"},{"line_number":242,"context_line":"        \"match\": {\"type\": \"string\"},"},{"line_number":243,"context_line":"        \"action\": {\"type\": {\"key\": {\"type\": \"string\","},{"line_number":244,"context_line":"                                    \"enum\": [\"set\", [\"allow\", \"allow-related\", \"drop\", \"reject\","},{"line_number":245,"context_line":"                                             {\"sfc\": \"string\"}]]}}},"},{"line_number":246,"context_line":"        \"log\": {\"type\": \"boolean\"},"},{"line_number":247,"context_line":"        \"external_ids\": {"},{"line_number":248,"context_line":"                \"type\": {\"key\": \"string\", \"value\": \"string\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"bacf61ea_2fa28699","line":245,"range":{"start_line":244,"start_character":37,"end_line":245,"end_character":68},"in_reply_to":"bacf61ea_4ae1ba99","updated":"2016-07-31 20:01:08.000000000","message":"will correct","commit_id":"f510ab15d7ae44a9cc96b859a3d6831fb78979ed"},{"author":{"_account_id":18545,"name":"Bali Bao","email":"bali.baolei@cn.ibm.com","username":"Bali"},"change_message_id":"427d77a4e9ae2ac3be39f77a89321e6155e6f40e","unresolved":false,"context_lines":[{"line_number":373,"context_line":"The OVN ACL is only created when the flow-classifier is associated with"},{"line_number":374,"context_line":"the port-chain: Then the driver does:"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"When a port-chain is updated to add/remove flow-classifiers then the necessary"},{"line_number":379,"context_line":"OVN ACLs are created and deleted."}],"source_content_type":"text/x-rst","patch_set":6,"id":"bacf61ea_60ba1625","line":376,"range":{"start_line":376,"start_character":30,"end_line":376,"end_character":38},"updated":"2016-08-04 07:48:59.000000000","message":"When create neutron flow-classifier, it has no priority. So what\u0027s the priority number will be used in the OVN ACL?","commit_id":"f510ab15d7ae44a9cc96b859a3d6831fb78979ed"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"c56b2195759e0b6e3d9b11df57075051afb9d40d","unresolved":false,"context_lines":[{"line_number":373,"context_line":"The OVN ACL is only created when the flow-classifier is associated with"},{"line_number":374,"context_line":"the port-chain: Then the driver does:"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    acl-add lswitch direction priority match sfc \u003clchain\u003e"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"When a port-chain is updated to add/remove flow-classifiers then the necessary"},{"line_number":379,"context_line":"OVN ACLs are created and deleted."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa7ab95a_45b40a81","line":376,"range":{"start_line":376,"start_character":30,"end_line":376,"end_character":38},"in_reply_to":"bacf61ea_60ba1625","updated":"2016-08-30 01:03:31.000000000","message":"A priority number will be selected so that it does not conflict with ACLs used for SGs","commit_id":"f510ab15d7ae44a9cc96b859a3d6831fb78979ed"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"461ff32a68524a64b5088f295c3d164891d1f27d","unresolved":false,"context_lines":[{"line_number":444,"context_line":"| destination_ip_prefix          | If ethertype \u003d \"IPv4\": ip4.dst/prefix     |"},{"line_number":445,"context_line":"|                                | if ethertype \u003d \"IPv6\"  ip6.dst/prefix     |"},{"line_number":446,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":447,"context_line":"| logical_source_port            | If the logical-source-port is specified in|"},{"line_number":448,"context_line":"|                                | the classifier then OVN ACL inport\u003d       |"},{"line_number":449,"context_line":"|                                | \"logical_source_port.id\" and OVN ACL      |"},{"line_number":450,"context_line":"|                                | direction\u003dfrom-port                       |"},{"line_number":451,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":452,"context_line":"| logical_destination_port       | If the logical_destination_port is        |"},{"line_number":453,"context_line":"|                                | specified in the classifier then OVN ACL  |"},{"line_number":454,"context_line":"|                                | outport\u003d\"logical_destination_port.id\"     |"},{"line_number":455,"context_line":"|                                | and OVN ACL direction\u003dto-port             |"},{"line_number":456,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bacf61ea_c04e176e","line":455,"range":{"start_line":447,"start_character":2,"end_line":455,"end_character":67},"updated":"2016-08-01 01:28:29.000000000","message":"I am not clear about why flow classifier logical-destination-port can not be set in ovs flowclassifier driver, do we need this limitation for ovn flowclassifier driver? If not, how to set the acl direction when both logical-source-port and logical-destination-port are set?","commit_id":"f510ab15d7ae44a9cc96b859a3d6831fb78979ed"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"c56b2195759e0b6e3d9b11df57075051afb9d40d","unresolved":false,"context_lines":[{"line_number":444,"context_line":"| destination_ip_prefix          | If ethertype \u003d \"IPv4\": ip4.dst/prefix     |"},{"line_number":445,"context_line":"|                                | if ethertype \u003d \"IPv6\"  ip6.dst/prefix     |"},{"line_number":446,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":447,"context_line":"| logical_source_port            | If the logical-source-port is specified in|"},{"line_number":448,"context_line":"|                                | the classifier then OVN ACL inport\u003d       |"},{"line_number":449,"context_line":"|                                | \"logical_source_port.id\" and OVN ACL      |"},{"line_number":450,"context_line":"|                                | direction\u003dfrom-port                       |"},{"line_number":451,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":452,"context_line":"| logical_destination_port       | If the logical_destination_port is        |"},{"line_number":453,"context_line":"|                                | specified in the classifier then OVN ACL  |"},{"line_number":454,"context_line":"|                                | outport\u003d\"logical_destination_port.id\"     |"},{"line_number":455,"context_line":"|                                | and OVN ACL direction\u003dto-port             |"},{"line_number":456,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa7ab95a_6bd0ff1f","line":455,"range":{"start_line":447,"start_character":2,"end_line":455,"end_character":67},"in_reply_to":"bacf61ea_c04e176e","updated":"2016-08-30 01:03:31.000000000","message":"A symmetric port chain is defined (port chain parameter: symmetric\u003dtrue) with both a logical source port and a logical destination port. In this case, symmetric forward and reverse OVN port chains are created. The OVN ACL for the forward path uses the logical source port, the OVN ACL for the reverse path uses the logical destination path.\n\nA single asymmetric port chain will only use the logical source port and not the logical destination port.","commit_id":"f510ab15d7ae44a9cc96b859a3d6831fb78979ed"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"e6e4095aa6684ca9d7ef2d7531d8768e854ccfd5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"northbound DB. These Logical Port Chain resources are created in OVN by updating"},{"line_number":18,"context_line":"the appropriate tables in the OVN northbound database (an ovsdb database)."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"`Neutron SFC (networking-sfc) \u003chttp://docs.openstack.org/developer/networking-sfc\u003e`_"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_e6771d38","line":20,"range":{"start_line":20,"start_character":8,"end_line":20,"end_character":9},"updated":"2016-10-06 17:38:02.000000000","message":"I\u0027d recommend title case for all headings, capitalize the first letter of each word in the heading.","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e91e1ad297b999c24964a30993b787f015accab9","unresolved":false,"context_lines":[{"line_number":17,"context_line":"northbound DB. These Logical Port Chain resources are created in OVN by updating"},{"line_number":18,"context_line":"the appropriate tables in the OVN northbound database (an ovsdb database)."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"`Neutron SFC (networking-sfc) \u003chttp://docs.openstack.org/developer/networking-sfc\u003e`_"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_f5a22aad","line":20,"range":{"start_line":20,"start_character":8,"end_line":20,"end_character":9},"in_reply_to":"1a95cdbc_e6771d38","updated":"2016-10-07 19:15:29.000000000","message":"Will do","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"e6e4095aa6684ca9d7ef2d7531d8768e854ccfd5","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"               action\u003dsfc         port-pair-"},{"line_number":80,"context_line":"    +---------+       +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+  groups +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":81,"context_line":"    |  ACL    |------\u003e| Port    |--------\u003e| Port Pair |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_e64f1dbb","line":78,"updated":"2016-10-06 17:38:02.000000000","message":"The labels on the boxes in the diagram don\u0027t match the labels listed above? Is that intentional?","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e91e1ad297b999c24964a30993b787f015accab9","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"               action\u003dsfc         port-pair-"},{"line_number":80,"context_line":"    +---------+       +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+  groups +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":81,"context_line":"    |  ACL    |------\u003e| Port    |--------\u003e| Port Pair |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_95948643","line":78,"in_reply_to":"1a95cdbc_e64f1dbb","updated":"2016-10-07 19:15:29.000000000","message":"Will correct","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"e6e4095aa6684ca9d7ef2d7531d8768e854ccfd5","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    +---------+       +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The OVN ACL actions are extended to include a sfc action with an external_id"},{"line_number":95,"context_line":"to reference the name of the Logical Port Chain (lchain) with which the ACL is"},{"line_number":96,"context_line":"associated."},{"line_number":97,"context_line":"The sfc action means that the packet is allowed and steered into the port-chain."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_26058579","line":94,"range":{"start_line":94,"start_character":46,"end_line":94,"end_character":49},"updated":"2016-10-06 17:38:02.000000000","message":"This should probably be all caps: SFC","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e91e1ad297b999c24964a30993b787f015accab9","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    +---------+       +---------+         +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The OVN ACL actions are extended to include a sfc action with an external_id"},{"line_number":95,"context_line":"to reference the name of the Logical Port Chain (lchain) with which the ACL is"},{"line_number":96,"context_line":"associated."},{"line_number":97,"context_line":"The sfc action means that the packet is allowed and steered into the port-chain."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_158f962a","line":94,"range":{"start_line":94,"start_character":46,"end_line":94,"end_character":49},"in_reply_to":"1a95cdbc_26058579","updated":"2016-10-07 19:15:29.000000000","message":"will do","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"e6e4095aa6684ca9d7ef2d7531d8768e854ccfd5","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Logical Port Pair"},{"line_number":115,"context_line":"-----------------"},{"line_number":116,"context_line":"A Logical Port Pair represents the ingress LSP and the egress LSP of a"},{"line_number":117,"context_line":"Service Function. A Logical Port Pair can be a member of only one Logical"},{"line_number":118,"context_line":"Port Pair Group. An OVN Logical Switch Port can be a member of only one Logical"},{"line_number":119,"context_line":"Port Pair."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_06f9694d","line":116,"range":{"start_line":116,"start_character":43,"end_line":116,"end_character":46},"updated":"2016-10-06 17:38:02.000000000","message":"I assume this refers to the Logical Switch Port in the diagram but my first thought was Label Switched Path. I\u0027d suggest spelling out the first use in the document (not counting it appearing in the diagram) and putting (LSP) in parentheses after the fully spelled out phrase.","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e91e1ad297b999c24964a30993b787f015accab9","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Logical Port Pair"},{"line_number":115,"context_line":"-----------------"},{"line_number":116,"context_line":"A Logical Port Pair represents the ingress LSP and the egress LSP of a"},{"line_number":117,"context_line":"Service Function. A Logical Port Pair can be a member of only one Logical"},{"line_number":118,"context_line":"Port Pair Group. An OVN Logical Switch Port can be a member of only one Logical"},{"line_number":119,"context_line":"Port Pair."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_757e1a1a","line":116,"range":{"start_line":116,"start_character":43,"end_line":116,"end_character":46},"in_reply_to":"1a95cdbc_06f9694d","updated":"2016-10-07 19:15:29.000000000","message":"will do","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"e6e4095aa6684ca9d7ef2d7531d8768e854ccfd5","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Flow-classifers will be mapped to OVN ACLs as follows. A flow-classifier"},{"line_number":148,"context_line":"is mapped to a single OVN ACL."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"When a flow-classifier is created its OVN ACL are created at that time."},{"line_number":151,"context_line":"The OVN ACL is only created when the flow-classifier is associated with"},{"line_number":152,"context_line":"the port-chain: Then the driver does:"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_86bad96c","line":150,"range":{"start_line":150,"start_character":42,"end_line":150,"end_character":49},"updated":"2016-10-06 17:38:02.000000000","message":"Either \"ACL is\" or \"ACLs are\"","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"e91e1ad297b999c24964a30993b787f015accab9","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Flow-classifers will be mapped to OVN ACLs as follows. A flow-classifier"},{"line_number":148,"context_line":"is mapped to a single OVN ACL."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"When a flow-classifier is created its OVN ACL are created at that time."},{"line_number":151,"context_line":"The OVN ACL is only created when the flow-classifier is associated with"},{"line_number":152,"context_line":"the port-chain: Then the driver does:"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a95cdbc_f5b78ad5","line":150,"range":{"start_line":150,"start_character":42,"end_line":150,"end_character":49},"in_reply_to":"1a95cdbc_86bad96c","updated":"2016-10-07 19:15:29.000000000","message":"\"ACL is\"  - will correct","commit_id":"55b597e75ba45679498a06aac42c2db5ca39221e"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"91168a8a94af924852732a2e6a9ad6fab9e4ce70","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://blueprints.launchpad.net/networking-sfc/+spec/networking-sfc-ovn-driver"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This specification describes a networking-sfc driver that will interface with"},{"line_number":15,"context_line":"a new Logical Port Chain resource API for the `OVN \u003chttp://openvswitch.org/support/dist-docs-2.5/ovn-architecture.7.html\u003e`_ infrastructure. The driver will"},{"line_number":16,"context_line":"translate networking-sfc requests into Logical Port Chain resources in the OVN"},{"line_number":17,"context_line":"northbound DB. These Logical Port Chain resources are created in OVN by updating"},{"line_number":18,"context_line":"the appropriate tables in the OVN northbound database (an ovsdb database)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa6399be_70f31474","line":15,"updated":"2016-10-11 14:21:14.000000000","message":"nit: wrap this line if you generate another patch set. Not a big deal.","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"843ab70988f74bb4945d9c2b0fef0a29a064f719","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed Changes"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"The proposed extensions to the OVN northbound DB schema and API are described"},{"line_number":32,"context_line":"briefly here. Refer to openvwitch documentation for details. In addition the"},{"line_number":33,"context_line":"new OVN driver for networking-sfc will map from networking-sfc requests"},{"line_number":34,"context_line":"to Logical Port Chain resources in the OVN northbound DB via the networking-ovn"},{"line_number":35,"context_line":"driver."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_f2f78ed0","line":32,"range":{"start_line":32,"start_character":14,"end_line":32,"end_character":59},"updated":"2016-10-08 14:26:23.000000000","message":"Is this related?","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"55f75770b2ef63fd8d5f8bde52eae40cd6e5a4ed","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed Changes"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"The proposed extensions to the OVN northbound DB schema and API are described"},{"line_number":32,"context_line":"briefly here. Refer to openvwitch documentation for details. In addition the"},{"line_number":33,"context_line":"new OVN driver for networking-sfc will map from networking-sfc requests"},{"line_number":34,"context_line":"to Logical Port Chain resources in the OVN northbound DB via the networking-ovn"},{"line_number":35,"context_line":"driver."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_f12943e7","line":32,"range":{"start_line":32,"start_character":14,"end_line":32,"end_character":59},"in_reply_to":"1a95cdbc_bd007767","updated":"2016-10-09 14:24:02.000000000","message":"Ok, got it.. Can we mention the details to refer?","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"5e7fafc95df9c5842d25b4db6027f3c0936344ae","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed Changes"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"The proposed extensions to the OVN northbound DB schema and API are described"},{"line_number":32,"context_line":"briefly here. Refer to openvwitch documentation for details. In addition the"},{"line_number":33,"context_line":"new OVN driver for networking-sfc will map from networking-sfc requests"},{"line_number":34,"context_line":"to Logical Port Chain resources in the OVN northbound DB via the networking-ovn"},{"line_number":35,"context_line":"driver."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_f88a0363","line":32,"range":{"start_line":32,"start_character":14,"end_line":32,"end_character":59},"in_reply_to":"1a95cdbc_f12943e7","updated":"2016-10-09 17:55:22.000000000","message":"will add reference to http://openvswitch.github.io/support/dist-docs-2.5/","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"19ab004a9d6589c482773961b99456ca78a0d70c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed Changes"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"The proposed extensions to the OVN northbound DB schema and API are described"},{"line_number":32,"context_line":"briefly here. Refer to openvwitch documentation for details. In addition the"},{"line_number":33,"context_line":"new OVN driver for networking-sfc will map from networking-sfc requests"},{"line_number":34,"context_line":"to Logical Port Chain resources in the OVN northbound DB via the networking-ovn"},{"line_number":35,"context_line":"driver."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_bd007767","line":32,"range":{"start_line":32,"start_character":14,"end_line":32,"end_character":59},"in_reply_to":"1a95cdbc_f2f78ed0","updated":"2016-10-08 16:49:47.000000000","message":"openvswitch documentation provides full details of the OVN NB dB schema.","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"7fd7af0b80910b029c3ab365721a5c69ba25b2ab","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed Changes"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"The proposed extensions to the OVN northbound DB schema and API are described"},{"line_number":32,"context_line":"briefly here. Refer to openvwitch documentation for details. In addition the"},{"line_number":33,"context_line":"new OVN driver for networking-sfc will map from networking-sfc requests"},{"line_number":34,"context_line":"to Logical Port Chain resources in the OVN northbound DB via the networking-ovn"},{"line_number":35,"context_line":"driver."}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa6399be_a64bcbaf","line":32,"range":{"start_line":32,"start_character":14,"end_line":32,"end_character":59},"in_reply_to":"1a95cdbc_f88a0363","updated":"2016-10-11 05:02:54.000000000","message":"I believe http://openvswitch.github.io/support/dist-docs-2.5/tutorial/OVN-Tutorial.md.html will be much better.","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"843ab70988f74bb4945d9c2b0fef0a29a064f719","unresolved":false,"context_lines":[{"line_number":169,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":170,"context_line":"| create_port_chain      | lchain-add, acl-add  |Use acl-add when a          |"},{"line_number":171,"context_line":"|                        |                      |port-chain is created       |"},{"line_number":172,"context_line":"|                        |                      |with flow-classifiers       |"},{"line_number":173,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":174,"context_line":"| delete_port_chain      | lchain-del, acl-del  |Use acl-del to delete all   |"},{"line_number":175,"context_line":"|                        |                      |flow-classifiers associated |"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_920e4ae3","line":172,"range":{"start_line":172,"start_character":59,"end_line":172,"end_character":70},"updated":"2016-10-08 14:26:23.000000000","message":"What about chain-parameters \u003cchain-parameter\u003e? For details refer to https://github.com/openstack/networking-sfc/blob/master/doc/source/api.rst","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"55f75770b2ef63fd8d5f8bde52eae40cd6e5a4ed","unresolved":false,"context_lines":[{"line_number":169,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":170,"context_line":"| create_port_chain      | lchain-add, acl-add  |Use acl-add when a          |"},{"line_number":171,"context_line":"|                        |                      |port-chain is created       |"},{"line_number":172,"context_line":"|                        |                      |with flow-classifiers       |"},{"line_number":173,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":174,"context_line":"| delete_port_chain      | lchain-del, acl-del  |Use acl-del to delete all   |"},{"line_number":175,"context_line":"|                        |                      |flow-classifiers associated |"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_511bd7c9","line":172,"range":{"start_line":172,"start_character":59,"end_line":172,"end_character":70},"in_reply_to":"1a95cdbc_3dd627f1","updated":"2016-10-09 14:24:02.000000000","message":"Ok","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"19ab004a9d6589c482773961b99456ca78a0d70c","unresolved":false,"context_lines":[{"line_number":169,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":170,"context_line":"| create_port_chain      | lchain-add, acl-add  |Use acl-add when a          |"},{"line_number":171,"context_line":"|                        |                      |port-chain is created       |"},{"line_number":172,"context_line":"|                        |                      |with flow-classifiers       |"},{"line_number":173,"context_line":"+------------------------+----------------------+----------------------------+"},{"line_number":174,"context_line":"| delete_port_chain      | lchain-del, acl-del  |Use acl-del to delete all   |"},{"line_number":175,"context_line":"|                        |                      |flow-classifiers associated |"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_3dd627f1","line":172,"range":{"start_line":172,"start_character":59,"end_line":172,"end_character":70},"in_reply_to":"1a95cdbc_920e4ae3","updated":"2016-10-08 16:49:47.000000000","message":"SFC port-chain parameters can be mapped to OVN Lchain options\nusing:  lchain-set-options lchain param\u003dvalue","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"843ab70988f74bb4945d9c2b0fef0a29a064f719","unresolved":false,"context_lines":[{"line_number":230,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":231,"context_line":"| logical_destination_port       | A single asymmetric  port chain will use  |"},{"line_number":232,"context_line":"|                                | only the logical-source-port, and not the |"},{"line_number":233,"context_line":"|                                | logical-destination-port                  |"},{"line_number":234,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"A symmetric port chain is defined with a classifier that must have both a"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_12031ab9","line":233,"updated":"2016-10-08 14:26:23.000000000","message":"How to handle l7-parameters \u003cL7 parameter\u003e?","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"19ab004a9d6589c482773961b99456ca78a0d70c","unresolved":false,"context_lines":[{"line_number":230,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":231,"context_line":"| logical_destination_port       | A single asymmetric  port chain will use  |"},{"line_number":232,"context_line":"|                                | only the logical-source-port, and not the |"},{"line_number":233,"context_line":"|                                | logical-destination-port                  |"},{"line_number":234,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"A symmetric port chain is defined with a classifier that must have both a"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_7d0a6f8b","line":233,"in_reply_to":"1a95cdbc_12031ab9","updated":"2016-10-08 16:49:47.000000000","message":"l7\u003dparameters can be mapped to OVN acl options using:\nacl-add lswitch direction priority match sfc lchain\u003d\u003clport-chain\u003e l7-param\u003dvalue","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"55f75770b2ef63fd8d5f8bde52eae40cd6e5a4ed","unresolved":false,"context_lines":[{"line_number":230,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":231,"context_line":"| logical_destination_port       | A single asymmetric  port chain will use  |"},{"line_number":232,"context_line":"|                                | only the logical-source-port, and not the |"},{"line_number":233,"context_line":"|                                | logical-destination-port                  |"},{"line_number":234,"context_line":"+--------------------------------+-------------------------------------------+"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"A symmetric port chain is defined with a classifier that must have both a"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a95cdbc_31200bf7","line":233,"in_reply_to":"1a95cdbc_7d0a6f8b","updated":"2016-10-09 14:24:02.000000000","message":"Ok","commit_id":"b2fd7cf2925c72c8bae608a4376bbd75c722dac8"}]}
