)]}'
{"API_REFERENCE.rst":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"0b7b109e_ab494bc8","line":174,"range":{"start_line":174,"start_character":252,"end_line":174,"end_character":278},"updated":"2024-07-09 19:02:03.000000000","message":"\"the value is the tunnel ID\"\n\nI don\u0027t understand where this value is passed","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"4389f1be_34cf27db","line":174,"range":{"start_line":174,"start_character":216,"end_line":174,"end_character":250},"updated":"2024-07-09 19:02:03.000000000","message":"The \u0027tap flow create\u0027 example above is a little cleaner, if this works:\n\n\u003cDirection of the tap mirror. Possible options are: IN, OUT\u003e","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5806f3c8_06abae53","line":174,"range":{"start_line":174,"start_character":172,"end_line":174,"end_character":180},"updated":"2024-07-09 19:02:03.000000000","message":"s/associate","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"372d2d05_3ec8ded9","line":174,"range":{"start_line":174,"start_character":204,"end_line":174,"end_character":214},"updated":"2024-07-09 19:02:03.000000000","message":"s/direction (?)","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"f5dfc2e7_b340c22b","line":174,"range":{"start_line":174,"start_character":190,"end_line":174,"end_character":200},"updated":"2024-07-09 19:02:03.000000000","message":"s/tap mirror (no _)","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"efba25fe14d70ba04bd9a1185c4d297347d6de0e","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"af6e8853_a299ed4d","line":174,"range":{"start_line":174,"start_character":252,"end_line":174,"end_character":278},"in_reply_to":"0b7b109e_ab494bc8","updated":"2024-08-07 11:57:31.000000000","message":"it is a dictionary like this:\n--directions IN\u003d102","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"efba25fe14d70ba04bd9a1185c4d297347d6de0e","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fb290743_a50a6483","line":174,"range":{"start_line":174,"start_character":204,"end_line":174,"end_character":214},"in_reply_to":"372d2d05_3ec8ded9","updated":"2024-08-07 11:57:31.000000000","message":"yeah, perhaps --direction can be better, and it an be repeated to mirror both directions.","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"efba25fe14d70ba04bd9a1185c4d297347d6de0e","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ea158e4b_2f1c4d5b","line":174,"range":{"start_line":174,"start_character":216,"end_line":174,"end_character":250},"in_reply_to":"4389f1be_34cf27db","updated":"2024-08-07 11:57:31.000000000","message":"Yes for the tap flows direction can be IN/OUT/BOTH, but for tap mirrors the direction is not enough, the tunnel ID also necessary to be unique (this comes from how OVS and OVN designed the mirroring)","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"efba25fe14d70ba04bd9a1185c4d297347d6de0e","unresolved":false,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"f7f51b04_3dc35cc8","line":174,"range":{"start_line":174,"start_character":172,"end_line":174,"end_character":180},"in_reply_to":"5806f3c8_06abae53","updated":"2024-08-07 11:57:31.000000000","message":"thanks, done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68c5d04f0039d7701a7a25b6f7c40cd8be3b87e5","unresolved":false,"context_lines":[{"line_number":171,"context_line":"Openstack CLI for tap mirrors"},{"line_number":172,"context_line":"-----------------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* Create tap mirror: **openstack tap mirror create** --name \u003cname of the tap mirror\u003e --description \u003cdescription for the tap mirror\u003e --port \u003cthe name or UUID of the port to assciate with the tap_mirror\u003e --directions \u003cdirection dict keys are IN and OUT, the value is the tunnel ID\u003e --remote-ip \u003cthe destination of the mirroring\u003e --mirror-type \u003ccan be gre or erspanv1\u003e"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ed421634_72a0323e","line":174,"range":{"start_line":174,"start_character":190,"end_line":174,"end_character":200},"in_reply_to":"f5dfc2e7_b340c22b","updated":"2024-08-07 11:58:24.000000000","message":"Done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Show tap mirrors: **openstack tap mirror show** \u003cName or Id of the tap mirror\u003e"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"* Delete tap mirror: **openstack tap mirror delete** \u003cName or Id of the tap mirror\u003e"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"e4519118_1720961e","line":178,"range":{"start_line":178,"start_character":59,"end_line":178,"end_character":61},"updated":"2024-07-09 19:02:03.000000000","message":"s/ID\n\nsame below","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68c5d04f0039d7701a7a25b6f7c40cd8be3b87e5","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* List tap mirrors: **openstack tap mirror list**"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Show tap mirrors: **openstack tap mirror show** \u003cName or Id of the tap mirror\u003e"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"* Delete tap mirror: **openstack tap mirror delete** \u003cName or Id of the tap mirror\u003e"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a0bffc6_aeae6435","line":178,"range":{"start_line":178,"start_character":59,"end_line":178,"end_character":61},"in_reply_to":"e4519118_1720961e","updated":"2024-08-07 11:58:24.000000000","message":"Done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"}],"devstack/README.rst":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8123bd280af5a5189d3f760624a55ae940fe8a65","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    TAAS_SERVICE_DRIVER\u003dTAAS:TAAS:neutron_taas.services.taas.service_drivers.taas_rpc.TaasRpcDriver:default"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To enable tap_mirror (mirroring via ERSPAN or GRE tunnels)::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    [[local|localrc]]"},{"line_number":16,"context_line":"    enable_plugin tap-as-a-service https://opendev.org/x/tap-as-a-service"}],"source_content_type":"text/x-rst","patch_set":14,"id":"8f7982e1_9cedb56a","line":13,"updated":"2025-02-05 15:41:19.000000000","message":"I would write something like \"To enable mirroring via ERSPAN or GRE tunnels\", without \"tap_mirror\" in the title - this is just name of the service plugin and I don\u0027t think it should be in the docs title really mentioned","commit_id":"446f70042c0fb0516179f555f3754769b39d4d0d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5bdc4725d72e4e7cc6a2b68427af0ecfb65d4cfa","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    TAAS_SERVICE_DRIVER\u003dTAAS:TAAS:neutron_taas.services.taas.service_drivers.taas_rpc.TaasRpcDriver:default"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To enable tap_mirror (mirroring via ERSPAN or GRE tunnels)::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    [[local|localrc]]"},{"line_number":16,"context_line":"    enable_plugin tap-as-a-service https://opendev.org/x/tap-as-a-service"}],"source_content_type":"text/x-rst","patch_set":14,"id":"e392d398_17c1e13b","line":13,"in_reply_to":"8f7982e1_9cedb56a","updated":"2025-02-07 15:48:34.000000000","message":"thanks","commit_id":"446f70042c0fb0516179f555f3754769b39d4d0d"}],"doc/source/tap_mirrors_under_the_hood.rst":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":52,"context_line":" $ openstack network create net0"},{"line_number":53,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":54,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":55,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImag name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":56,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip \u003cdestination IP\u003e --mirror-type erspanv1"},{"line_number":57,"context_line":" +-------------+--------------------------------------+"},{"line_number":58,"context_line":" | Field       | Value                                |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"44ec744e_f3765cd3","line":55,"range":{"start_line":55,"start_character":57,"end_line":55,"end_character":61},"updated":"2024-07-09 19:02:03.000000000","message":"s/Image","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68c5d04f0039d7701a7a25b6f7c40cd8be3b87e5","unresolved":false,"context_lines":[{"line_number":52,"context_line":" $ openstack network create net0"},{"line_number":53,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":54,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":55,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImag name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":56,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip \u003cdestination IP\u003e --mirror-type erspanv1"},{"line_number":57,"context_line":" +-------------+--------------------------------------+"},{"line_number":58,"context_line":" | Field       | Value                                |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"961a3f57_ef6cfa17","line":55,"range":{"start_line":55,"start_character":57,"end_line":55,"end_character":61},"in_reply_to":"44ec744e_f3765cd3","updated":"2024-08-07 11:58:24.000000000","message":"Done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":53,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":54,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":55,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImag name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":56,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip \u003cdestination IP\u003e --mirror-type erspanv1"},{"line_number":57,"context_line":" +-------------+--------------------------------------+"},{"line_number":58,"context_line":" | Field       | Value                                |"},{"line_number":59,"context_line":" +-------------+--------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"c594c197_9a3f683f","line":56,"range":{"start_line":56,"start_character":65,"end_line":56,"end_character":84},"updated":"2024-07-09 19:02:03.000000000","message":"Oh, now the value makes sense, it just wasn\u0027t clear in the other file. And I guess it is \u0027directions\u0027, does that mean you can specify both IN and OUT?","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"efba25fe14d70ba04bd9a1185c4d297347d6de0e","unresolved":true,"context_lines":[{"line_number":53,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":54,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":55,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImag name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":56,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip \u003cdestination IP\u003e --mirror-type erspanv1"},{"line_number":57,"context_line":" +-------------+--------------------------------------+"},{"line_number":58,"context_line":" | Field       | Value                                |"},{"line_number":59,"context_line":" +-------------+--------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"2675c737_bfce9187","line":56,"range":{"start_line":56,"start_character":65,"end_line":56,"end_character":84},"in_reply_to":"c594c197_9a3f683f","updated":"2024-08-07 11:57:31.000000000","message":"yes, directions can be repeated for both directions, but due to how OVS and OVN works the tunnel ID must be different:\n--directions IN\u003d101 --directions OUT\u003d102\n\nI am not sure if --direction or --directions is the good name in this case","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":64,"context_line":" | name        | mirror1                              |"},{"line_number":65,"context_line":" | port_id     | 88316ec8-38ca-4115-912a-3d7fab2d6cf7 |"},{"line_number":66,"context_line":" | project_id  | fe7c0b79c37b439490d2274405ebf483     |"},{"line_number":67,"context_line":" | remote_ip   | 100.109.0.221                        |"},{"line_number":68,"context_line":" +-------------+--------------------------------------+"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The result of the above commands will result in a new port on ``br-tap``:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"84489845_7ed223e0","line":67,"range":{"start_line":67,"start_character":17,"end_line":67,"end_character":30},"updated":"2024-07-09 19:02:03.000000000","message":"I guess you should use this in example above","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68c5d04f0039d7701a7a25b6f7c40cd8be3b87e5","unresolved":false,"context_lines":[{"line_number":64,"context_line":" | name        | mirror1                              |"},{"line_number":65,"context_line":" | port_id     | 88316ec8-38ca-4115-912a-3d7fab2d6cf7 |"},{"line_number":66,"context_line":" | project_id  | fe7c0b79c37b439490d2274405ebf483     |"},{"line_number":67,"context_line":" | remote_ip   | 100.109.0.221                        |"},{"line_number":68,"context_line":" +-------------+--------------------------------------+"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The result of the above commands will result in a new port on ``br-tap``:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"baf6f5ad_74e30148","line":67,"range":{"start_line":67,"start_character":17,"end_line":67,"end_character":30},"in_reply_to":"84489845_7ed223e0","updated":"2024-08-07 11:58:24.000000000","message":"Done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":154,"context_line":" $ openstack network create net0"},{"line_number":155,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":156,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":157,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImag name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":158,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip \u003cdestination IP\u003e --mirror-type erspanv1"},{"line_number":159,"context_line":" +-------------+--------------------------------------+"},{"line_number":160,"context_line":" | Field       | Value                                |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"8661b5e1_28342194","line":157,"range":{"start_line":157,"start_character":57,"end_line":157,"end_character":61},"updated":"2024-07-09 19:02:03.000000000","message":"s/Image","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68c5d04f0039d7701a7a25b6f7c40cd8be3b87e5","unresolved":false,"context_lines":[{"line_number":154,"context_line":" $ openstack network create net0"},{"line_number":155,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":156,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":157,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImag name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":158,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip \u003cdestination IP\u003e --mirror-type erspanv1"},{"line_number":159,"context_line":" +-------------+--------------------------------------+"},{"line_number":160,"context_line":" | Field       | Value                                |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bf74a464_456f08e1","line":157,"range":{"start_line":157,"start_character":57,"end_line":157,"end_character":61},"in_reply_to":"8661b5e1_28342194","updated":"2024-08-07 11:58:24.000000000","message":"Done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":166,"context_line":" | name        | mirror1                              |"},{"line_number":167,"context_line":" | port_id     | 88316ec8-38ca-4115-912a-3d7fab2d6cf7 |"},{"line_number":168,"context_line":" | project_id  | fe7c0b79c37b439490d2274405ebf483     |"},{"line_number":169,"context_line":" | remote_ip   | 100.109.0.221                        |"},{"line_number":170,"context_line":" +-------------+--------------------------------------+"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"The result of the above commands will result a new mirror in the ovn nbdb:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"cf751f16_0676d7d7","line":169,"range":{"start_line":169,"start_character":17,"end_line":169,"end_character":30},"updated":"2024-07-09 19:02:03.000000000","message":"Same comment as above","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68c5d04f0039d7701a7a25b6f7c40cd8be3b87e5","unresolved":false,"context_lines":[{"line_number":166,"context_line":" | name        | mirror1                              |"},{"line_number":167,"context_line":" | port_id     | 88316ec8-38ca-4115-912a-3d7fab2d6cf7 |"},{"line_number":168,"context_line":" | project_id  | fe7c0b79c37b439490d2274405ebf483     |"},{"line_number":169,"context_line":" | remote_ip   | 100.109.0.221                        |"},{"line_number":170,"context_line":" +-------------+--------------------------------------+"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"The result of the above commands will result a new mirror in the ovn nbdb:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"62c1c83e_26408f7c","line":169,"range":{"start_line":169,"start_character":17,"end_line":169,"end_character":30},"in_reply_to":"cf751f16_0676d7d7","updated":"2024-08-07 11:58:24.000000000","message":"Done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5a8c78a327cbf050e7ff770686b943f515f9c37","unresolved":true,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Note the \"translation\" of the parameters."},{"line_number":184,"context_line":"Directions IN\u003d102 will Filter\u003dto-lport, and Index/Key:102."},{"line_number":185,"context_line":"(OUT direction of course will be from-lport in ovn nbdb)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"And of course the port will appear on the integration bridge also:"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ed138449_8f901c57","line":185,"range":{"start_line":185,"start_character":47,"end_line":185,"end_character":55},"updated":"2024-07-09 19:02:03.000000000","message":"s/OVN NBDB (or spell out northbound database)","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68c5d04f0039d7701a7a25b6f7c40cd8be3b87e5","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Note the \"translation\" of the parameters."},{"line_number":184,"context_line":"Directions IN\u003d102 will Filter\u003dto-lport, and Index/Key:102."},{"line_number":185,"context_line":"(OUT direction of course will be from-lport in ovn nbdb)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"And of course the port will appear on the integration bridge also:"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"39e8205c_ba4f1fa3","line":185,"range":{"start_line":185,"start_character":47,"end_line":185,"end_character":55},"in_reply_to":"ed138449_8f901c57","updated":"2024-08-07 11:58:24.000000000","message":"Done","commit_id":"f4623d850f7b706697f3af4bcb517be4aed02c45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3ef1c4b47afc1b14f966db361ca185ba2ba81d07","unresolved":true,"context_lines":[{"line_number":33,"context_line":" $ # options:erspan_ver\u003d1 or 2 selects the version of ERSPAN."},{"line_number":34,"context_line":" $ # Note that tap mirroring uses erspan_ver\u003d1"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"To create a tap mirror with the OVN driver you have to enable ``TaasRpcDriver`` in the"},{"line_number":37,"context_line":"``taas_plugin.ini`` configuration file:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7fa872ca_fc6623cc","line":36,"range":{"start_line":36,"start_character":32,"end_line":36,"end_character":35},"updated":"2025-02-12 15:02:46.000000000","message":"s/OVS","commit_id":"fe3ff83ada6eab98c0a64c861c46c3a7b1e1cb97"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3ef1c4b47afc1b14f966db361ca185ba2ba81d07","unresolved":true,"context_lines":[{"line_number":52,"context_line":" $ openstack network create net0"},{"line_number":53,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":54,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":55,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImage name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":56,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip 100.109.0.221 --mirror-type erspanv1"},{"line_number":57,"context_line":" +-------------+--------------------------------------+"},{"line_number":58,"context_line":" | Field       | Value                                |"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ac48f21e_bfea278d","line":55,"range":{"start_line":55,"start_character":74,"end_line":55,"end_character":76},"updated":"2025-02-12 15:02:46.000000000","message":"super nit: extra space, if you respin","commit_id":"fe3ff83ada6eab98c0a64c861c46c3a7b1e1cb97"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3ef1c4b47afc1b14f966db361ca185ba2ba81d07","unresolved":true,"context_lines":[{"line_number":134,"context_line":".. code-block:: console"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":" $ ovn-nbctl mirror-add mirror1 erspan 0 from-lport 100.109.0.48"},{"line_number":137,"context_line":" $ # tpye (2nd parameter after name) can be erspan or gre or local (from a later version)"},{"line_number":138,"context_line":" $ # index (3rd parameter) is the tunnel id and the base of ERSPAN idx"},{"line_number":139,"context_line":" $ # filter (4th parameter) can be from-lport, to-lport or both (from a later version)"},{"line_number":140,"context_line":" $ # sink (5th parameter) is the remote IP of the mirroring."}],"source_content_type":"text/x-rst","patch_set":16,"id":"14c82094_b67dc506","line":137,"range":{"start_line":137,"start_character":5,"end_line":137,"end_character":9},"updated":"2025-02-12 15:02:46.000000000","message":"s/type","commit_id":"fe3ff83ada6eab98c0a64c861c46c3a7b1e1cb97"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3ef1c4b47afc1b14f966db361ca185ba2ba81d07","unresolved":true,"context_lines":[{"line_number":154,"context_line":" $ openstack network create net0"},{"line_number":155,"context_line":" $ openstack subnet create subnet0 --subnet-range \u003cCIDR of the subnet\u003e --network net0"},{"line_number":156,"context_line":" $ openstack port create mirror_port --network net0"},{"line_number":157,"context_line":" $ openstack server create --flavor \u003cflavor ID\u003e --image \u003cImage name or ID\u003e  --nic port-id\u003dmirror_port  mirror_vm0"},{"line_number":158,"context_line":" $ openstack tap mirror create --port mirror_port --name mirror1 --directions IN\u003d102 --remote-ip 100.109.0.221 --mirror-type erspanv1"},{"line_number":159,"context_line":" +-------------+--------------------------------------+"},{"line_number":160,"context_line":" | Field       | Value                                |"}],"source_content_type":"text/x-rst","patch_set":16,"id":"8ecffb93_ea79c137","line":157,"range":{"start_line":157,"start_character":74,"end_line":157,"end_character":76},"updated":"2025-02-12 15:02:46.000000000","message":"same double space","commit_id":"fe3ff83ada6eab98c0a64c861c46c3a7b1e1cb97"}],"doc/source/usage.rst":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8123bd280af5a5189d3f760624a55ae940fe8a65","unresolved":true,"context_lines":[{"line_number":37,"context_line":" $ openstack server create --flavor d1 --image \u003cubuntu or similar OS to check the mirroring with tcpdump for example\u003e --nic port-id\u003dmonitor_port monitor_vm --key-name mykey"},{"line_number":38,"context_line":" $ openstack server add floating ip monitor_vm  100.109.0.221"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"2. Create another Neutron port (the source of the mirroring."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. code-block:: console"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"85e72ac5_60195d0e","line":40,"updated":"2025-02-05 15:41:19.000000000","message":"missing closing parenthesis (or opening one is not needed)","commit_id":"446f70042c0fb0516179f555f3754769b39d4d0d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5bdc4725d72e4e7cc6a2b68427af0ecfb65d4cfa","unresolved":false,"context_lines":[{"line_number":37,"context_line":" $ openstack server create --flavor d1 --image \u003cubuntu or similar OS to check the mirroring with tcpdump for example\u003e --nic port-id\u003dmonitor_port monitor_vm --key-name mykey"},{"line_number":38,"context_line":" $ openstack server add floating ip monitor_vm  100.109.0.221"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"2. Create another Neutron port (the source of the mirroring."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. code-block:: console"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"61348e00_042345e6","line":40,"in_reply_to":"85e72ac5_60195d0e","updated":"2025-02-07 15:48:34.000000000","message":"Done","commit_id":"446f70042c0fb0516179f555f3754769b39d4d0d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3ef1c4b47afc1b14f966db361ca185ba2ba81d07","unresolved":true,"context_lines":[{"line_number":82,"context_line":" $ openstack subnet create monitor_subnet --subnet-range 192.171.0.0/27 --network monitor_net"},{"line_number":83,"context_line":" $ openstack port create vxlan_monitor_port --network monitor_net --disable-port-security --no-security-group"},{"line_number":84,"context_line":" $ openstack server create --flavor d1 --image \u003cubuntu or similar OS to check the mirroring with tcpdump for example\u003e --nic port-id\u003dmonitor_port monitor_vm --key-name mykey"},{"line_number":85,"context_line":" $ openstack server add floating ip monitor_vm  100.109.0.221"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"2. Create another Neutron port (the source of the mirroring)."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"34e0656c_20c89361","line":85,"range":{"start_line":85,"start_character":46,"end_line":85,"end_character":48},"updated":"2025-02-12 15:02:46.000000000","message":"double space\n\nAlternatively could use the neutron commands, but as long as this works...","commit_id":"fe3ff83ada6eab98c0a64c861c46c3a7b1e1cb97"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3ef1c4b47afc1b14f966db361ca185ba2ba81d07","unresolved":true,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":".. code-block:: console"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":" $ openstack server create --security-group \u003cpingable and loginable security-group\u003e --flavor c1 --image cirros-0.6.2-x86_64-disk  --nic port-id\u003dmirror_port mirror_vm"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"4. Create a tap mirror with the source port Id as the port field and"},{"line_number":102,"context_line":"   the FIP or the IP of the remote host as the remote_ip field of the"}],"source_content_type":"text/x-rst","patch_set":16,"id":"4551944e_533afc63","line":99,"range":{"start_line":99,"start_character":128,"end_line":99,"end_character":130},"updated":"2025-02-12 15:02:46.000000000","message":"double space, once I see one I find the others :)","commit_id":"fe3ff83ada6eab98c0a64c861c46c3a7b1e1cb97"}]}
