)]}'
{"doc/source/specs/tap_as_a_service.rst":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"5965dc9638669901bd1f7def72b33577840b4595","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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"},{"line_number":8,"context_line":"TAP as a Service (TAPaaS)"},{"line_number":9,"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_29986f6a","line":8,"updated":"2016-11-14 08:57:51.000000000","message":"thank you for working on this.","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"d17a074b17fd492028000fab071cf47d072d7061","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"2. TapFlow"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"3. direction_enum"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst "},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_8f9fbb4f","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":17},"updated":"2016-11-14 09:48:01.000000000","message":"Is this one an object?","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"05921fe274c12d939e577dfab37ebd93f1aec0d8","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"2. TapFlow"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"3. direction_enum"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst "},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_7f3a0acf","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":17},"in_reply_to":"9a629dbe_8f9fbb4f","updated":"2016-11-15 09:05:11.000000000","message":"It is not an object. Will remove it.","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"5965dc9638669901bd1f7def72b33577840b4595","unresolved":false,"context_lines":[{"line_number":115,"context_line":"Tap on the output"},{"line_number":116,"context_line":"-----------------"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"We want to intercept packets coming out from the VM as close"},{"line_number":119,"context_line":"to the source. Packets arriving from VM are landed in table"},{"line_number":120,"context_line":"0 (INGRESS_CLASSIFICATION_DISPATCH_TABLE). After marking"},{"line_number":121,"context_line":"packet\u0027s metadata (network ID) and reg6 (source port ID)"},{"line_number":122,"context_line":"(e.g. set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata), the packet is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_a9f0ffca","line":119,"range":{"start_line":118,"start_character":0,"end_line":119,"end_character":14},"updated":"2016-11-14 08:57:51.000000000","message":"api-wise, it\u0027s supposed to be tapped after security groups applied.\n\n(it might or might not sound intuitive.  it\u0027s done this way becuase of \"ovs hybrid plugging\" in the reference implementation.  we might introduce an alternative \"tapping positions\" in future.)","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"8f5ba6ca1d3e78c184d427404fcb94391410c190","unresolved":false,"context_lines":[{"line_number":115,"context_line":"Tap on the output"},{"line_number":116,"context_line":"-----------------"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"We want to intercept packets coming out from the VM as close"},{"line_number":119,"context_line":"to the source. Packets arriving from VM are landed in table"},{"line_number":120,"context_line":"0 (INGRESS_CLASSIFICATION_DISPATCH_TABLE). After marking"},{"line_number":121,"context_line":"packet\u0027s metadata (network ID) and reg6 (source port ID)"},{"line_number":122,"context_line":"(e.g. set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata), the packet is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_9f7446d0","line":119,"range":{"start_line":118,"start_character":0,"end_line":119,"end_character":14},"in_reply_to":"7a77a97e_bf4bc258","updated":"2016-11-15 09:17:47.000000000","message":"https://review.openstack.org/#/c/256210/\nsee Security impact section.","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"05921fe274c12d939e577dfab37ebd93f1aec0d8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"Tap on the output"},{"line_number":116,"context_line":"-----------------"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"We want to intercept packets coming out from the VM as close"},{"line_number":119,"context_line":"to the source. Packets arriving from VM are landed in table"},{"line_number":120,"context_line":"0 (INGRESS_CLASSIFICATION_DISPATCH_TABLE). After marking"},{"line_number":121,"context_line":"packet\u0027s metadata (network ID) and reg6 (source port ID)"},{"line_number":122,"context_line":"(e.g. set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata), the packet is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_bf4bc258","line":119,"range":{"start_line":118,"start_character":0,"end_line":119,"end_character":14},"in_reply_to":"9a629dbe_a9f0ffca","updated":"2016-11-15 09:05:11.000000000","message":"Please point me to relevant document.","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"5965dc9638669901bd1f7def72b33577840b4595","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Tap on the Input"},{"line_number":154,"context_line":"----------------"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"We want to intercept packets going to the VM as close to the destination as possible."},{"line_number":157,"context_line":"Packets are outputted to ports in table 78 (INGRESS_DISPATCH_TABLE)."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"In table\u003d78 we have rules of the form:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_29b30f0c","line":156,"range":{"start_line":156,"start_character":0,"end_line":156,"end_character":85},"updated":"2016-11-14 08:57:51.000000000","message":"it\u0027s supposed to be tapped before security groups applied.","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"05921fe274c12d939e577dfab37ebd93f1aec0d8","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Tap on the Input"},{"line_number":154,"context_line":"----------------"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"We want to intercept packets going to the VM as close to the destination as possible."},{"line_number":157,"context_line":"Packets are outputted to ports in table 78 (INGRESS_DISPATCH_TABLE)."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"In table\u003d78 we have rules of the form:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_5f738eb1","line":156,"range":{"start_line":156,"start_character":0,"end_line":156,"end_character":85},"in_reply_to":"9a629dbe_29b30f0c","updated":"2016-11-15 09:05:11.000000000","message":"Please point me to relevant document.","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"d17a074b17fd492028000fab071cf47d072d7061","unresolved":false,"context_lines":[{"line_number":178,"context_line":"TODO:"},{"line_number":179,"context_line":"-----"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"1. VM on different computer nodes"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"2. Tap of the tap (TapFlow of the TapService)."},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_0f648b47","line":181,"range":{"start_line":181,"start_character":0,"end_line":181,"end_character":33},"updated":"2016-11-14 09:48:01.000000000","message":"Do you mean when TapFlow and TapService are attached to ports hosted on different compute nodes?","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"05921fe274c12d939e577dfab37ebd93f1aec0d8","unresolved":false,"context_lines":[{"line_number":178,"context_line":"TODO:"},{"line_number":179,"context_line":"-----"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"1. VM on different computer nodes"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"2. Tap of the tap (TapFlow of the TapService)."},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_3fa5f203","line":181,"range":{"start_line":181,"start_character":0,"end_line":181,"end_character":33},"in_reply_to":"9a629dbe_0f648b47","updated":"2016-11-15 09:05:11.000000000","message":"Yes","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"b6589087e279610d81cfb3337269ae761778d0e6","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"1. VM on different computer nodes"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"2. Tap of the tap (TapFlow of the TapService)."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_ef48378d","line":183,"range":{"start_line":183,"start_character":0,"end_line":183,"end_character":46},"updated":"2016-11-14 10:00:43.000000000","message":"I think there is a relatively simple approach to this that might work.\n\nConsider the following scenario:\n\n [A]----+--\u003e[T1]-+\n        |        +-\u003e[T2]\n [B]----+        |\n                 |\n [C]-------------+\n\nWhere T1 taps A,B and T2 taps C2.\nWe can reduce this scenario to:  T1 taps A, B, T2 taps A,B,C.\nWhat we have to do is basically construct a directed graph of ports, (edges from TapFlow port to TapService port), make sure it is acyclic, flip the edges, then for each TapService port, it should tap all the reachable ports in the graph.\n\nThis basically makes sure that all the tapping is depth one.\nThe only downside is that it has to be recalculated each time tapping topology changes.","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"05921fe274c12d939e577dfab37ebd93f1aec0d8","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"1. VM on different computer nodes"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"2. Tap of the tap (TapFlow of the TapService)."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_dfb6be3c","line":183,"range":{"start_line":183,"start_character":0,"end_line":183,"end_character":46},"in_reply_to":"9a629dbe_ef48378d","updated":"2016-11-15 09:05:11.000000000","message":"Very good idea Dima !\nThanks !","commit_id":"b1f93a2dac148e64935da5dbbc9605ca9689304c"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"administrator. To be able to provide this functionality in the cloud,"},{"line_number":18,"context_line":"an idea to create a tap-as-a-service was born. For example when enabled"},{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":"In short, we want to create a machanizm to forward traffic for example"},{"line_number":22,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":23,"context_line":"packet will be forwarded, the original value of source and target ip/ports"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_3373184f","line":20,"updated":"2016-11-16 18:28:59.000000000","message":"Missing newline","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":17,"context_line":"administrator. To be able to provide this functionality in the cloud,"},{"line_number":18,"context_line":"an idea to create a tap-as-a-service was born. For example when enabled"},{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":"In short, we want to create a machanizm to forward traffic for example"},{"line_number":22,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":23,"context_line":"packet will be forwarded, the original value of source and target ip/ports"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_f16fb128","line":20,"in_reply_to":"7a77a97e_3373184f","updated":"2016-11-17 13:29:23.000000000","message":"Done","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"dcaea22d52f2ef1c21ef31f754c96a799c598473","unresolved":false,"context_lines":[{"line_number":23,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":24,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":25,"context_line":"to run for example tcpdump to see these packets. The administrator, will"},{"line_number":26,"context_line":"have to enable the promiscuous mode on the VM network card to do able to"},{"line_number":27,"context_line":"see these packets. [#]_"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"In additon to tap of the VM traffic, a proposed change will allso"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_2c9c870e","line":26,"range":{"start_line":26,"start_character":59,"end_line":26,"end_character":69},"updated":"2016-11-17 02:35:38.000000000","message":"to be able?","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":23,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":24,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":25,"context_line":"to run for example tcpdump to see these packets. The administrator, will"},{"line_number":26,"context_line":"have to enable the promiscuous mode on the VM network card to do able to"},{"line_number":27,"context_line":"see these packets. [#]_"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"In additon to tap of the VM traffic, a proposed change will allso"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_51730515","line":26,"range":{"start_line":26,"start_character":59,"end_line":26,"end_character":69},"in_reply_to":"7a77a97e_2c9c870e","updated":"2016-11-17 13:29:23.000000000","message":"Done","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"dcaea22d52f2ef1c21ef31f754c96a799c598473","unresolved":false,"context_lines":[{"line_number":26,"context_line":"have to enable the promiscuous mode on the VM network card to do able to"},{"line_number":27,"context_line":"see these packets. [#]_"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"In additon to tap of the VM traffic, a proposed change will allso"},{"line_number":30,"context_line":"allow to tap traffic of:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. VM port"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_6c703fdd","line":29,"range":{"start_line":29,"start_character":60,"end_line":29,"end_character":65},"updated":"2016-11-17 02:35:38.000000000","message":"also","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":26,"context_line":"have to enable the promiscuous mode on the VM network card to do able to"},{"line_number":27,"context_line":"see these packets. [#]_"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"In additon to tap of the VM traffic, a proposed change will allso"},{"line_number":30,"context_line":"allow to tap traffic of:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. VM port"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_7162c13f","line":29,"range":{"start_line":29,"start_character":60,"end_line":29,"end_character":65},"in_reply_to":"7a77a97e_6c703fdd","updated":"2016-11-17 13:29:23.000000000","message":"Done","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"2. TapFlow"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst "},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"TapService represents the port on which the mirrored traffic is delivered."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_d3cbc451","line":47,"updated":"2016-11-16 18:28:59.000000000","message":"Whitespace at end of line","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":47,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst "},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"TapService represents the port on which the mirrored traffic is delivered."},{"line_number":51,"context_line":"For example this port can be attached to VM where a Snort IDS running."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_53ded411","line":50,"range":{"start_line":50,"start_character":31,"end_line":50,"end_character":33},"updated":"2016-11-16 18:28:59.000000000","message":"to","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    direction_enum \u003d [\u0027IN\u0027, \u0027OUT\u0027, \u0027BOTH\u0027]"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"TODO: An additional field will be added to TapFlow that will specify location"},{"line_number":111,"context_line":"the tap: before or after security group firewall."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":114,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_33e238a0","line":111,"range":{"start_line":110,"start_character":0,"end_line":111,"end_character":49},"updated":"2016-11-16 18:28:59.000000000","message":"This needs to be written more clearly. Maybe something along the lines of:\n\nThe position of the *tap_flow* will be controlled by a \u0027position\u0027 argument, which will be added to the \u0027tap_flows\u0027 API. This argument will control where the tap is located, e.g. before or after the application of security groups.","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Unrolling packet cycles"},{"line_number":118,"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"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"When a system administrator configures the system perform a tap of the tap VM"},{"line_number":121,"context_line":"in some cases it can create a situation where he receives duplicate packets."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_d35f443f","line":118,"range":{"start_line":118,"start_character":0,"end_line":118,"end_character":23},"updated":"2016-11-16 18:28:59.000000000","message":"Turn this to a subsection, not a section (use - instead of \u003d)","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"dcaea22d52f2ef1c21ef31f754c96a799c598473","unresolved":false,"context_lines":[{"line_number":121,"context_line":"in some cases it can create a situation where he receives duplicate packets."},{"line_number":122,"context_line":"We can prevent this by unrolling the rules. Consider the following scenario:"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":" [A]----+--\u003e[T1]-+"},{"line_number":125,"context_line":"        |        +-\u003e[T2]"},{"line_number":126,"context_line":" [B]----+        |"},{"line_number":127,"context_line":"                 |"},{"line_number":128,"context_line":" [C]-------------+"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Where: T1 taps A,B"},{"line_number":131,"context_line":"       T2 taps A, C and T1"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_0f609da4","line":128,"range":{"start_line":124,"start_character":0,"end_line":128,"end_character":18},"updated":"2016-11-17 02:35:38.000000000","message":"use ::  to decorate pics.","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":138,"context_line":"reachable ports in the graph."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"This basically makes sure that all the tapping is depth one. The only downside"},{"line_number":141,"context_line":"is that it has to be recalculated each time tapping topology changes."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_13837c99","line":141,"updated":"2016-11-16 18:28:59.000000000","message":"If I understand correctly, then this is great. However, I think it should be explained better, including perhaps a clearer diagram.","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":138,"context_line":"reachable ports in the graph."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"This basically makes sure that all the tapping is depth one. The only downside"},{"line_number":141,"context_line":"is that it has to be recalculated each time tapping topology changes."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_51e14599","line":141,"in_reply_to":"7a77a97e_13837c99","updated":"2016-11-17 13:29:23.000000000","message":"I will try to explain this section in future release.","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"dcaea22d52f2ef1c21ef31f754c96a799c598473","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"::"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    Filter1:in_port\u003d6 Actions:output(5), goto_table:1"},{"line_number":181,"context_line":"    Filter2:any Actions: goto_table\u003d2"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"2. We alter the classification rules of the VM ports in table 0 (INGRESS_CLASSIFICATION_DISPATCH_TABLE)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_ef5d2116","line":180,"range":{"start_line":180,"start_character":41,"end_line":180,"end_character":53},"updated":"2016-11-17 02:35:38.000000000","message":"Do you mean goto_table:2 here?","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"::"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    Filter1:in_port\u003d6 Actions:output(5), goto_table:1"},{"line_number":181,"context_line":"    Filter2:any Actions: goto_table\u003d2"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"2. We alter the classification rules of the VM ports in table 0 (INGRESS_CLASSIFICATION_DISPATCH_TABLE)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_91ce7d2c","line":180,"range":{"start_line":180,"start_character":41,"end_line":180,"end_character":53},"in_reply_to":"7a77a97e_ef5d2116","updated":"2016-11-17 13:29:23.000000000","message":"Done","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"dcaea22d52f2ef1c21ef31f754c96a799c598473","unresolved":false,"context_lines":[{"line_number":190,"context_line":"   New rule:"},{"line_number":191,"context_line":"   ::"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"     Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),output(5)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Tap on the Input"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_efe2812e","line":193,"range":{"start_line":193,"start_character":87,"end_line":193,"end_character":96},"updated":"2016-11-17 02:35:38.000000000","message":"You have output to 5 in table 1 in above description, is it necessary to output again here?","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":190,"context_line":"   New rule:"},{"line_number":191,"context_line":"   ::"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"     Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),output(5)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Tap on the Input"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_31fbe948","line":193,"range":{"start_line":193,"start_character":87,"end_line":193,"end_character":96},"in_reply_to":"7a77a97e_efe2812e","updated":"2016-11-17 13:29:23.000000000","message":"It was an alternative method.","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"     Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),output(5)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Tap on the Input"},{"line_number":197,"context_line":"----------------"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_93130c66","line":195,"updated":"2016-11-16 18:28:59.000000000","message":"Please add some information about phase 2 (additional supported \u0027position\u0027 values).","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":229,"context_line":"References"},{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"[1] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":233,"context_line":"[2] https://review.openstack.org/#/c/256210/9/specs/mitaka/tap-as-a-service.rst "}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_960a1a20","line":232,"updated":"2016-11-16 18:28:59.000000000","message":"Missing newline","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":229,"context_line":"References"},{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"[1] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":233,"context_line":"[2] https://review.openstack.org/#/c/256210/9/specs/mitaka/tap-as-a-service.rst "}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_f18b31c1","line":232,"in_reply_to":"7a77a97e_960a1a20","updated":"2016-11-17 13:29:23.000000000","message":"Done","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8082362b0142a01243928b02e73c25c4e844c11c","unresolved":false,"context_lines":[{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"[1] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":233,"context_line":"[2] https://review.openstack.org/#/c/256210/9/specs/mitaka/tap-as-a-service.rst "}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_7603be0d","line":233,"range":{"start_line":233,"start_character":79,"end_line":233,"end_character":80},"updated":"2016-11-16 18:28:59.000000000","message":"Trailing whitespace","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"baa3515c0bc5550c854e72368c99e3202cd800af","unresolved":false,"context_lines":[{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"[1] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":233,"context_line":"[2] https://review.openstack.org/#/c/256210/9/specs/mitaka/tap-as-a-service.rst "}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_319209f7","line":233,"range":{"start_line":233,"start_character":79,"end_line":233,"end_character":80},"in_reply_to":"7a77a97e_7603be0d","updated":"2016-11-17 13:29:23.000000000","message":"Done","commit_id":"7f276c77709eefe3941b8268325a7e9fe8db48e9"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In short, we want to create a machanizm to forward traffic for example"},{"line_number":23,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_8f9f98b3","line":22,"range":{"start_line":22,"start_character":30,"end_line":22,"end_character":39},"updated":"2016-11-22 08:43:37.000000000","message":"mechanism","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In short, we want to create a machanizm to forward traffic for example"},{"line_number":23,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_1e980a1b","line":22,"range":{"start_line":22,"start_character":30,"end_line":22,"end_character":39},"in_reply_to":"7a77a97e_8f9f98b3","updated":"2016-11-22 14:08:45.000000000","message":"Done","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. VM port"},{"line_number":34,"context_line":"2. Router port"},{"line_number":35,"context_line":"3. Virtual port"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. [#] https://github.com/openstack/tap-as-a-service"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_8fd79822","line":35,"range":{"start_line":35,"start_character":3,"end_line":35,"end_character":10},"updated":"2016-11-22 08:43:37.000000000","message":"please elaborate for these ports: dhcp, Floating IP,..","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"994cc728484c8f500666f3291f0bdc0f80ef1b44","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. VM port"},{"line_number":34,"context_line":"2. Router port"},{"line_number":35,"context_line":"3. Virtual port"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. [#] https://github.com/openstack/tap-as-a-service"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_ee5763c8","line":35,"range":{"start_line":35,"start_character":3,"end_line":35,"end_character":10},"in_reply_to":"7a77a97e_8fd79822","updated":"2016-12-01 09:35:54.000000000","message":"Done","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"2. Router port"},{"line_number":35,"context_line":"3. Virtual port"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. [#] https://github.com/openstack/tap-as-a-service"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Terminology and API"},{"line_number":40,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_cfe19000","line":37,"range":{"start_line":37,"start_character":3,"end_line":37,"end_character":52},"updated":"2016-11-22 08:43:37.000000000","message":"please move to the References section in the bottom of the spec","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"2. Router port"},{"line_number":35,"context_line":"3. Virtual port"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. [#] https://github.com/openstack/tap-as-a-service"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Terminology and API"},{"line_number":40,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_9eab3a1e","line":37,"range":{"start_line":37,"start_character":3,"end_line":37,"end_character":52},"in_reply_to":"7a77a97e_cfe19000","updated":"2016-11-22 14:08:45.000000000","message":"Done","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"2. TapFlow"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"TapService represents the port to which the mirrored traffic is delivered."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_afb37409","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":82},"updated":"2016-11-22 08:43:37.000000000","message":"ditto","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"2. TapFlow"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"TapService represents the port to which the mirrored traffic is delivered."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_fe17ce51","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":82},"in_reply_to":"7a77a97e_afb37409","updated":"2016-11-22 14:08:45.000000000","message":"Done","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":48,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"TapService represents the port to which the mirrored traffic is delivered."},{"line_number":52,"context_line":"For example this port can be attached to VM where a Snort IDS running."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_4f9ca069","line":51,"range":{"start_line":51,"start_character":25,"end_line":51,"end_character":30},"updated":"2016-11-22 08:43:37.000000000","message":"is there any restriction on the port? Can this be remote port?","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":48,"context_line":".. [#] https://github.com/openstack/tap-as-a-service/blob/master/API_REFERENCE.rst"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"TapService represents the port to which the mirrored traffic is delivered."},{"line_number":52,"context_line":"For example this port can be attached to VM where a Snort IDS running."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_d91dcc67","line":51,"range":{"start_line":51,"start_character":25,"end_line":51,"end_character":30},"in_reply_to":"7a77a97e_4f9ca069","updated":"2016-11-22 14:08:45.000000000","message":"Yes, It can be remote port.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    \u0027tap_flows\u0027: {"},{"line_number":80,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":81,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None}, \u0027is_visible\u0027: True,"},{"line_number":82,"context_line":"               \u0027primary_key\u0027: True},"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_f2d0f3f9","line":79,"range":{"start_line":79,"start_character":3,"end_line":79,"end_character":18},"updated":"2016-11-22 08:43:37.000000000","message":"Better reference neutron API","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"994cc728484c8f500666f3291f0bdc0f80ef1b44","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    \u0027tap_flows\u0027: {"},{"line_number":80,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":81,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None}, \u0027is_visible\u0027: True,"},{"line_number":82,"context_line":"               \u0027primary_key\u0027: True},"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_831de8bf","line":79,"range":{"start_line":79,"start_character":3,"end_line":79,"end_character":18},"in_reply_to":"7a77a97e_f2d0f3f9","updated":"2016-12-01 09:35:54.000000000","message":"Please elaborate.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"04f9c5dadb77c5531411bafccfda8a3fe614cd5a","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        \u0027direction\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":99,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: direction_enum},"},{"line_number":100,"context_line":"                      \u0027is_visible\u0027: True}"},{"line_number":101,"context_line":"        \u0027possition\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":102,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: possition_enum},"},{"line_number":103,"context_line":"                      \u0027is_visible\u0027: True}"},{"line_number":104,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_dd1eea5d","line":101,"range":{"start_line":101,"start_character":9,"end_line":101,"end_character":18},"updated":"2016-11-21 12:22:20.000000000","message":"position","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"b89d7287f2c16ee84b0efdbb3051aa4cd8bc2ca3","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        \u0027direction\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":99,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: direction_enum},"},{"line_number":100,"context_line":"                      \u0027is_visible\u0027: True}"},{"line_number":101,"context_line":"        \u0027possition\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":102,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: possition_enum},"},{"line_number":103,"context_line":"                      \u0027is_visible\u0027: True}"},{"line_number":104,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_d916e157","line":101,"range":{"start_line":101,"start_character":9,"end_line":101,"end_character":18},"in_reply_to":"7a77a97e_dd1eea5d","updated":"2016-11-21 15:40:28.000000000","message":"+1","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    direction_enum \u003d [\u0027IN\u0027, \u0027OUT\u0027, \u0027BOTH\u0027]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The Possition Enum states where to place the tapping point. It can be"},{"line_number":115,"context_line":"straight after/before mirrored port or after the application of SG"},{"line_number":116,"context_line":"firewall rules."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_722a23e9","line":114,"range":{"start_line":114,"start_character":4,"end_line":114,"end_character":13},"updated":"2016-11-22 08:43:37.000000000","message":"position","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    direction_enum \u003d [\u0027IN\u0027, \u0027OUT\u0027, \u0027BOTH\u0027]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The Possition Enum states where to place the tapping point. It can be"},{"line_number":115,"context_line":"straight after/before mirrored port or after the application of SG"},{"line_number":116,"context_line":"firewall rules."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_59a53c02","line":114,"range":{"start_line":114,"start_character":4,"end_line":114,"end_character":13},"in_reply_to":"7a77a97e_722a23e9","updated":"2016-11-22 14:08:45.000000000","message":"Done","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"b89d7287f2c16ee84b0efdbb3051aa4cd8bc2ca3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"firewall rules."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"::"},{"line_number":119,"context_line":"    possition_enum \u003d [\u0027BEFORESG\u0027, \u0027AFTERSG\u0027]"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":122,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_8bc32c8a","line":119,"range":{"start_line":119,"start_character":0,"end_line":119,"end_character":44},"updated":"2016-11-21 15:40:28.000000000","message":"Please verify these values with yamamoto. (Although it\u0027s not a blocker.)","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"firewall rules."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"::"},{"line_number":119,"context_line":"    possition_enum \u003d [\u0027BEFORESG\u0027, \u0027AFTERSG\u0027]"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":122,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_99afd4e2","line":119,"range":{"start_line":119,"start_character":0,"end_line":119,"end_character":44},"in_reply_to":"7a77a97e_8bc32c8a","updated":"2016-11-22 14:08:45.000000000","message":"will do it.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":118,"context_line":"::"},{"line_number":119,"context_line":"    possition_enum \u003d [\u0027BEFORESG\u0027, \u0027AFTERSG\u0027]"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":122,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_b23afbe5","line":121,"updated":"2016-11-22 08:43:37.000000000","message":"and what about vise versa?","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":118,"context_line":"::"},{"line_number":119,"context_line":"    possition_enum \u003d [\u0027BEFORESG\u0027, \u0027AFTERSG\u0027]"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":122,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_797f5866","line":121,"in_reply_to":"7a77a97e_b23afbe5","updated":"2016-11-22 14:08:45.000000000","message":"This is what spec defines.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"b89d7287f2c16ee84b0efdbb3051aa4cd8bc2ca3","unresolved":false,"context_lines":[{"line_number":147,"context_line":"reachable ports in the graph."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"This basically makes sure that all the tapping is depth one. The only downside"},{"line_number":150,"context_line":"is that it has to be recalculated each time tapping topology changes."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_6b2410af","line":150,"updated":"2016-11-21 15:40:28.000000000","message":"The explanation wasn\u0027t modified.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":147,"context_line":"reachable ports in the graph."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"This basically makes sure that all the tapping is depth one. The only downside"},{"line_number":150,"context_line":"is that it has to be recalculated each time tapping topology changes."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_39ec0029","line":150,"in_reply_to":"7a77a97e_6b2410af","updated":"2016-11-22 14:08:45.000000000","message":"I will review it at later patch.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"b89d7287f2c16ee84b0efdbb3051aa4cd8bc2ca3","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"     Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),output(5)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Tap on the Input"},{"line_number":208,"context_line":"----------------"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_ab92a89d","line":206,"updated":"2016-11-21 15:40:28.000000000","message":"Phase 2 info was not yet added.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"b89d7287f2c16ee84b0efdbb3051aa4cd8bc2ca3","unresolved":false,"context_lines":[{"line_number":221,"context_line":"::"},{"line_number":222,"context_line":"  Filter:reg7\u003d0x8 Actions:output:6,output(5)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"List of relevant openflow tables"},{"line_number":226,"context_line":"--------------------------------"},{"line_number":227,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_eb8ca081","line":224,"updated":"2016-11-21 15:40:28.000000000","message":"Same here re: phase 2.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2c1626938c761dc5200bb2661716bf9ce2342f2e","unresolved":false,"context_lines":[{"line_number":233,"context_line":"TODO:"},{"line_number":234,"context_line":"-----"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"1. VM on different computer nodes"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"2. Tap before and after SG firewall rules"},{"line_number":239,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_8503f70c","line":236,"range":{"start_line":236,"start_character":0,"end_line":236,"end_character":33},"updated":"2016-11-22 08:43:37.000000000","message":"Is this out of the scope of the aimed initial implementation?","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ba7062bf4e50df8c16ba64ad8e4dbf1bf5dab4c6","unresolved":false,"context_lines":[{"line_number":233,"context_line":"TODO:"},{"line_number":234,"context_line":"-----"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"1. VM on different computer nodes"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"2. Tap before and after SG firewall rules"},{"line_number":239,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a77a97e_59ca9ca2","line":236,"range":{"start_line":236,"start_character":0,"end_line":236,"end_character":33},"in_reply_to":"7a77a97e_8503f70c","updated":"2016-11-22 14:08:45.000000000","message":"Nop. I am working ot it.","commit_id":"e035268896f3b3ddc3a2bccc3cfd72c427336b4f"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Mirrored packet forwarding table"},{"line_number":150,"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"},{"line_number":151,"context_line":"After the packer is mirrored, it will be forwarded to the new packet"},{"line_number":152,"context_line":"forwarding table."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Packets can came from local CN and from external CN. To minimize number of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_0e959631","line":151,"range":{"start_line":151,"start_character":10,"end_line":151,"end_character":16},"updated":"2016-11-29 10:20:33.000000000","message":"packet","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Mirrored packet forwarding table"},{"line_number":150,"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"},{"line_number":151,"context_line":"After the packer is mirrored, it will be forwarded to the new packet"},{"line_number":152,"context_line":"forwarding table."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Packets can came from local CN and from external CN. To minimize number of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_593831d3","line":151,"range":{"start_line":151,"start_character":10,"end_line":151,"end_character":16},"in_reply_to":"5a74a57a_0e959631","updated":"2016-11-29 14:22:18.000000000","message":"Done","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Packets can came from local CN and from external CN. To minimize number of"},{"line_number":155,"context_line":"changes, I suggest to create a new table to handle mirrored packets."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"This table will not be hightly optimized but will more sutable for modular"},{"line_number":158,"context_line":"design."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Each mirrored packet, comming from the same CN or from external CN will"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_09ef501e","line":157,"range":{"start_line":157,"start_character":55,"end_line":157,"end_character":62},"updated":"2016-11-29 10:20:33.000000000","message":"suitable","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Packets can came from local CN and from external CN. To minimize number of"},{"line_number":155,"context_line":"changes, I suggest to create a new table to handle mirrored packets."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"This table will not be hightly optimized but will more sutable for modular"},{"line_number":158,"context_line":"design."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Each mirrored packet, comming from the same CN or from external CN will"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_39b2954c","line":157,"range":{"start_line":157,"start_character":55,"end_line":157,"end_character":62},"in_reply_to":"5a74a57a_09ef501e","updated":"2016-11-29 14:22:18.000000000","message":"Done","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":170,"context_line":"to external CN:"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"  ::"},{"line_number":173,"context_line":"    filter: run_id\u003dDEST_TUN_ID action:output:OVERLAY_NET_PORT"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Where"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_29a40c06","line":173,"range":{"start_line":173,"start_character":12,"end_line":173,"end_character":18},"updated":"2016-11-29 10:20:33.000000000","message":"tun_id","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":170,"context_line":"to external CN:"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"  ::"},{"line_number":173,"context_line":"    filter: run_id\u003dDEST_TUN_ID action:output:OVERLAY_NET_PORT"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Where"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_f9557df9","line":173,"range":{"start_line":173,"start_character":12,"end_line":173,"end_character":18},"in_reply_to":"5a74a57a_29a40c06","updated":"2016-11-29 14:22:18.000000000","message":"Done","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":175,"context_line":"Where"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"  ::"},{"line_number":178,"context_line":"    DEST_TUN_ID - a tunnel number will specify a desttination VM"},{"line_number":179,"context_line":"    DEST_LOCAL_PORT - destination ovs port number (in case it is on same CN)"},{"line_number":180,"context_line":"    OVERLAY_NET_PORT - packet will be forwarded to other CN"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_ced55ee5","line":178,"range":{"start_line":178,"start_character":49,"end_line":178,"end_character":61},"updated":"2016-11-29 10:20:33.000000000","message":"destination","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":175,"context_line":"Where"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"  ::"},{"line_number":178,"context_line":"    DEST_TUN_ID - a tunnel number will specify a desttination VM"},{"line_number":179,"context_line":"    DEST_LOCAL_PORT - destination ovs port number (in case it is on same CN)"},{"line_number":180,"context_line":"    OVERLAY_NET_PORT - packet will be forwarded to other CN"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_99456944","line":178,"range":{"start_line":178,"start_character":49,"end_line":178,"end_character":61},"in_reply_to":"5a74a57a_ced55ee5","updated":"2016-11-29 14:22:18.000000000","message":"Done","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    OVERLAY_NET_PORT - packet will be forwarded to other CN"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Assigning tunnel id for each TapService"},{"line_number":184,"context_line":"---------------------------------------"},{"line_number":185,"context_line":"Each TapService will have a unique tunnel id. These unique ids should be saved"},{"line_number":186,"context_line":"in distibuted database."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Packer mirroring"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_c970f842","line":186,"range":{"start_line":183,"start_character":0,"end_line":186,"end_character":23},"updated":"2016-11-29 10:20:33.000000000","message":"Tunnel IDs are used by tenant networks, as well, please address how we will make sure there are no collisions with those IDs","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":203,"context_line":"Tap on the output"},{"line_number":204,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Packet can be mirrored before or after the segurity group firewall check."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Depending of design we can add aditional table and / or modify existing "},{"line_number":209,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_09bcb0b9","line":206,"range":{"start_line":206,"start_character":43,"end_line":206,"end_character":51},"updated":"2016-11-29 10:20:33.000000000","message":"security","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":203,"context_line":"Tap on the output"},{"line_number":204,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Packet can be mirrored before or after the segurity group firewall check."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Depending of design we can add aditional table and / or modify existing "},{"line_number":209,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_d9a0c1f6","line":206,"range":{"start_line":206,"start_character":43,"end_line":206,"end_character":51},"in_reply_to":"5a74a57a_09bcb0b9","updated":"2016-11-29 14:22:18.000000000","message":"Done","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Packet can be mirrored before or after the segurity group firewall check."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Depending of design we can add aditional table and / or modify existing "},{"line_number":209,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"},{"line_number":210,"context_line":"existing rules."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_a9e65c41","line":208,"range":{"start_line":208,"start_character":71,"end_line":208,"end_character":72},"updated":"2016-11-29 10:20:33.000000000","message":"extra space","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Packet can be mirrored before or after the segurity group firewall check."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Depending of design we can add aditional table and / or modify existing "},{"line_number":209,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"},{"line_number":210,"context_line":"existing rules."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_396b75b8","line":208,"range":{"start_line":208,"start_character":71,"end_line":208,"end_character":72},"in_reply_to":"5a74a57a_a9e65c41","updated":"2016-11-29 14:22:18.000000000","message":"Done","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":235,"context_line":"Tap position is AFTERSG"},{"line_number":236,"context_line":"-----------------------"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"After packets pass the firewall rules they arrive to the table 9. We should move all"},{"line_number":239,"context_line":"rules from table 9 to a new table (for example 10) and all other table\u0027 ids should be"},{"line_number":240,"context_line":"increased respectivly."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We will add new rules here:"},{"line_number":243,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_c9171843","line":240,"range":{"start_line":238,"start_character":66,"end_line":240,"end_character":22},"updated":"2016-11-29 10:20:33.000000000","message":"I don\u0027t think we should change the IDs of other tables, we can use just allocate another new ID for the extra table.","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":235,"context_line":"Tap position is AFTERSG"},{"line_number":236,"context_line":"-----------------------"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"After packets pass the firewall rules they arrive to the table 9. We should move all"},{"line_number":239,"context_line":"rules from table 9 to a new table (for example 10) and all other table\u0027 ids should be"},{"line_number":240,"context_line":"increased respectivly."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We will add new rules here:"},{"line_number":243,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_d9ee0121","line":240,"range":{"start_line":238,"start_character":66,"end_line":240,"end_character":22},"in_reply_to":"5a74a57a_c9171843","updated":"2016-11-29 14:22:18.000000000","message":"o far packets were floating in sequential manner, from low numbers to higher ones. I do not want to break this tradition.\nThat is why I recommended to push other tables id numbers.","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":242,"context_line":"We will add new rules here:"},{"line_number":243,"context_line":"  ::"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":246,"context_line":"                             $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":249,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_2925ec5a","line":246,"range":{"start_line":245,"start_character":4,"end_line":246,"end_character":76},"updated":"2016-11-29 10:20:33.000000000","message":"Please add a flow we\u0027re replacing with this one (or the flow that would have matched the packet otherwise)","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":242,"context_line":"We will add new rules here:"},{"line_number":243,"context_line":"  ::"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":246,"context_line":"                             $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":249,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_19431914","line":246,"range":{"start_line":245,"start_character":4,"end_line":246,"end_character":76},"in_reply_to":"5a74a57a_2925ec5a","updated":"2016-11-29 14:22:18.000000000","message":"We do not replace another rule here. We move old ryles from table 10 to table 11.","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"25902cd962815db063503334127b09ffd76cb2e0","unresolved":false,"context_lines":[{"line_number":284,"context_line":"-------------------------"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Before the packets pass the firewall rules they arrive to the table 77"},{"line_number":287,"context_line":"(INGRESS_SECURITY_GROUP_TABLE). We should move all rules from table 77 to a new"},{"line_number":288,"context_line":"table (for example 78) and all other table\u0027 ids should be increased respectivly."},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"We will add new rules here (table 77)"},{"line_number":291,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_a933bcf4","line":288,"range":{"start_line":287,"start_character":32,"end_line":288,"end_character":80},"updated":"2016-11-29 10:20:33.000000000","message":"Same as above","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"0b49533255475c784062d2981926410f7ff4e247","unresolved":false,"context_lines":[{"line_number":284,"context_line":"-------------------------"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Before the packets pass the firewall rules they arrive to the table 77"},{"line_number":287,"context_line":"(INGRESS_SECURITY_GROUP_TABLE). We should move all rules from table 77 to a new"},{"line_number":288,"context_line":"table (for example 78) and all other table\u0027 ids should be increased respectivly."},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"We will add new rules here (table 77)"},{"line_number":291,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a74a57a_19f5d9eb","line":288,"range":{"start_line":287,"start_character":32,"end_line":288,"end_character":80},"in_reply_to":"5a74a57a_a933bcf4","updated":"2016-11-29 14:22:18.000000000","message":"Same comment","commit_id":"ca050e9a1022e25675e4f9fcda6423c7fb3676a7"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. VM port"},{"line_number":34,"context_line":"2. Router port"},{"line_number":35,"context_line":"3. Virtual port"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Terminology and API"},{"line_number":38,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_929d3bbe","line":35,"updated":"2016-11-30 16:42:16.000000000","message":"Irena\u0027s comment from PS4 was not treated.","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. VM port"},{"line_number":34,"context_line":"2. Router port"},{"line_number":35,"context_line":"3. Virtual port"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Terminology and API"},{"line_number":38,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_ba512911","line":35,"in_reply_to":"5a74a57a_929d3bbe","updated":"2016-12-04 09:15:14.000000000","message":"will do","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    }"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"TapFlow represents the port from which the traffic needs to be mirrored."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"::"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_32946789","line":70,"updated":"2016-11-30 16:42:16.000000000","message":"Neutron API reference still missing","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":111,"context_line":"firewall rules."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"::"},{"line_number":114,"context_line":"    position_enum \u003d [\u0027BEFORESG\u0027, \u0027AFTERSG\u0027]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":117,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_12e04b28","line":114,"updated":"2016-11-30 16:42:16.000000000","message":"Are these values verified?","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":111,"context_line":"firewall rules."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"::"},{"line_number":114,"context_line":"    position_enum \u003d [\u0027BEFORESG\u0027, \u0027AFTERSG\u0027]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":117,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_0e5f3f73","line":114,"in_reply_to":"5a74a57a_12e04b28","updated":"2016-12-04 09:15:14.000000000","message":"Done","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":143,"context_line":"reachable ports in the graph."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"This basically makes sure that all the tapping is depth one. The only downside"},{"line_number":146,"context_line":"is that it has to be recalculated each time tapping topology changes."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Mirrored packet forwarding table"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_72e17f29","line":146,"updated":"2016-11-30 16:42:16.000000000","message":"This explanation was still not modified.","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":151,"context_line":"After the packet is mirrored, it will be forwarded to the new packet"},{"line_number":152,"context_line":"forwarding table."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Packets can came from local CN and from external CN. To minimize number of"},{"line_number":155,"context_line":"changes, I suggest to create a new table to handle mirrored packets."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"This table will not be hightly optimized but will more suitable for modular"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_fa9fe64d","line":154,"range":{"start_line":154,"start_character":12,"end_line":154,"end_character":16},"updated":"2016-11-30 16:42:16.000000000","message":"come","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":151,"context_line":"After the packet is mirrored, it will be forwarded to the new packet"},{"line_number":152,"context_line":"forwarding table."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Packets can came from local CN and from external CN. To minimize number of"},{"line_number":155,"context_line":"changes, I suggest to create a new table to handle mirrored packets."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"This table will not be hightly optimized but will more suitable for modular"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_9a9aadc4","line":154,"range":{"start_line":154,"start_character":12,"end_line":154,"end_character":16},"in_reply_to":"5a74a57a_fa9fe64d","updated":"2016-12-04 09:15:14.000000000","message":"Done","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"b149b9095f22c5307d0df45ea589b11895146afa","unresolved":false,"context_lines":[{"line_number":175,"context_line":"Where"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"  ::"},{"line_number":178,"context_line":"    DEST_TUN_ID - a tunnel number will specify a desttination VM"},{"line_number":179,"context_line":"    DEST_LOCAL_PORT - destination ovs port number (in case it is on same CN)"},{"line_number":180,"context_line":"    OVERLAY_NET_PORT - packet will be forwarded to other CN"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_805dc54a","line":178,"range":{"start_line":178,"start_character":49,"end_line":178,"end_character":61},"updated":"2016-11-30 07:39:31.000000000","message":"destination","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":175,"context_line":"Where"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"  ::"},{"line_number":178,"context_line":"    DEST_TUN_ID - a tunnel number will specify a desttination VM"},{"line_number":179,"context_line":"    DEST_LOCAL_PORT - destination ovs port number (in case it is on same CN)"},{"line_number":180,"context_line":"    OVERLAY_NET_PORT - packet will be forwarded to other CN"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_ba9f69b3","line":178,"range":{"start_line":178,"start_character":49,"end_line":178,"end_character":61},"in_reply_to":"5a74a57a_805dc54a","updated":"2016-12-04 09:15:14.000000000","message":"Done","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":183,"context_line":"Assigning tunnel id for each TapService"},{"line_number":184,"context_line":"---------------------------------------"},{"line_number":185,"context_line":"Each TapService will have a unique tunnel id. These unique ids should be saved"},{"line_number":186,"context_line":"in distibuted database."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Packer mirroring"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_5a78daf8","line":186,"updated":"2016-11-30 16:42:16.000000000","message":"How will you tell TapService ID and segmentation ID apart? How do you make sure you know a packet is for TAPaaS and not a regular packet? Are the unique IDs unique across both? Is there a bit differentiating them?","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":183,"context_line":"Assigning tunnel id for each TapService"},{"line_number":184,"context_line":"---------------------------------------"},{"line_number":185,"context_line":"Each TapService will have a unique tunnel id. These unique ids should be saved"},{"line_number":186,"context_line":"in distibuted database."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Packer mirroring"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_5b6574df","line":186,"in_reply_to":"5a74a57a_5a78daf8","updated":"2016-12-04 09:15:14.000000000","message":"I will explain this in new version of the spec.","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"b149b9095f22c5307d0df45ea589b11895146afa","unresolved":false,"context_lines":[{"line_number":206,"context_line":"Packet can be mirrored before or after the security group firewall check."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Depending of design we can add aditional table and / or modify existing"},{"line_number":209,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"},{"line_number":210,"context_line":"existing rules."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Tap position is BEFORESG"},{"line_number":213,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_797b037c","line":210,"range":{"start_line":209,"start_character":26,"end_line":210,"end_character":15},"updated":"2016-11-30 07:39:31.000000000","message":"I suggest to go the other way, because tapping flows are actually an optional application, considering the operation and debugging.","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":206,"context_line":"Packet can be mirrored before or after the security group firewall check."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Depending of design we can add aditional table and / or modify existing"},{"line_number":209,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"},{"line_number":210,"context_line":"existing rules."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Tap position is BEFORESG"},{"line_number":213,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_1a4e62c1","line":210,"range":{"start_line":209,"start_character":26,"end_line":210,"end_character":15},"in_reply_to":"5a74a57a_797b037c","updated":"2016-11-30 16:42:16.000000000","message":"+1","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":206,"context_line":"Packet can be mirrored before or after the security group firewall check."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Depending of design we can add aditional table and / or modify existing"},{"line_number":209,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"},{"line_number":210,"context_line":"existing rules."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Tap position is BEFORESG"},{"line_number":213,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_ce1627a7","line":210,"range":{"start_line":209,"start_character":26,"end_line":210,"end_character":15},"in_reply_to":"5a74a57a_797b037c","updated":"2016-12-04 09:15:14.000000000","message":"In this case we will need additional 4 tables.\nLets discuss.","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":22060,"name":"jingting","email":"kangjingting@huawei.com","username":"jingting"},"change_message_id":"466b8b004cef10ad16c645e8d00b174121bc7e58","unresolved":false,"context_lines":[{"line_number":223,"context_line":"  ::"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),"},{"line_number":226,"context_line":"                              $DEST_TUN_ID-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":229,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_7fe2d130","line":226,"range":{"start_line":226,"start_character":44,"end_line":226,"end_character":50},"updated":"2016-12-01 01:48:37.000000000","message":"Is this tun_id the same as overlay tun_id? maybe have an another name","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":223,"context_line":"  ::"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),"},{"line_number":226,"context_line":"                              $DEST_TUN_ID-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":229,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_7ab6b13e","line":226,"range":{"start_line":226,"start_character":44,"end_line":226,"end_character":50},"in_reply_to":"5a74a57a_7fe2d130","updated":"2016-12-04 09:15:14.000000000","message":"It is exactly this - same overlay tun_id (but different ids).","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":22060,"name":"jingting","email":"kangjingting@huawei.com","username":"jingting"},"change_message_id":"466b8b004cef10ad16c645e8d00b174121bc7e58","unresolved":false,"context_lines":[{"line_number":225,"context_line":"    Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),"},{"line_number":226,"context_line":"                              $DEST_TUN_ID-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":229,"context_line":"  ::"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    Filter:in_port:6 Actions:set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata,resubmit(,1),"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_1fc47d90","line":228,"range":{"start_line":228,"start_character":40,"end_line":228,"end_character":42},"updated":"2016-12-01 01:48:37.000000000","message":"be","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":236,"context_line":"-----------------------"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"After packets pass the firewall rules they arrive to the table 9. We should move all"},{"line_number":239,"context_line":"rules from table 9 to a new table (for example 10) and all other table\u0027 ids should be"},{"line_number":240,"context_line":"increased respectivly."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We will add new rules here:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_5a17fa53","line":239,"range":{"start_line":239,"start_character":47,"end_line":239,"end_character":49},"updated":"2016-11-30 16:42:16.000000000","message":"10 is taken. Either register  Either take a free table, or remove the example. (This will become confusing once implementation is finished)","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"After packets pass the firewall rules they arrive to the table 9. We should move all"},{"line_number":239,"context_line":"rules from table 9 to a new table (for example 10) and all other table\u0027 ids should be"},{"line_number":240,"context_line":"increased respectivly."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We will add new rules here:"},{"line_number":243,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_353171ed","line":240,"updated":"2016-11-30 16:42:16.000000000","message":"Is this necessary?","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"After packets pass the firewall rules they arrive to the table 9. We should move all"},{"line_number":239,"context_line":"rules from table 9 to a new table (for example 10) and all other table\u0027 ids should be"},{"line_number":240,"context_line":"increased respectivly."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We will add new rules here:"},{"line_number":243,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_3a9359a5","line":240,"in_reply_to":"5a74a57a_353171ed","updated":"2016-12-04 09:15:14.000000000","message":"Lets discuss.","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"8b091b2c2fa75141182f8bc8be97c6088a0630af","unresolved":false,"context_lines":[{"line_number":245,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":246,"context_line":"                             $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":249,"context_line":"  ::"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"     Filter:in_port:6 Actions:resubmit(,11),"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_759f69b4","line":248,"range":{"start_line":248,"start_character":40,"end_line":248,"end_character":42},"updated":"2016-11-30 16:42:16.000000000","message":"be","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":245,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":246,"context_line":"                             $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":249,"context_line":"  ::"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"     Filter:in_port:6 Actions:resubmit(,11),"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_da7b457a","line":248,"range":{"start_line":248,"start_character":40,"end_line":248,"end_character":42},"in_reply_to":"5a74a57a_759f69b4","updated":"2016-12-04 09:15:14.000000000","message":"Done","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":22060,"name":"jingting","email":"kangjingting@huawei.com","username":"jingting"},"change_message_id":"466b8b004cef10ad16c645e8d00b174121bc7e58","unresolved":false,"context_lines":[{"line_number":272,"context_line":"  Filter:reg7\u003d0x8 Actions:output:6,"},{"line_number":273,"context_line":"                          $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING,"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":276,"context_line":"  ::"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"     Filter:in_port:6 Actions:output(6),"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_df25a55c","line":275,"range":{"start_line":275,"start_character":40,"end_line":275,"end_character":42},"updated":"2016-12-01 01:48:37.000000000","message":"be","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":272,"context_line":"  Filter:reg7\u003d0x8 Actions:output:6,"},{"line_number":273,"context_line":"                          $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING,"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"In case, the source port traffic should me mirrored to multiple TapService:"},{"line_number":276,"context_line":"  ::"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"     Filter:in_port:6 Actions:output(6),"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_7a8dd17a","line":275,"range":{"start_line":275,"start_character":40,"end_line":275,"end_character":42},"in_reply_to":"5a74a57a_df25a55c","updated":"2016-12-04 09:15:14.000000000","message":"Done","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"b149b9095f22c5307d0df45ea589b11895146afa","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                              $DEST_TUN_ID2-\u003etun_id,goto_table:TAP_FORWARDING,"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"Tap possition is BEFORESG"},{"line_number":284,"context_line":"-------------------------"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Before the packets pass the firewall rules they arrive to the table 77"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_198daf7b","line":283,"range":{"start_line":283,"start_character":4,"end_line":283,"end_character":13},"updated":"2016-11-30 07:39:31.000000000","message":"position","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                              $DEST_TUN_ID2-\u003etun_id,goto_table:TAP_FORWARDING,"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"Tap possition is BEFORESG"},{"line_number":284,"context_line":"-------------------------"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Before the packets pass the firewall rules they arrive to the table 77"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_1a721d7d","line":283,"range":{"start_line":283,"start_character":4,"end_line":283,"end_character":13},"in_reply_to":"5a74a57a_198daf7b","updated":"2016-12-04 09:15:14.000000000","message":"Done","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":22060,"name":"jingting","email":"kangjingting@huawei.com","username":"jingting"},"change_message_id":"466b8b004cef10ad16c645e8d00b174121bc7e58","unresolved":false,"context_lines":[{"line_number":323,"context_line":"SERVICES_CLASSIFICATION_TABLE \u003d 9"},{"line_number":324,"context_line":"INGRESS_SECURITY_GROUP_TABLE \u003d 77"},{"line_number":325,"context_line":"INGRESS_DISPATCH_TABLE \u003d 78"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"TODO:"},{"line_number":329,"context_line":"-----"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a74a57a_ffdfc137","line":326,"updated":"2016-12-01 01:48:37.000000000","message":"will you describe details about TAP_FORWORD table","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"55fe64954e886444b7a261fd94da5a3819487a2e","unresolved":false,"context_lines":[{"line_number":323,"context_line":"SERVICES_CLASSIFICATION_TABLE \u003d 9"},{"line_number":324,"context_line":"INGRESS_SECURITY_GROUP_TABLE \u003d 77"},{"line_number":325,"context_line":"INGRESS_DISPATCH_TABLE \u003d 78"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"TODO:"},{"line_number":329,"context_line":"-----"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a71b18c_7a5231df","line":326,"in_reply_to":"5a74a57a_ffdfc137","updated":"2016-12-04 09:15:14.000000000","message":"You mean to add an id for this table here ?\nThis table is discussed in \"Tap packet forwarding table\"","commit_id":"62f3eba1577b4c3afbc428e3c7979eef8bcdc023"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0c09b4eac03bee6b9e75d23b294383b19d5b35c4","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"TapFlow represents the port from which the traffic needs to be mirrored."},{"line_number":74,"context_line":"It can be a port associated with VM on another CN."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_8094c537","line":73,"updated":"2016-12-02 05:29:59.000000000","message":"I got it wrong on PS6: API reference appears in line 43.","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"2a075af4aafcbb3e60b5560b80bab988c327712d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"TapFlow represents the port from which the traffic needs to be mirrored."},{"line_number":74,"context_line":"It can be a port associated with VM on another CN."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_12c52b5a","line":73,"in_reply_to":"3a71b18c_8094c537","updated":"2016-12-04 09:31:32.000000000","message":"Not clear what you mean here.","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":18347,"name":"Itamar Ofek","email":"itamofek@netscape.net","username":"itamaro"},"change_message_id":"1eeb21f29430608cf48702ed6546d1c61bc15a74","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    position_enum \u003d [\u0027VNIC\u0027, \u0027PORT\u0027]"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"VNIC specify that the packet should be intercepted close to VM,"},{"line_number":120,"context_line":"while NIC specifies that packet should be intercepted on the network"},{"line_number":121,"context_line":"level."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"In case we are talking about tapping outgoing packets:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_1ce200d6","line":120,"range":{"start_line":120,"start_character":6,"end_line":120,"end_character":9},"updated":"2016-12-01 16:23:36.000000000","message":"Did you mean PORT?","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"2a075af4aafcbb3e60b5560b80bab988c327712d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    position_enum \u003d [\u0027VNIC\u0027, \u0027PORT\u0027]"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"VNIC specify that the packet should be intercepted close to VM,"},{"line_number":120,"context_line":"while NIC specifies that packet should be intercepted on the network"},{"line_number":121,"context_line":"level."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"In case we are talking about tapping outgoing packets:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_d292d39e","line":120,"range":{"start_line":120,"start_character":6,"end_line":120,"end_character":9},"in_reply_to":"3a71b18c_1ce200d6","updated":"2016-12-04 09:31:32.000000000","message":"Done","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0c09b4eac03bee6b9e75d23b294383b19d5b35c4","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"In case we are talking about tapping outgoing packets:"},{"line_number":124,"context_line":"  1. VNIC is before security group firewall."},{"line_number":125,"context_line":"  2. NIC is after security group firewall."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"In case we are talking about tapping incomming packet:"},{"line_number":128,"context_line":"  1. VNIC is after the security group firewall."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_e0f9f9c9","line":125,"range":{"start_line":125,"start_character":5,"end_line":125,"end_character":8},"updated":"2016-12-02 05:29:59.000000000","message":"Same here","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0c09b4eac03bee6b9e75d23b294383b19d5b35c4","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"In case we are talking about tapping incomming packet:"},{"line_number":128,"context_line":"  1. VNIC is after the security group firewall."},{"line_number":129,"context_line":"  2. NIC is before security group firewall."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":132,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_00f7d5d3","line":129,"range":{"start_line":129,"start_character":5,"end_line":129,"end_character":8},"updated":"2016-12-02 05:29:59.000000000","message":"and here","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"2a075af4aafcbb3e60b5560b80bab988c327712d","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"In case we are talking about tapping incomming packet:"},{"line_number":128,"context_line":"  1. VNIC is after the security group firewall."},{"line_number":129,"context_line":"  2. NIC is before security group firewall."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":132,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_f2918f9a","line":129,"range":{"start_line":129,"start_character":5,"end_line":129,"end_character":8},"in_reply_to":"3a71b18c_00f7d5d3","updated":"2016-12-04 09:31:32.000000000","message":"Done","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0c09b4eac03bee6b9e75d23b294383b19d5b35c4","unresolved":false,"context_lines":[{"line_number":131,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":132,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Tap packet forwarding table"},{"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"},{"line_number":137,"context_line":"After the packet is mirrored, it will be forwarded to the new packet"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_e0d1f9fc","line":134,"updated":"2016-12-02 05:29:59.000000000","message":"So now what is the plan for tap of a port in a TapService? Do we ignore tapped data? Do we treat it like regular data? Do we do cycle checking? How does the reference implementation deal with this?","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"2a075af4aafcbb3e60b5560b80bab988c327712d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"Multiple TapFlow instances can be associated with a single TapService"},{"line_number":132,"context_line":"instance. So, one Snort VM can check traffic of multiple virtual servers."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Tap packet forwarding table"},{"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"},{"line_number":137,"context_line":"After the packet is mirrored, it will be forwarded to the new packet"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_32a227af","line":134,"in_reply_to":"3a71b18c_e0d1f9fc","updated":"2016-12-04 09:31:32.000000000","message":"Check new version.","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0c09b4eac03bee6b9e75d23b294383b19d5b35c4","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Depending of design we can add aditional table and / or modify existing"},{"line_number":197,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"},{"line_number":198,"context_line":"existing rules."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Tap position is BEFORESG"},{"line_number":201,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_201bf11c","line":198,"updated":"2016-12-02 05:29:59.000000000","message":"See @nick-ma\u0027s comment from PS6","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"2a075af4aafcbb3e60b5560b80bab988c327712d","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Depending of design we can add aditional table and / or modify existing"},{"line_number":197,"context_line":"rules to allow mirroring. To minimize number of changes I prefer to alter"},{"line_number":198,"context_line":"existing rules."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Tap position is BEFORESG"},{"line_number":201,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_52a5e3b2","line":198,"in_reply_to":"3a71b18c_201bf11c","updated":"2016-12-04 09:31:32.000000000","message":"Lets discuss.","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0c09b4eac03bee6b9e75d23b294383b19d5b35c4","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"After packets pass the firewall rules they arrive to the table 9 (SERVICES_"},{"line_number":227,"context_line":"CLASSIFICATION_TABLE). We should move all rules from table 9 to a new table"},{"line_number":228,"context_line":"(for example 10) and all other table\u0027 ids should be increased respectivly."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"We will add new rules here:"},{"line_number":231,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_a0fe2169","line":228,"updated":"2016-12-02 05:29:59.000000000","message":"You mentioned spreading out the used table numbers, so in future we have room to insert things. Is that still the plan?","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"2a075af4aafcbb3e60b5560b80bab988c327712d","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"After packets pass the firewall rules they arrive to the table 9 (SERVICES_"},{"line_number":227,"context_line":"CLASSIFICATION_TABLE). We should move all rules from table 9 to a new table"},{"line_number":228,"context_line":"(for example 10) and all other table\u0027 ids should be increased respectivly."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"We will add new rules here:"},{"line_number":231,"context_line":"  ::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a71b18c_128d2b7b","line":228,"in_reply_to":"3a71b18c_a0fe2169","updated":"2016-12-04 09:31:32.000000000","message":"Yes,","commit_id":"2ecfb91f7e453dd6bc0208a7deeba3a9fbcbdbff"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"e7b4bbc6b9511889e3d85be4c4a50ab6dcbfe978","unresolved":false,"context_lines":[{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In short, we want to create a mechanism to forward traffic for example"},{"line_number":23,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":26,"context_line":"to run for example tcpdump to trace these packets. The administrator, will"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_21d5691b","line":23,"range":{"start_line":22,"start_character":43,"end_line":23,"end_character":44},"updated":"2016-12-05 08:27:24.000000000","message":"forward traffic for example from one VM to another","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"b975bbf823e50609f6924273da88fdf058f12398","unresolved":false,"context_lines":[{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In short, we want to create a mechanism to forward traffic for example"},{"line_number":23,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":26,"context_line":"to run for example tcpdump to trace these packets. The administrator, will"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_bffb50c0","line":23,"range":{"start_line":22,"start_character":43,"end_line":23,"end_character":44},"in_reply_to":"3a71b18c_21d5691b","updated":"2016-12-05 10:42:15.000000000","message":"Done","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"e7b4bbc6b9511889e3d85be4c4a50ab6dcbfe978","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":26,"context_line":"to run for example tcpdump to trace these packets. The administrator, will"},{"line_number":27,"context_line":"have to enable the promiscuous mode on the VM network card to be able to"},{"line_number":28,"context_line":"see these packets. [1]_"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_e1eff1e6","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":6},"updated":"2016-12-05 08:27:24.000000000","message":"to run where?","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"b975bbf823e50609f6924273da88fdf058f12398","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from one VM and to forward it to another VM for the inspection. When"},{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":26,"context_line":"to run for example tcpdump to trace these packets. The administrator, will"},{"line_number":27,"context_line":"have to enable the promiscuous mode on the VM network card to be able to"},{"line_number":28,"context_line":"see these packets. [1]_"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_9f85b408","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":6},"in_reply_to":"3a71b18c_e1eff1e6","updated":"2016-12-05 10:42:15.000000000","message":"Done","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"e7b4bbc6b9511889e3d85be4c4a50ab6dcbfe978","unresolved":false,"context_lines":[{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":26,"context_line":"to run for example tcpdump to trace these packets. The administrator, will"},{"line_number":27,"context_line":"have to enable the promiscuous mode on the VM network card to be able to"},{"line_number":28,"context_line":"see these packets. [1]_"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Currently this document concentrates on tapping traffic coming in and out"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_a197b946","line":27,"range":{"start_line":27,"start_character":36,"end_line":27,"end_character":45},"updated":"2016-12-05 08:27:24.000000000","message":"on the VM where traffic is forwarded?","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"b975bbf823e50609f6924273da88fdf058f12398","unresolved":false,"context_lines":[{"line_number":24,"context_line":"packet will be forwarded, the original value of source and target ip/ports"},{"line_number":25,"context_line":"information will not be altered and the system administrator will be able"},{"line_number":26,"context_line":"to run for example tcpdump to trace these packets. The administrator, will"},{"line_number":27,"context_line":"have to enable the promiscuous mode on the VM network card to be able to"},{"line_number":28,"context_line":"see these packets. [1]_"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Currently this document concentrates on tapping traffic coming in and out"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_bf7ef016","line":27,"range":{"start_line":27,"start_character":36,"end_line":27,"end_character":45},"in_reply_to":"3a71b18c_a197b946","updated":"2016-12-05 10:42:15.000000000","message":"Done","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"e7b4bbc6b9511889e3d85be4c4a50ab6dcbfe978","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":""},{"line_number":187,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_e11e11ba","line":184,"range":{"start_line":184,"start_character":71,"end_line":184,"end_character":81},"updated":"2016-12-05 08:27:24.000000000","message":"ml2 plugin should not be affected directly. Tap Service/Tap driver are supposed to take care of required operations, DFTapDriver in case its DF specific operation.","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"4d79b4221183d9874ebe95ea415948f1db9a297b","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":""},{"line_number":187,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_ff6ce136","line":184,"range":{"start_line":184,"start_character":71,"end_line":184,"end_character":81},"in_reply_to":"3a71b18c_793e318d","updated":"2016-12-05 11:55:01.000000000","message":"There is already TaSServicePlugin  https://github.com/openstack/tap-as-a-service/blob/master/neutron_taas/services/taas/taas_plugin.py that delegates some tasks to the driver. I think DF should provide such driver.","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"b975bbf823e50609f6924273da88fdf058f12398","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":""},{"line_number":187,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_793e318d","line":184,"range":{"start_line":184,"start_character":71,"end_line":184,"end_character":81},"in_reply_to":"3a71b18c_e11e11ba","updated":"2016-12-05 10:42:15.000000000","message":"Omer advised me to implement this as a service. Similar to this one:\nhttps://github.com/openstack/dragonflow/blob/master/dragonflow/neutron/services/l3_router_plugin.py\nIt has access to the core_plugin and mech_driver","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"cb585530d5785840a5e0ec4d15bbccc618d389df","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":""},{"line_number":187,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_4514269f","line":184,"range":{"start_line":184,"start_character":71,"end_line":184,"end_character":81},"in_reply_to":"3a71b18c_ff6ce136","updated":"2016-12-05 12:41:48.000000000","message":"Thank you for pointing me to this link !","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"e7b4bbc6b9511889e3d85be4c4a50ab6dcbfe978","unresolved":false,"context_lines":[{"line_number":394,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":395,"context_line":"  |   topic            |   tenant ID                                 |"},{"line_number":396,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":397,"context_line":"  |   tap_service_id   |   id of the destination TapService          |"},{"line_number":398,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":399,"context_line":"  |   source_port_id   |   port id of the tapped machine             |"},{"line_number":400,"context_line":"  +--------------------+---------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_04195b79","line":397,"range":{"start_line":397,"start_character":6,"end_line":397,"end_character":21},"updated":"2016-12-05 08:27:24.000000000","message":"what attribute in the previous table corresponds to this field?","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"b975bbf823e50609f6924273da88fdf058f12398","unresolved":false,"context_lines":[{"line_number":394,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":395,"context_line":"  |   topic            |   tenant ID                                 |"},{"line_number":396,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":397,"context_line":"  |   tap_service_id   |   id of the destination TapService          |"},{"line_number":398,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":399,"context_line":"  |   source_port_id   |   port id of the tapped machine             |"},{"line_number":400,"context_line":"  +--------------------+---------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_dfa2cc98","line":397,"range":{"start_line":397,"start_character":6,"end_line":397,"end_character":21},"in_reply_to":"3a71b18c_04195b79","updated":"2016-12-05 10:42:15.000000000","message":"In references the key value in previous table.\nWe can rename this field if you have good suggestion.","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"4d79b4221183d9874ebe95ea415948f1db9a297b","unresolved":false,"context_lines":[{"line_number":394,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":395,"context_line":"  |   topic            |   tenant ID                                 |"},{"line_number":396,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":397,"context_line":"  |   tap_service_id   |   id of the destination TapService          |"},{"line_number":398,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":399,"context_line":"  |   source_port_id   |   port id of the tapped machine             |"},{"line_number":400,"context_line":"  +--------------------+---------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_dfb2c593","line":397,"range":{"start_line":397,"start_character":6,"end_line":397,"end_character":21},"in_reply_to":"3a71b18c_dfa2cc98","updated":"2016-12-05 11:55:01.000000000","message":"I think the name of this field is fine and corresponds to the neutron one, just was not sure if key is the same as uuid","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"cb585530d5785840a5e0ec4d15bbccc618d389df","unresolved":false,"context_lines":[{"line_number":394,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":395,"context_line":"  |   topic            |   tenant ID                                 |"},{"line_number":396,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":397,"context_line":"  |   tap_service_id   |   id of the destination TapService          |"},{"line_number":398,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":399,"context_line":"  |   source_port_id   |   port id of the tapped machine             |"},{"line_number":400,"context_line":"  +--------------------+---------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a71b18c_05486ecb","line":397,"range":{"start_line":397,"start_character":6,"end_line":397,"end_character":21},"in_reply_to":"3a71b18c_dfb2c593","updated":"2016-12-05 12:41:48.000000000","message":"Great !","commit_id":"4b68becfba15fdf8b6e9ca973c3d1c8a49318bbe"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"16d2cae74172404cd911d195ee214f555d2a2da8","unresolved":false,"context_lines":[{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Performing network protocol review, checking firewall rules and / or"},{"line_number":16,"context_line":"performing network security audit is part of the daily job of the system"},{"line_number":17,"context_line":"administrator. To be able to provide this functionality in the cloud,"},{"line_number":18,"context_line":"an idea to create a tap-as-a-service was born. For example when enabled"},{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_8a3f2d86","line":16,"range":{"start_line":16,"start_character":34,"end_line":16,"end_character":36},"updated":"2016-12-05 12:45:15.000000000","message":"are","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Performing network protocol review, checking firewall rules and / or"},{"line_number":16,"context_line":"performing network security audit is part of the daily job of the system"},{"line_number":17,"context_line":"administrator. To be able to provide this functionality in the cloud,"},{"line_number":18,"context_line":"an idea to create a tap-as-a-service was born. For example when enabled"},{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_bd550efb","line":16,"range":{"start_line":16,"start_character":34,"end_line":16,"end_character":36},"in_reply_to":"3a71b18c_8a3f2d86","updated":"2016-12-05 13:51:48.000000000","message":"\u0027is\u0027 is also acceptable.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"16d2cae74172404cd911d195ee214f555d2a2da8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"performing network security audit is part of the daily job of the system"},{"line_number":17,"context_line":"administrator. To be able to provide this functionality in the cloud,"},{"line_number":18,"context_line":"an idea to create a tap-as-a-service was born. For example when enabled"},{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In short, we want to create a mechanism to forward traffic for example from"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_051cee68","line":19,"range":{"start_line":19,"start_character":63,"end_line":19,"end_character":68},"updated":"2016-12-05 12:45:15.000000000","message":"you use Snort below, pls keep uniform","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":16,"context_line":"performing network security audit is part of the daily job of the system"},{"line_number":17,"context_line":"administrator. To be able to provide this functionality in the cloud,"},{"line_number":18,"context_line":"an idea to create a tap-as-a-service was born. For example when enabled"},{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In short, we want to create a mechanism to forward traffic for example from"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_dd5aca29","line":19,"range":{"start_line":19,"start_character":63,"end_line":19,"end_character":68},"in_reply_to":"3a71b18c_051cee68","updated":"2016-12-05 13:51:48.000000000","message":"+1","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"7f740205753902918ef375c6a12cc5e81315183b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"performing network security audit is part of the daily job of the system"},{"line_number":17,"context_line":"administrator. To be able to provide this functionality in the cloud,"},{"line_number":18,"context_line":"an idea to create a tap-as-a-service was born. For example when enabled"},{"line_number":19,"context_line":"and configured it will allow the system administrator to run a SNORT IDS"},{"line_number":20,"context_line":"on his tenant network."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In short, we want to create a mechanism to forward traffic for example from"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_8b7f2f16","line":19,"range":{"start_line":19,"start_character":63,"end_line":19,"end_character":68},"in_reply_to":"3a71b18c_dd5aca29","updated":"2016-12-11 09:29:30.000000000","message":"Done","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6bcc1aa7e93220b09c40bca5dc622f3a3227e65d","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In short, we want to create a mechanism to forward traffic for example from"},{"line_number":23,"context_line":"one VM to another. When packet will be forwarded, the original value of"},{"line_number":24,"context_line":"source and target ip/ports information will not be altered and the system"},{"line_number":25,"context_line":"administrator will be able to run for example tcpdump on the target VM to"},{"line_number":26,"context_line":"trace these packets. The administrator, will have to enable a promiscuous"},{"line_number":27,"context_line":"mode on the target VM network card to be able to see these packets. [1]_"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_9c6637b9","line":25,"range":{"start_line":25,"start_character":33,"end_line":25,"end_character":54},"updated":"2016-12-07 08:19:03.000000000","message":", for example tcpdump,","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"7f740205753902918ef375c6a12cc5e81315183b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In short, we want to create a mechanism to forward traffic for example from"},{"line_number":23,"context_line":"one VM to another. When packet will be forwarded, the original value of"},{"line_number":24,"context_line":"source and target ip/ports information will not be altered and the system"},{"line_number":25,"context_line":"administrator will be able to run for example tcpdump on the target VM to"},{"line_number":26,"context_line":"trace these packets. The administrator, will have to enable a promiscuous"},{"line_number":27,"context_line":"mode on the target VM network card to be able to see these packets. [1]_"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_cb7da71d","line":25,"range":{"start_line":25,"start_character":33,"end_line":25,"end_character":54},"in_reply_to":"3a71b18c_9c6637b9","updated":"2016-12-11 09:29:30.000000000","message":"Done","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6bcc1aa7e93220b09c40bca5dc622f3a3227e65d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        \u0027source_port\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":93,"context_line":"                        \u0027validate\u0027: {\u0027type:uuid\u0027: None},"},{"line_number":94,"context_line":"                        \u0027required_by_policy\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":95,"context_line":"        \u0027position\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":96,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: position_enum},"},{"line_number":97,"context_line":"                      \u0027is_visible\u0027: True}"},{"line_number":98,"context_line":"        \u0027direction\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":99,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: direction_enum},"},{"line_number":100,"context_line":"                      \u0027is_visible\u0027: True}"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_1c286732","line":97,"range":{"start_line":95,"start_character":0,"end_line":97,"end_character":41},"updated":"2016-12-07 08:19:03.000000000","message":"removed from the current spec but would be taken up in the future, if required ( JFYI )","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"7f740205753902918ef375c6a12cc5e81315183b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        \u0027source_port\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":93,"context_line":"                        \u0027validate\u0027: {\u0027type:uuid\u0027: None},"},{"line_number":94,"context_line":"                        \u0027required_by_policy\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":95,"context_line":"        \u0027position\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":96,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: position_enum},"},{"line_number":97,"context_line":"                      \u0027is_visible\u0027: True}"},{"line_number":98,"context_line":"        \u0027direction\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":99,"context_line":"                      \u0027validate\u0027: {\u0027type:values\u0027: direction_enum},"},{"line_number":100,"context_line":"                      \u0027is_visible\u0027: True}"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_4b90b743","line":97,"range":{"start_line":95,"start_character":0,"end_line":97,"end_character":41},"in_reply_to":"3a71b18c_1c286732","updated":"2016-12-11 09:29:30.000000000","message":"Thanks. I know that","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6bcc1aa7e93220b09c40bca5dc622f3a3227e65d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    }"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The ``DirectionEnum`` states whether the TAP is attached to the ingress,"},{"line_number":104,"context_line":"egress, or both directions of the port."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"::"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_1cdf873a","line":104,"range":{"start_line":104,"start_character":34,"end_line":104,"end_character":39},"updated":"2016-12-07 08:19:03.000000000","message":"port or data flow?","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"7f740205753902918ef375c6a12cc5e81315183b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    }"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The ``DirectionEnum`` states whether the TAP is attached to the ingress,"},{"line_number":104,"context_line":"egress, or both directions of the port."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"::"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_eba18395","line":104,"range":{"start_line":104,"start_character":34,"end_line":104,"end_character":39},"in_reply_to":"3a71b18c_1cdf873a","updated":"2016-12-11 09:29:30.000000000","message":"Done","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"16d2cae74172404cd911d195ee214f555d2a2da8","unresolved":false,"context_lines":[{"line_number":137,"context_line":"After the packet is mirrored, it will be forwarded to the new packet"},{"line_number":138,"context_line":"forwarding table (``TAP_FORWARD_TABLE``)."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Packets can come from local CN and from external CN. To minimize number of"},{"line_number":141,"context_line":"changes, we propose to create a new table to handle mirrored packets."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"This table may not be highly optimized, but improves the modular design."}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_85563ecc","line":140,"range":{"start_line":140,"start_character":35,"end_line":140,"end_character":39},"updated":"2016-12-05 12:45:15.000000000","message":"delete \"from\"","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"c285f6163142678321d217b07f967d41cc94cb17","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_c2b741f3","line":183,"range":{"start_line":183,"start_character":0,"end_line":183,"end_character":82},"updated":"2016-12-05 15:57:44.000000000","message":"I think Tap as a service doesn\u0027t run as part of ML2 plugin, but as a separate driver.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6bcc1aa7e93220b09c40bca5dc622f3a3227e65d","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_dc8d0f32","line":183,"range":{"start_line":183,"start_character":0,"end_line":183,"end_character":82},"in_reply_to":"3a71b18c_c2b741f3","updated":"2016-12-07 08:19:03.000000000","message":"I have a patch for the ML2 plugin migration,which is a WIP for TaaS","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2c0db0c6c5cde096da72f0ba5ec2c536eee3d526","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_d73168a3","line":183,"range":{"start_line":183,"start_character":0,"end_line":183,"end_character":82},"in_reply_to":"3a71b18c_dc8d0f32","updated":"2016-12-07 09:11:00.000000000","message":"@Reedip, could you please share the link?\n\n@dimak, @reedip, I am not sure I understand the relevance. Currently TaaS is a neutron service. Can\u0027t it call Neutron API to allocate a segment id? (Or am I missing something?)","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"fc7a0a0fefce49143c1b969c4255ff8a119e7839","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":".. _`Packet cycling prevention`:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_ff363a4f","line":183,"range":{"start_line":183,"start_character":0,"end_line":183,"end_character":82},"in_reply_to":"3a71b18c_dc8d0f32","updated":"2016-12-07 09:57:02.000000000","message":"reedip,\ni guess you are mixing ML2 and L2 agent extension.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"7f740205753902918ef375c6a12cc5e81315183b","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":".. _`Packet cycling prevention`:"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Packet cycling prevention"},{"line_number":189,"context_line":"-------------------------"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Consider the following scenario with packet cycling:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_4b199787","line":188,"range":{"start_line":188,"start_character":0,"end_line":188,"end_character":25},"updated":"2016-12-11 09:29:30.000000000","message":"I removed this section as I understand, tap of the tap will not be allowed on the API level.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Solution:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"1. When mirrored packets arrived to *T1* or *T2* they will not pass the SG firewall,"},{"line_number":210,"context_line":"   they will be send directly to the *T1* and *T2* ovs port."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"   As a result, when e.g. *T2* taps *T1*, *T2* will receive only regular *T1* packets"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_1da3629e","line":209,"range":{"start_line":209,"start_character":72,"end_line":209,"end_character":84},"updated":"2016-12-05 13:51:48.000000000","message":"SG firewall should be unrelated to this feature, except the position clause. This is different than the reference implementation.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":212,"context_line":"   As a result, when e.g. *T2* taps *T1*, *T2* will receive only regular *T1* packets"},{"line_number":213,"context_line":"   (not the mirrored ones)."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"2. We reduce rules, i.e. make sure that all taps are at depth 1."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"   In the example above when *T1* taps *T2*, *T1* should tap *A*, *B*, *T2*."},{"line_number":218,"context_line":"   So for *T1* we will create the following rules:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_9d0bf28d","line":215,"updated":"2016-12-05 13:51:48.000000000","message":"I think I prefer to detect this and raise an error, rather than guess what the administrator meant. I don\u0027t like this sort of magic behind the scenes.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"181a87e1bcc4aa915cfe44460f45d50442098ef1","unresolved":false,"context_lines":[{"line_number":212,"context_line":"   As a result, when e.g. *T2* taps *T1*, *T2* will receive only regular *T1* packets"},{"line_number":213,"context_line":"   (not the mirrored ones)."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"2. We reduce rules, i.e. make sure that all taps are at depth 1."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"   In the example above when *T1* taps *T2*, *T1* should tap *A*, *B*, *T2*."},{"line_number":218,"context_line":"   So for *T1* we will create the following rules:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_a6b31209","line":215,"range":{"start_line":215,"start_character":43,"end_line":215,"end_character":44},"updated":"2016-12-06 10:29:58.000000000","message":"this won\u0027t solve the extreme cases.\neg. T1 and T2 tap each other.\n\ni guess we need to define taas api semantics clearly for those cases.\ni\u0027ll add it to the taas meeting agenda.\nhttps://wiki.openstack.org/wiki/Meetings/taas","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"16d2cae74172404cd911d195ee214f555d2a2da8","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"::"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":" [B]----+"},{"line_number":196,"context_line":"        |"},{"line_number":197,"context_line":" [A]----+---[CLOUD]"},{"line_number":198,"context_line":"  |     |"},{"line_number":199,"context_line":"  |     |"},{"line_number":200,"context_line":" [T1]--[T2]"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"Where:"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":" - *T1* taps *A* and *T2*"},{"line_number":205,"context_line":" - *T2* taps *A*, *B* and *T1*"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Solution:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"1. When mirrored packets arrived to *T1* or *T2* they will not pass the SG firewall,"},{"line_number":210,"context_line":"   they will be send directly to the *T1* and *T2* ovs port."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"   As a result, when e.g. *T2* taps *T1*, *T2* will receive only regular *T1* packets"},{"line_number":213,"context_line":"   (not the mirrored ones)."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"2. We reduce rules, i.e. make sure that all taps are at depth 1."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"   In the example above when *T1* taps *T2*, *T1* should tap *A*, *B*, *T2*."},{"line_number":218,"context_line":"   So for *T1* we will create the following rules:"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"     *T1* taps *A*, *B*, *T2*"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"   For *T2* we will create the following rules:"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"     *T2* taps *A*, *B*, *T1*"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Packet mirroring"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_65f5a255","line":224,"range":{"start_line":195,"start_character":0,"end_line":224,"end_character":29},"updated":"2016-12-05 12:45:15.000000000","message":"I\u0027m not sure I understand this part, what is A/B/T1/T2, how do you resolve the packet cycle problem and not pass sg rules?","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"::"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":" [B]----+"},{"line_number":196,"context_line":"        |"},{"line_number":197,"context_line":" [A]----+---[CLOUD]"},{"line_number":198,"context_line":"  |     |"},{"line_number":199,"context_line":"  |     |"},{"line_number":200,"context_line":" [T1]--[T2]"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"Where:"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":" - *T1* taps *A* and *T2*"},{"line_number":205,"context_line":" - *T2* taps *A*, *B* and *T1*"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Solution:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"1. When mirrored packets arrived to *T1* or *T2* they will not pass the SG firewall,"},{"line_number":210,"context_line":"   they will be send directly to the *T1* and *T2* ovs port."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"   As a result, when e.g. *T2* taps *T1*, *T2* will receive only regular *T1* packets"},{"line_number":213,"context_line":"   (not the mirrored ones)."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"2. We reduce rules, i.e. make sure that all taps are at depth 1."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"   In the example above when *T1* taps *T2*, *T1* should tap *A*, *B*, *T2*."},{"line_number":218,"context_line":"   So for *T1* we will create the following rules:"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"     *T1* taps *A*, *B*, *T2*"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"   For *T2* we will create the following rules:"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"     *T2* taps *A*, *B*, *T1*"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Packet mirroring"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_fd978645","line":224,"range":{"start_line":195,"start_character":0,"end_line":224,"end_character":29},"in_reply_to":"3a71b18c_65f5a255","updated":"2016-12-05 13:51:48.000000000","message":"I agree. The diagram is indeed not clear. Perhaps do away with it, and just explain what you mean?","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":256,"context_line":"Change ``table\u003d1`` (``EGRESS_PORT_SECURITY_TABLE``) to be ``table\u003d2`` and install our"},{"line_number":257,"context_line":"tap rules in ``table\u003d1``."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"In new ``table\u003d1`` we will add the following rules:"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":" ::"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_bd0a6e77","line":259,"updated":"2016-12-05 13:51:48.000000000","message":"This means we also bypass port security. I think that\u0027s worth mentioning.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":378,"context_line":"  |   segmentation_id  |   overlay network distinguishing tunnel id  |"},{"line_number":379,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"The following fields were omitted here:"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":" * ``name``"},{"line_number":384,"context_line":" * ``description``"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_9d67724c","line":381,"updated":"2016-12-05 13:51:48.000000000","message":"Why?","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"7f740205753902918ef375c6a12cc5e81315183b","unresolved":false,"context_lines":[{"line_number":378,"context_line":"  |   segmentation_id  |   overlay network distinguishing tunnel id  |"},{"line_number":379,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"The following fields were omitted here:"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":" * ``name``"},{"line_number":384,"context_line":" * ``description``"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_8b380ff0","line":381,"in_reply_to":"3a71b18c_9d67724c","updated":"2016-12-11 09:29:30.000000000","message":"These are text fields.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55a3c7d99d8e4529ddc92f484b44bb57302b9d78","unresolved":false,"context_lines":[{"line_number":402,"context_line":"  |   direction_enum   |   enum [\u0027IN\u0027, \u0027OUT\u0027, \u0027BOTH\u0027]                |"},{"line_number":403,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"The following fields were omitted here:"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":" * ``name``"},{"line_number":408,"context_line":" * ``description``"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_fd56a65a","line":405,"updated":"2016-12-05 13:51:48.000000000","message":"Again, why?","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"7f740205753902918ef375c6a12cc5e81315183b","unresolved":false,"context_lines":[{"line_number":402,"context_line":"  |   direction_enum   |   enum [\u0027IN\u0027, \u0027OUT\u0027, \u0027BOTH\u0027]                |"},{"line_number":403,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"The following fields were omitted here:"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":" * ``name``"},{"line_number":408,"context_line":" * ``description``"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3a71b18c_6b3733ff","line":405,"in_reply_to":"3a71b18c_fd56a65a","updated":"2016-12-11 09:29:30.000000000","message":"These are text fields.","commit_id":"6fabe3fc690e2423e5544c1c25f5516fde321288"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2722efc932a0c85f1ac9101733e7984d09ba79aa","unresolved":false,"context_lines":[{"line_number":212,"context_line":"Change ``table\u003d1`` (``EGRESS_PORT_SECURITY_TABLE``) to be ``table\u003d2`` and install our"},{"line_number":213,"context_line":"tap rules in ``table\u003d1``."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"In new ``table\u003d1`` we will add the following rules:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":" ::"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"3a71b18c_93ef611d","line":215,"updated":"2016-12-11 14:03:02.000000000","message":"Please mention that this bypasses port security.","commit_id":"6be2cf7bb0662ba19e334972852e3f7d0fe1130d"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"42ed9cc341bd19011956402abe950564f7130709","unresolved":false,"context_lines":[{"line_number":212,"context_line":"Change ``table\u003d1`` (``EGRESS_PORT_SECURITY_TABLE``) to be ``table\u003d2`` and install our"},{"line_number":213,"context_line":"tap rules in ``table\u003d1``."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"In new ``table\u003d1`` we will add the following rules:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":" ::"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"3a71b18c_53a86977","line":215,"in_reply_to":"3a71b18c_93ef611d","updated":"2016-12-20 10:30:18.000000000","message":"Done","commit_id":"6be2cf7bb0662ba19e334972852e3f7d0fe1130d"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"41f7d72edba397892d977079f18b66fc85702a6c","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    position_enum \u003d [\u0027VNIC\u0027, \u0027PORT\u0027]"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"VNIC specify that the packet should be intercepted close to VM,"},{"line_number":118,"context_line":"while PORT specifies that packet should be intercepted on the network"},{"line_number":119,"context_line":"level."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_3e6317de","line":117,"range":{"start_line":117,"start_character":5,"end_line":117,"end_character":12},"updated":"2016-12-13 15:03:38.000000000","message":"specifies?","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ab531451ddee8956017e9ddf38770ebdb03691c1","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    position_enum \u003d [\u0027VNIC\u0027, \u0027PORT\u0027]"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"VNIC specify that the packet should be intercepted close to VM,"},{"line_number":118,"context_line":"while PORT specifies that packet should be intercepted on the network"},{"line_number":119,"context_line":"level."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_bc93e0ff","line":117,"range":{"start_line":117,"start_character":5,"end_line":117,"end_character":12},"in_reply_to":"1a6eadb0_3e6317de","updated":"2016-12-18 14:49:46.000000000","message":"Done","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"79576d91f9fb17fe1789710f8280ef7e5b3825fe","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Packet mirroring"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_65ec922a","line":180,"range":{"start_line":180,"start_character":28,"end_line":180,"end_character":51},"updated":"2016-12-16 01:48:33.000000000","message":"allocate_tenant_segment is part of type driver in ml2, which has not been exposed. I don\u0027t think it will be easy to use it. Will comment more in below.","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"41f7d72edba397892d977079f18b66fc85702a6c","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":" ::"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    Filter1:in_port\u003d6 Actions:resubmit(,2),"},{"line_number":223,"context_line":"      $DEST_TUN_ID-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":224,"context_line":"    Filter2:any Actions: goto_table\u003d2"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_d2aa17d4","line":222,"range":{"start_line":222,"start_character":19,"end_line":222,"end_character":20},"updated":"2016-12-13 15:03:38.000000000","message":"you use : below, so uniform:)","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"41f7d72edba397892d977079f18b66fc85702a6c","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":" ::"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    Filter1:in_port\u003d6 Actions:resubmit(,2),"},{"line_number":223,"context_line":"      $DEST_TUN_ID-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":224,"context_line":"    Filter2:any Actions: goto_table\u003d2"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"In case, the source port traffic should be mirrored to multiple `TapService`:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_72d30339","line":223,"range":{"start_line":222,"start_character":4,"end_line":223,"end_character":52},"updated":"2016-12-13 15:03:38.000000000","message":"Use resubmit instead of goto_table to uniform flow entry format","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ab531451ddee8956017e9ddf38770ebdb03691c1","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":" ::"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    Filter1:in_port\u003d6 Actions:resubmit(,2),"},{"line_number":223,"context_line":"      $DEST_TUN_ID-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":224,"context_line":"    Filter2:any Actions: goto_table\u003d2"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"In case, the source port traffic should be mirrored to multiple `TapService`:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_fc9d580b","line":223,"range":{"start_line":222,"start_character":4,"end_line":223,"end_character":52},"in_reply_to":"1a6eadb0_72d30339","updated":"2016-12-18 14:49:46.000000000","message":"Done","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"41f7d72edba397892d977079f18b66fc85702a6c","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"  ::"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":249,"context_line":"      $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"In case the source port traffic should be mirrored to multiple `TapService`:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_52d9a720","line":248,"range":{"start_line":248,"start_character":39,"end_line":248,"end_character":41},"updated":"2016-12-13 15:03:38.000000000","message":"the rule is installed in table 9, right? And you move all flow in old table9 into table10, so why resubmit table11??","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"f55bfe27f2eddbf5c11778a1cdf3557a6442fdf9","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"  ::"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":249,"context_line":"      $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"In case the source port traffic should be mirrored to multiple `TapService`:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"da4df55a_cdc5265c","line":248,"range":{"start_line":248,"start_character":39,"end_line":248,"end_character":41},"in_reply_to":"1a6eadb0_52d9a720","updated":"2016-12-22 11:40:54.000000000","message":"done","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"79576d91f9fb17fe1789710f8280ef7e5b3825fe","unresolved":false,"context_lines":[{"line_number":319,"context_line":""},{"line_number":320,"context_line":"  ::"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    Filter:tun_id\u003d$DEST_TUN_ID1 Actions\u003dset_field:0x1-\u003emetadata,goto_table:TAP_FORWARDING"},{"line_number":323,"context_line":"    Filter:tun_id\u003d$DEST_TUN_ID2 Actions\u003dset_field:0x1-\u003emetadata,goto_table:TAP_FORWARDING"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Database Changes"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_1a589955","line":322,"range":{"start_line":322,"start_character":40,"end_line":322,"end_character":63},"updated":"2016-12-16 01:48:33.000000000","message":"Is this still the local_network_id of lswitch? I guess the DEST_TUN_ID will be unique to each TapService, so is it still needed to specify the metadata for the packet?","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"dba051105792c99ac3203d0efa71bed58d7c29ed","unresolved":false,"context_lines":[{"line_number":319,"context_line":""},{"line_number":320,"context_line":"  ::"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    Filter:tun_id\u003d$DEST_TUN_ID1 Actions\u003dset_field:0x1-\u003emetadata,goto_table:TAP_FORWARDING"},{"line_number":323,"context_line":"    Filter:tun_id\u003d$DEST_TUN_ID2 Actions\u003dset_field:0x1-\u003emetadata,goto_table:TAP_FORWARDING"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Database Changes"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_22967e94","line":322,"range":{"start_line":322,"start_character":40,"end_line":322,"end_character":63},"in_reply_to":"1a6eadb0_1a589955","updated":"2016-12-20 10:30:24.000000000","message":"You are right, it is not required.","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"79576d91f9fb17fe1789710f8280ef7e5b3825fe","unresolved":false,"context_lines":[{"line_number":337,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":338,"context_line":"  |   port_id          |   port id of the destination VM             |"},{"line_number":339,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":340,"context_line":"  |   segmentation_id  |   overlay network distinguishing tunnel id  |"},{"line_number":341,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"The following fields were omitted here:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_c5df2638","line":340,"range":{"start_line":340,"start_character":6,"end_line":340,"end_character":68},"updated":"2016-12-16 01:48:33.000000000","message":"If you are going to use tunnel id in the overlay network, here comes the problem about how to not conflict with tenant network tunnel id. I have a proposal based on my recent work [1]. We can create a dedicated virtual tunnel port at each CN for tapaas. So that when the mirroring needs to go over multiple CNs, it has its own tunnel id namespace. And we can manage the tunnel id in df\u0027s own nb db.\n\n[1] https://blueprints.launchpad.net/openstack/?searchtext\u003dvirtual-tunnel-port-support","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ab531451ddee8956017e9ddf38770ebdb03691c1","unresolved":false,"context_lines":[{"line_number":337,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":338,"context_line":"  |   port_id          |   port id of the destination VM             |"},{"line_number":339,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":340,"context_line":"  |   segmentation_id  |   overlay network distinguishing tunnel id  |"},{"line_number":341,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"The following fields were omitted here:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_9c02a40a","line":340,"range":{"start_line":340,"start_character":6,"end_line":340,"end_character":68},"in_reply_to":"1a6eadb0_80535c16","updated":"2016-12-18 14:49:46.000000000","message":"Hello. I this I understand your point. I think we will require at least on special tunnel for each tenant (at least from security point of view).\n\nLets discuss this at tomorrow meeting.","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"507adb24a208658a68ab6287a2b4aa05b81fd787","unresolved":false,"context_lines":[{"line_number":337,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":338,"context_line":"  |   port_id          |   port id of the destination VM             |"},{"line_number":339,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":340,"context_line":"  |   segmentation_id  |   overlay network distinguishing tunnel id  |"},{"line_number":341,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"The following fields were omitted here:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_2076083e","line":340,"range":{"start_line":340,"start_character":6,"end_line":340,"end_character":68},"in_reply_to":"1a6eadb0_80535c16","updated":"2016-12-16 02:17:12.000000000","message":"s/alone/along","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ea309172c180d6a0d64112dbbc4cc154f2b5c62d","unresolved":false,"context_lines":[{"line_number":337,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":338,"context_line":"  |   port_id          |   port id of the destination VM             |"},{"line_number":339,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":340,"context_line":"  |   segmentation_id  |   overlay network distinguishing tunnel id  |"},{"line_number":341,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"The following fields were omitted here:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_80535c16","line":340,"range":{"start_line":340,"start_character":6,"end_line":340,"end_character":68},"in_reply_to":"1a6eadb0_c5df2638","updated":"2016-12-16 02:07:16.000000000","message":"I meant, for the mirrored packet, we won\u0027t expect it come back to the source(right?). So we can make the dedicated tunnel port a bit special, for example, we can set the tun_src_ip to a special ip address, or even a special hostname. So that the packet can be identified alone with tenant network packet.","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"79576d91f9fb17fe1789710f8280ef7e5b3825fe","unresolved":false,"context_lines":[{"line_number":369,"context_line":" * ``name``"},{"line_number":370,"context_line":" * ``description``"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"List of relevant OpenFlow tables"},{"line_number":373,"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"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"::"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"  INGRESS_CLASSIFICATION_DISPATCH_TABLE \u003d 0"},{"line_number":378,"context_line":"  EGRESS_PORT_SECURITY_TABLE \u003d 1"},{"line_number":379,"context_line":"  SERVICES_CLASSIFICATION_TABLE \u003d 9"},{"line_number":380,"context_line":"  INGRESS_SECURITY_GROUP_TABLE \u003d 77"},{"line_number":381,"context_line":"  INGRESS_DISPATCH_TABLE \u003d 78"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"References"},{"line_number":384,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_e598a27a","line":381,"range":{"start_line":372,"start_character":0,"end_line":381,"end_character":29},"updated":"2016-12-16 01:48:33.000000000","message":"I think more tables will be affected, (for example, you move table 9 to table 10, table 10, 11 will have to be moved too.)\n\nI think it would be a good time to re-allocate the whole table id, so we can have much rooms for future features.","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"ab531451ddee8956017e9ddf38770ebdb03691c1","unresolved":false,"context_lines":[{"line_number":369,"context_line":" * ``name``"},{"line_number":370,"context_line":" * ``description``"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"List of relevant OpenFlow tables"},{"line_number":373,"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"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"::"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"  INGRESS_CLASSIFICATION_DISPATCH_TABLE \u003d 0"},{"line_number":378,"context_line":"  EGRESS_PORT_SECURITY_TABLE \u003d 1"},{"line_number":379,"context_line":"  SERVICES_CLASSIFICATION_TABLE \u003d 9"},{"line_number":380,"context_line":"  INGRESS_SECURITY_GROUP_TABLE \u003d 77"},{"line_number":381,"context_line":"  INGRESS_DISPATCH_TABLE \u003d 78"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"References"},{"line_number":384,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a6eadb0_fcb47883","line":381,"range":{"start_line":372,"start_character":0,"end_line":381,"end_character":29},"in_reply_to":"1a6eadb0_e598a27a","updated":"2016-12-18 14:49:46.000000000","message":"You are right, I talked with Omer about this.","commit_id":"7e1b666ce6589cf9cf905321d3137b05038be07a"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"a8afb74d0650e57518bb54bae3d7212027ddd72f","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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"},{"line_number":8,"context_line":"TAP as a Service (TAPaaS)"},{"line_number":9,"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"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a6eadb0_8b9ed861","line":7,"range":{"start_line":7,"start_character":23,"end_line":7,"end_character":25},"updated":"2016-12-19 02:01:08.000000000","message":"format?","commit_id":"5b362a25b929bd462fff306c420ed257fc2757c5"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"a8afb74d0650e57518bb54bae3d7212027ddd72f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"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"},{"line_number":8,"context_line":"TAP as a Service (TAPaaS)"},{"line_number":9,"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a6eadb0_cb861016","line":9,"range":{"start_line":9,"start_character":23,"end_line":9,"end_character":25},"updated":"2016-12-19 02:01:08.000000000","message":"ditto.","commit_id":"5b362a25b929bd462fff306c420ed257fc2757c5"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"a8afb74d0650e57518bb54bae3d7212027ddd72f","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem Description"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Performing network protocol review, checking firewall rules and / or"},{"line_number":16,"context_line":"performing network security audit is part of the daily job of the system"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a6eadb0_4b7be029","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":19},"updated":"2016-12-19 02:01:08.000000000","message":"second-level title?","commit_id":"5b362a25b929bd462fff306c420ed257fc2757c5"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"28adbfd93e7ef241228b91af673fe1fcca6a3ccb","unresolved":false,"context_lines":[{"line_number":319,"context_line":""},{"line_number":320,"context_line":"  ::"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    Filter:tun_id\u003d$DEST_TUN_ID1 Actions:set_field:0x1-\u003emetadata,goto_table:TAP_FORWARDING"},{"line_number":323,"context_line":"    Filter:tun_id\u003d$DEST_TUN_ID2 Actions:set_field:0x1-\u003emetadata,goto_table:TAP_FORWARDING"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Database Changes"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a6eadb0_75a95b24","line":322,"range":{"start_line":322,"start_character":40,"end_line":322,"end_character":63},"updated":"2016-12-18 23:06:42.000000000","message":"What is the metadata for? Is it necessary?","commit_id":"5b362a25b929bd462fff306c420ed257fc2757c5"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"a8afb74d0650e57518bb54bae3d7212027ddd72f","unresolved":false,"context_lines":[{"line_number":337,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":338,"context_line":"  |   port_id          |   port id of the destination VM             |"},{"line_number":339,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":340,"context_line":"  |   segmentation_id  |   overlay network distinguishing tunnel id  |"},{"line_number":341,"context_line":"  +--------------------+---------------------------------------------+"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"The following fields were omitted here:"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a6eadb0_2b8784d8","line":340,"range":{"start_line":340,"start_character":6,"end_line":340,"end_character":67},"updated":"2016-12-19 02:01:08.000000000","message":"followed by the last comment of Honghui, I remembered that there was a discussion when designing tapaas that we could assign a dedicated tunnel id in the packet encapsulation for tapaas traffic in order to distinguish the traffic along the way. As a result, we can easily identify the traffic and do QoS in the underlay. This idea was come out because it was reported that mirrored traffic really affected the production environment and we couldn\u0027t differ them from the normal traffic. So finally end-users disabled this tapaas feature.","commit_id":"5b362a25b929bd462fff306c420ed257fc2757c5"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"fc1d11d1955efd1558592af484bdb7b20b74048c","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Packet mirroring"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1a6eadb0_650ccdec","line":180,"range":{"start_line":180,"start_character":56,"end_line":180,"end_character":81},"updated":"2016-12-21 09:12:11.000000000","message":"Do you mean it will be responsibility of the ml2? I think its part of the logic of the TapService. when segment is created, it should be associated with network, what would be used in the Tap case? Another question is if the segmentation_ids should be from the common pool for the network and Tap services. I think its better be separate","commit_id":"9d0920b47c073bb4a855a0dcb85c04b6191384e0"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"e5fca11d5839f0d11940bd25a396e206fec5ad4d","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The same mechanism used to allocate unique id for each network should be used here."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"It can be done by calling ``allocate_tenant_segment()`` as part of the ml2 plugin."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Packet mirroring"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1a6eadb0_4bc0e42a","line":180,"range":{"start_line":180,"start_character":28,"end_line":180,"end_character":51},"updated":"2016-12-20 16:04:53.000000000","message":"In the meeting we have discussed that this API is open to external clients.","commit_id":"9d0920b47c073bb4a855a0dcb85c04b6191384e0"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"f54a7b6d041d181618592d3a6f6b3bc25b7cf5da","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"  ::"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":256,"context_line":"      $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING,"},{"line_number":257,"context_line":"      $DEST_TUN_ID2-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"da4df55a_90a41658","line":255,"range":{"start_line":255,"start_character":39,"end_line":255,"end_character":41},"updated":"2016-12-22 12:32:07.000000000","message":"here?","commit_id":"f5fe81a6881190f1756fc11b9c90d8b6d246cf4b"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"a65d807ecde7a92f452edcdb6e88deca7e73a6c7","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"  ::"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    Filter:in_port:6 Actions:resubmit(,11),"},{"line_number":256,"context_line":"      $DEST_TUN_ID1-\u003etun_id,goto_table:TAP_FORWARDING,"},{"line_number":257,"context_line":"      $DEST_TUN_ID2-\u003etun_id,goto_table:TAP_FORWARDING"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"da4df55a_16e45039","line":255,"range":{"start_line":255,"start_character":39,"end_line":255,"end_character":41},"in_reply_to":"da4df55a_90a41658","updated":"2016-12-25 09:18:47.000000000","message":"Done","commit_id":"f5fe81a6881190f1756fc11b9c90d8b6d246cf4b"}],"doc/source/tap_service.rst":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"2c3557b33a35667bedd8397ae86d74b50830854f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Devstack tap as a service"},{"line_number":2,"context_line":"-------------------------"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Tap device is intended for the tenant admin to perform network tracing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a629dbe_b80b3523","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":25},"updated":"2016-11-10 19:57:46.000000000","message":"Please see doc/source/specs/template.rst for format","commit_id":"20a917b71449a9810a68e73ef527882ca20243d2"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"2c3557b33a35667bedd8397ae86d74b50830854f","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"1. Tap on the output"},{"line_number":72,"context_line":"--------------------"},{"line_number":73,"context_line":"We want to intercept packets coming out from the VM as close to the"},{"line_number":74,"context_line":"source. Packets arriving from VM are landed in table 0 "},{"line_number":75,"context_line":"(INGRESS_CLASSIFICATION_DISPATCH_TABLE). After marking packet with"},{"line_number":76,"context_line":"(set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata) packet is transmitted"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a629dbe_f83f6db1","line":73,"range":{"start_line":73,"start_character":48,"end_line":73,"end_character":55},"updated":"2016-11-10 19:57:46.000000000","message":"Tap-as-a-service documentation does not restrict tapping just VM ports, we should consider gow to intercept traffic on router ports as well","commit_id":"20a917b71449a9810a68e73ef527882ca20243d2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c06b969cdd71c8d793e8bc3f500ef2d9f688b1c9","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"1. Tap on the output"},{"line_number":72,"context_line":"--------------------"},{"line_number":73,"context_line":"We want to intercept packets coming out from the VM as close to the"},{"line_number":74,"context_line":"source. Packets arriving from VM are landed in table 0 "},{"line_number":75,"context_line":"(INGRESS_CLASSIFICATION_DISPATCH_TABLE). After marking packet with"},{"line_number":76,"context_line":"(set_field:0x8-\u003ereg6,set_field:0x1-\u003emetadata) packet is transmitted"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a629dbe_5815b999","line":73,"range":{"start_line":73,"start_character":48,"end_line":73,"end_character":55},"in_reply_to":"9a629dbe_f83f6db1","updated":"2016-11-10 20:10:25.000000000","message":"Yes. We need handling of all virtual ports, including Router ports, DHCP, and any other virtual port supported by Dragonflow.","commit_id":"20a917b71449a9810a68e73ef527882ca20243d2"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"2c3557b33a35667bedd8397ae86d74b50830854f","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"In table\u003d1 we will add the following rules:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  Filter1:in_port\u003d6 Actions:output(5), goto_table:1"},{"line_number":89,"context_line":"  Filter2:any Actions: goto_table\u003d2"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a629dbe_7569a8f8","line":88,"range":{"start_line":88,"start_character":1,"end_line":88,"end_character":51},"updated":"2016-11-10 19:57:46.000000000","message":"this creates a cycle as we will match on this rule again","commit_id":"20a917b71449a9810a68e73ef527882ca20243d2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c06b969cdd71c8d793e8bc3f500ef2d9f688b1c9","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"In table\u003d1 we will add the following rules:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  Filter1:in_port\u003d6 Actions:output(5), goto_table:1"},{"line_number":89,"context_line":"  Filter2:any Actions: goto_table\u003d2"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a629dbe_b885f5cf","line":88,"range":{"start_line":88,"start_character":1,"end_line":88,"end_character":51},"in_reply_to":"9a629dbe_7569a8f8","updated":"2016-11-10 20:10:25.000000000","message":"@Dima, note that this outputs directly to the VM port, and is no longer handled by the pipeline, so no cycles will be created.\n\nAs stated below, this does not cover cases where the TAP destination port is on a different compute node.","commit_id":"20a917b71449a9810a68e73ef527882ca20243d2"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"2c3557b33a35667bedd8397ae86d74b50830854f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"TODO:"},{"line_number":115,"context_line":"-----"},{"line_number":116,"context_line":"1. VM on different computer nodes"},{"line_number":117,"context_line":"2. Tap of the tap (TapFlow of the TapService)."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"List of relevant openflow tables"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a629dbe_18bee1fe","line":117,"range":{"start_line":117,"start_character":3,"end_line":117,"end_character":46},"updated":"2016-11-10 19:57:46.000000000","message":"This could create in some cases a loop, maybe we each time we add a tap flow, we can run a cycle detection logic","commit_id":"20a917b71449a9810a68e73ef527882ca20243d2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c06b969cdd71c8d793e8bc3f500ef2d9f688b1c9","unresolved":false,"context_lines":[{"line_number":114,"context_line":"TODO:"},{"line_number":115,"context_line":"-----"},{"line_number":116,"context_line":"1. VM on different computer nodes"},{"line_number":117,"context_line":"2. Tap of the tap (TapFlow of the TapService)."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"List of relevant openflow tables"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a629dbe_98591191","line":117,"range":{"start_line":117,"start_character":3,"end_line":117,"end_character":46},"in_reply_to":"9a629dbe_18bee1fe","updated":"2016-11-10 20:10:25.000000000","message":"+1.","commit_id":"20a917b71449a9810a68e73ef527882ca20243d2"}]}
