)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e94606d073241393e1120835af018985215873cc","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Signed-off-by: Yi Yang \u003cyangyi01@inspur.com\u003e"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I29dbdccc6e3a0528e4c515dbf37d05cffc1f95e4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"a023f616_5dbdd90e","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":52},"updated":"2022-10-19 01:43:56.000000000","message":"Could you please make the change ID same to the spec you uploaded before:\nhttps://review.opendev.org/c/openstack/neutron-specs/+/796746\nThe new version will be uploaded to one gerrit change/page.\n\nThen we can trace the differences between this one and the original.","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"}],"specs/xena/flow-based-dvr-l3.rst":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Openflow-based DVR L3 Implementation"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/neutron/+bug/example-id"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c6f85c5c_92184d37","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":15},"updated":"2022-10-20 09:51:34.000000000","message":"Please, add the correct link","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"In current DVR implementation, L3 routing and floating IP used network"},{"line_number":17,"context_line":"namespaces and iptables, qrouter network namespace and FIP network"},{"line_number":18,"context_line":"namespace used tap interfaces which is added to OVS bridge br-int, this"},{"line_number":19,"context_line":"means more hops, worse performance, especially it is much worse for FIP"},{"line_number":20,"context_line":"and in case of OVS DPDK (Note: for tap and veth interfaces, OVS DPDK\u0027s"},{"line_number":21,"context_line":"performance is very very bad)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"11d376d4_5360a11b","line":21,"range":{"start_line":16,"start_character":0,"end_line":21,"end_character":29},"updated":"2022-10-20 09:51:34.000000000","message":"Focus on the issue here, that is that the L3 routing is done in the kernel, via iptables. So you can summarize this saying this: \"In the ML2/OVN DVR implementation, the L3 routing is executed in the kernel, using iptables. That means the OpenFlow datapath is broken before the packet is delivered to the network interface. The performance degradation affects specially to OVS-DPDK\".","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":44,"context_line":"    vice versa"},{"line_number":45,"context_line":"  - ARP reply for local FIPs (FIPs associated to local VMs)."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Note: security group/firewall_driver must use openvswitch."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"In order to implement these functions, neutron ovs agent and neutron l3 agent"},{"line_number":50,"context_line":"will be changed as below:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ae15e387_7d68d6d2","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":4},"updated":"2022-10-20 09:51:34.000000000","message":"Is it mandatory to use \"openvswitch\"? Could be used with \"noop\"?","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":58,"context_line":"   LOCAL_QROUTER_ARP_TABLE \u003d 101"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"   # FIP to VMIP table, local FIP ARP reply, learn MAC from FIP ARP reply"},{"line_number":61,"context_line":"   FIP_TO_VMIP_TABLE \u003d 102"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   # local static ARP/MAC learning table for FIP"},{"line_number":64,"context_line":"   LOCAL_FIP_ARP_TABLE \u003d 103"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f8b534c1_1749370c","line":61,"range":{"start_line":61,"start_character":10,"end_line":61,"end_character":14},"updated":"2022-10-20 09:51:34.000000000","message":"Instead of VIMP, I would used the term \"FIXEDIP\", that is commonly used in Neutron to refer to a local IP in a private network.","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"2. Steer FIP ARP traffic from TRANSIENT_TABLE to FIP_TO_VMIP_TABLE"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"3. ICMP responder in ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE for qrouter IPs"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"4. Handle advanced packet_in and send ARP request for FIP"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"19146505_6270b933","line":78,"range":{"start_line":78,"start_character":62,"end_line":78,"end_character":73},"updated":"2022-10-20 09:51:34.000000000","message":"The local router IP?","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"3. ICMP responder in ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE for qrouter IPs"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"4. Handle advanced packet_in and send ARP request for FIP"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"5. Classify FIP traffic in LOCAL_SWITCHING to FIP_TO_VMIP_TABLE"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"b093b99a_a671d817","line":80,"range":{"start_line":80,"start_character":3,"end_line":80,"end_character":57},"updated":"2022-10-20 09:51:34.000000000","message":"Sorry, what does it mean?","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"6. IP to MAC in LOCAL_STATIC_ARP_TABLE and resubmit to ACCEPT_OR_INGRESS_TABLE"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"7. Steer ARP request for qrouter in BASE_EGRESS_TABLE to"},{"line_number":87,"context_line":"   LOCAL_QROUTER_REPLY_TABLE"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"8. Intercept traffic to qrouter in ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fea60186_02bf14a3","line":86,"range":{"start_line":86,"start_character":9,"end_line":86,"end_character":20},"updated":"2022-10-20 09:51:34.000000000","message":"What ARP requests? For the FIPs? For the local router IP?","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":89,"context_line":"8. Intercept traffic to qrouter in ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE and"},{"line_number":90,"context_line":"   go to LOCAL_STATIC_ARP_TABLE."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"9. ARP responder in LOCAL_QROUTER_REPLY_TABLE."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Neutron L3 Agent Changes"},{"line_number":95,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d78671c2_61fc1121","line":92,"range":{"start_line":92,"start_character":3,"end_line":92,"end_character":46},"updated":"2022-10-20 09:51:34.000000000","message":"For the local FIPs, right? It is better to specify it","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":128,"context_line":"12. Install output flow for remote FIP in FIP_OUTPUT_TABLE"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Openflow installation for FIP"},{"line_number":132,"context_line":"-----------------------------"},{"line_number":133,"context_line":"1. Binding FIP to VM operation will call"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e4e424e3_9b0733d5","line":131,"range":{"start_line":131,"start_character":0,"end_line":131,"end_character":29},"updated":"2022-10-20 09:51:34.000000000","message":"This section (and the next one) is describing the POC you probably have. But this is not necessary. What we need to have in a spec is a description of *what* are you going to do, not *how* in the code. What I was expecting from this spec:\n- An overall description of the feature.\n- A description of the type of flows/traffic types that will be affected (ARPs, ICMP, etc). That is done but in different sections.\n- Also could be fine to have a graph of the flow of these traffic types.\n\nWe don\u0027t need here what new methods are going to be added and their descriptions.","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"40bc0a103a0891d4573fe5e24999702d74ce737a","unresolved":true,"context_lines":[{"line_number":139,"context_line":"2. floating_ip_added_dist will call _install_flows_for_fip which will"},{"line_number":140,"context_line":"   install all flows for this FIP."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"   It will install a flow for local FIP in fip namespace in table"},{"line_number":143,"context_line":"   LOCAL_QROUTER_ARP_TABLE, this will make sure local FIP in fip namespace"},{"line_number":144,"context_line":"   is still reachable."},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d966aa41_617620b2","line":142,"range":{"start_line":142,"start_character":43,"end_line":142,"end_character":56},"updated":"2022-10-20 09:51:34.000000000","message":"Why are you still using namespaces?","commit_id":"f8e89a53f35fd4232cac7befbf4b370f52258d5a"}]}
