)]}'
{"neutron_lib/api/definitions/__init__.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":233,"context_line":"    revisionifmatch,"},{"line_number":234,"context_line":"    router_admin_state_down_before_update,"},{"line_number":235,"context_line":"    router_availability_zone,"},{"line_number":236,"context_line":"    l3_ext_ndp_proxy,"},{"line_number":237,"context_line":"    router_interface_fip,"},{"line_number":238,"context_line":"    routerservicetype,"},{"line_number":239,"context_line":"    security_groups_normalized_cidr,"}],"source_content_type":"text/x-python","patch_set":6,"id":"db065a35_3274abe1","line":236,"updated":"2021-07-22 19:35:29.000000000","message":"Everything else here seems in alphabetical order.","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f6f3bf124c1e2b9f5766732b43568846fd22d322","unresolved":false,"context_lines":[{"line_number":233,"context_line":"    revisionifmatch,"},{"line_number":234,"context_line":"    router_admin_state_down_before_update,"},{"line_number":235,"context_line":"    router_availability_zone,"},{"line_number":236,"context_line":"    l3_ext_ndp_proxy,"},{"line_number":237,"context_line":"    router_interface_fip,"},{"line_number":238,"context_line":"    routerservicetype,"},{"line_number":239,"context_line":"    security_groups_normalized_cidr,"}],"source_content_type":"text/x-python","patch_set":6,"id":"0bd5a330_3a51a4d0","line":236,"in_reply_to":"db065a35_3274abe1","updated":"2021-07-23 11:35:09.000000000","message":"Done","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"}],"neutron_lib/api/definitions/base.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"0820fe69d258d344d5139f777ae4417127689ad2","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    \u0027l3-ha\u0027,"},{"line_number":112,"context_line":"    \u0027l3_agent_scheduler\u0027,"},{"line_number":113,"context_line":"    \u0027l3-port-ip-change-not-allowed\u0027,"},{"line_number":114,"context_line":"    \u0027l3-ndp-proxy\u0027,"},{"line_number":115,"context_line":"    \u0027logging\u0027,"},{"line_number":116,"context_line":"    \u0027metering\u0027,"},{"line_number":117,"context_line":"    \u0027multi-provider\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_5bff25aa","line":114,"range":{"start_line":114,"start_character":4,"end_line":114,"end_character":18},"updated":"2020-08-24 07:05:40.000000000","message":"nit: alphabetically should go before l3-port..","commit_id":"a722e4fb0aca3025e6dd94888149bf946881d9e6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5308c87e10835fa4296aa057b995eb0204d9c8dc","unresolved":true,"context_lines":[{"line_number":140,"context_line":"    \u0027rbac-subnetpool\u0027,"},{"line_number":141,"context_line":"    \u0027router\u0027,"},{"line_number":142,"context_line":"    \u0027router_availability_zone\u0027,"},{"line_number":143,"context_line":"    \u0027router-extend-ndp-proxy\u0027,"},{"line_number":144,"context_line":"    \u0027security-group\u0027,"},{"line_number":145,"context_line":"    \u0027segment\u0027,"},{"line_number":146,"context_line":"    \u0027service-type\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"facab032_d99adcae","line":143,"updated":"2021-07-27 11:06:12.000000000","message":"I don\u0027t see such extension.... do you need this?\n\nOn the other hand, this commit adds two extensions: l3-ndp-proxy and l3-ext-ndp-proxy, but I don\u0027t see l3-ext-ndp-proxy. Do you mean l3-ext-ndp-proxy instead?","commit_id":"25052f439b8d2004b181f628575e5e81c38b7250"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"38ebd0cbc742ded5a2ead3102d95ae6d57ae3f3a","unresolved":true,"context_lines":[{"line_number":140,"context_line":"    \u0027rbac-subnetpool\u0027,"},{"line_number":141,"context_line":"    \u0027router\u0027,"},{"line_number":142,"context_line":"    \u0027router_availability_zone\u0027,"},{"line_number":143,"context_line":"    \u0027router-extend-ndp-proxy\u0027,"},{"line_number":144,"context_line":"    \u0027security-group\u0027,"},{"line_number":145,"context_line":"    \u0027segment\u0027,"},{"line_number":146,"context_line":"    \u0027service-type\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"62c5ed15_a76d1142","line":143,"in_reply_to":"facab032_d99adcae","updated":"2021-07-27 12:58:10.000000000","message":"I\u0027am so sorry for my carelessness. This is a superfluous string. I just forget to delete it.","commit_id":"25052f439b8d2004b181f628575e5e81c38b7250"}],"neutron_lib/api/definitions/l3_ext_ndp_proxy.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":18,"context_line":"from neutron_lib.api.definitions import l3_ext_gw_mode"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ALIAS \u003d \u0027router-extend-ndp-proxy\u0027"},{"line_number":22,"context_line":"IS_SHIM_EXTENSION \u003d False"},{"line_number":23,"context_line":"IS_STANDARD_ATTR_EXTENSION \u003d False"},{"line_number":24,"context_line":"NAME \u003d \u0027Router support enable ndp proxy\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"eeff0c74_943340d1","line":21,"range":{"start_line":21,"start_character":9,"end_line":21,"end_character":32},"updated":"2021-07-22 19:35:29.000000000","message":"I realize the filename doesn\u0027t always match the extension alias, but I would have expected this to be \u0027l3-ext-ndp-proxy\u0027","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f6f3bf124c1e2b9f5766732b43568846fd22d322","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from neutron_lib.api.definitions import l3_ext_gw_mode"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ALIAS \u003d \u0027router-extend-ndp-proxy\u0027"},{"line_number":22,"context_line":"IS_SHIM_EXTENSION \u003d False"},{"line_number":23,"context_line":"IS_STANDARD_ATTR_EXTENSION \u003d False"},{"line_number":24,"context_line":"NAME \u003d \u0027Router support enable ndp proxy\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"d6bb2d7f_c02f6e27","line":21,"range":{"start_line":21,"start_character":9,"end_line":21,"end_character":32},"in_reply_to":"eeff0c74_943340d1","updated":"2021-07-23 11:35:09.000000000","message":"Done","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":21,"context_line":"ALIAS \u003d \u0027router-extend-ndp-proxy\u0027"},{"line_number":22,"context_line":"IS_SHIM_EXTENSION \u003d False"},{"line_number":23,"context_line":"IS_STANDARD_ATTR_EXTENSION \u003d False"},{"line_number":24,"context_line":"NAME \u003d \u0027Router support enable ndp proxy\u0027"},{"line_number":25,"context_line":"API_PREFIX \u003d \u0027\u0027"},{"line_number":26,"context_line":"DESCRIPTION \u003d (\u0027The extension of the Router bout whether enable ndp proxy\u0027)"},{"line_number":27,"context_line":"UPDATED_TIMESTAMP \u003d \u00272020-08-25T00:00:00-00:00\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"15441616_f1af126d","line":24,"range":{"start_line":24,"start_character":23,"end_line":24,"end_character":29},"updated":"2021-07-22 19:35:29.000000000","message":"s/to enable NDP proxy.","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f6f3bf124c1e2b9f5766732b43568846fd22d322","unresolved":false,"context_lines":[{"line_number":21,"context_line":"ALIAS \u003d \u0027router-extend-ndp-proxy\u0027"},{"line_number":22,"context_line":"IS_SHIM_EXTENSION \u003d False"},{"line_number":23,"context_line":"IS_STANDARD_ATTR_EXTENSION \u003d False"},{"line_number":24,"context_line":"NAME \u003d \u0027Router support enable ndp proxy\u0027"},{"line_number":25,"context_line":"API_PREFIX \u003d \u0027\u0027"},{"line_number":26,"context_line":"DESCRIPTION \u003d (\u0027The extension of the Router bout whether enable ndp proxy\u0027)"},{"line_number":27,"context_line":"UPDATED_TIMESTAMP \u003d \u00272020-08-25T00:00:00-00:00\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"b62fafd7_f30dc2bd","line":24,"range":{"start_line":24,"start_character":23,"end_line":24,"end_character":29},"in_reply_to":"15441616_f1af126d","updated":"2021-07-23 11:35:09.000000000","message":"Done","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":23,"context_line":"IS_STANDARD_ATTR_EXTENSION \u003d False"},{"line_number":24,"context_line":"NAME \u003d \u0027Router support enable ndp proxy\u0027"},{"line_number":25,"context_line":"API_PREFIX \u003d \u0027\u0027"},{"line_number":26,"context_line":"DESCRIPTION \u003d (\u0027The extension of the Router bout whether enable ndp proxy\u0027)"},{"line_number":27,"context_line":"UPDATED_TIMESTAMP \u003d \u00272020-08-25T00:00:00-00:00\u0027"},{"line_number":28,"context_line":"RESOURCE_NAME \u003d l3.ROUTER"},{"line_number":29,"context_line":"COLLECTION_NAME \u003d l3.ROUTERS"}],"source_content_type":"text/x-python","patch_set":6,"id":"a9ac1ae2_cb0dbeb2","line":26,"range":{"start_line":26,"start_character":20,"end_line":26,"end_character":56},"updated":"2021-07-22 19:35:29.000000000","message":"s/Router extension to\n\nAnd don\u0027t need ()","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f6f3bf124c1e2b9f5766732b43568846fd22d322","unresolved":false,"context_lines":[{"line_number":23,"context_line":"IS_STANDARD_ATTR_EXTENSION \u003d False"},{"line_number":24,"context_line":"NAME \u003d \u0027Router support enable ndp proxy\u0027"},{"line_number":25,"context_line":"API_PREFIX \u003d \u0027\u0027"},{"line_number":26,"context_line":"DESCRIPTION \u003d (\u0027The extension of the Router bout whether enable ndp proxy\u0027)"},{"line_number":27,"context_line":"UPDATED_TIMESTAMP \u003d \u00272020-08-25T00:00:00-00:00\u0027"},{"line_number":28,"context_line":"RESOURCE_NAME \u003d l3.ROUTER"},{"line_number":29,"context_line":"COLLECTION_NAME \u003d l3.ROUTERS"}],"source_content_type":"text/x-python","patch_set":6,"id":"3763d501_9a46f94d","line":26,"range":{"start_line":26,"start_character":20,"end_line":26,"end_character":56},"in_reply_to":"a9ac1ae2_cb0dbeb2","updated":"2021-07-23 11:35:09.000000000","message":"Done","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3a9173c1818ec1a9cb38ab854b7468be39d89d51","unresolved":true,"context_lines":[{"line_number":35,"context_line":"            \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean_if_not_none,"},{"line_number":37,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":38,"context_line":"            \u0027is_filter\u0027: True"},{"line_number":39,"context_line":"        }"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"2227595d_09fa8713","line":38,"updated":"2021-07-26 00:59:12.000000000","message":"Don\u0027t we need \"default\" here? Otherwise, API consumers must pass \u0027enable_ndp_proxy\u0027 but I don\u0027t think it is what we want.","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e0b6ef82e4de94b6fdef7a35b780ce3fb5cf410b","unresolved":true,"context_lines":[{"line_number":35,"context_line":"            \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean_if_not_none,"},{"line_number":37,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":38,"context_line":"            \u0027is_filter\u0027: True"},{"line_number":39,"context_line":"        }"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"559d8d27_cf0ace72","line":38,"in_reply_to":"2227595d_09fa8713","updated":"2021-07-26 01:06:05.000000000","message":"I would suggest to add \u0027default\u0027: False\" (or \"\u0027default\u0027: True) depending on its design.","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"94cfd8db2489d1d17447705719c16e9cf97f1e51","unresolved":true,"context_lines":[{"line_number":35,"context_line":"            \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean_if_not_none,"},{"line_number":37,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":38,"context_line":"            \u0027is_filter\u0027: True"},{"line_number":39,"context_line":"        }"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"eb766a8c_cec44851","line":38,"in_reply_to":"559d8d27_cf0ace72","updated":"2021-07-26 10:57:01.000000000","message":"Thx. Yep, you are right, we need \"default\" here. But, the default value should is \"None\". So that, we can add a configuretion option to control it is True or False.","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fc8ace595d44092a3ef71bbeebb07b10f5aee98b","unresolved":true,"context_lines":[{"line_number":35,"context_line":"            \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean_if_not_none,"},{"line_number":37,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":38,"context_line":"            \u0027is_filter\u0027: True"},{"line_number":39,"context_line":"        }"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"e41936b3_3d16d6ee","line":38,"in_reply_to":"eb766a8c_cec44851","updated":"2021-07-26 13:05:02.000000000","message":"If so, constants.ATTR_NOT_SPECIFIED would be better.\nYou can find it in \u0027dvr\u0027 extension.\n\nhttps://opendev.org/openstack/neutron-lib/src/branch/master/neutron_lib/api/definitions/dvr.py#L35","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fc8ace595d44092a3ef71bbeebb07b10f5aee98b","unresolved":true,"context_lines":[{"line_number":34,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":35,"context_line":"            \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean_if_not_none,"},{"line_number":37,"context_line":"            \u0027default\u0027: None,"},{"line_number":38,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":39,"context_line":"            \u0027is_filter\u0027: True"},{"line_number":40,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":9,"id":"64992b10_18142165","line":37,"range":{"start_line":37,"start_character":23,"end_line":37,"end_character":27},"updated":"2021-07-26 13:05:02.000000000","message":"See my follow-up comment in the previous patch set.\nconstants.ATTR_NOT_SPECIFIED would be better.","commit_id":"a02e9bf80386e3383acbe9c04241afc1f1d0902a"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"2c3d2c3df9294d0271bd38bf74c68a5829c6ecfa","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":35,"context_line":"            \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean_if_not_none,"},{"line_number":37,"context_line":"            \u0027default\u0027: None,"},{"line_number":38,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":39,"context_line":"            \u0027is_filter\u0027: True"},{"line_number":40,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":9,"id":"4b8dc30c_939ad76e","line":37,"range":{"start_line":37,"start_character":23,"end_line":37,"end_character":27},"in_reply_to":"42f4d45f_ffdbb8d4","updated":"2021-07-27 10:24:26.000000000","message":"Done","commit_id":"a02e9bf80386e3383acbe9c04241afc1f1d0902a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2622e7aa948ebaacd9f42bfbbcc497bdb4960a57","unresolved":true,"context_lines":[{"line_number":34,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":35,"context_line":"            \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean_if_not_none,"},{"line_number":37,"context_line":"            \u0027default\u0027: None,"},{"line_number":38,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":39,"context_line":"            \u0027is_filter\u0027: True"},{"line_number":40,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":9,"id":"42f4d45f_ffdbb8d4","line":37,"range":{"start_line":37,"start_character":23,"end_line":37,"end_character":27},"in_reply_to":"64992b10_18142165","updated":"2021-07-26 13:22:07.000000000","message":"Actually yes, this is the correct value here.","commit_id":"a02e9bf80386e3383acbe9c04241afc1f1d0902a"}],"neutron_lib/api/definitions/l3_ndp_proxy.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3b29da235c0858307cf83c47407ab132b52a14af","unresolved":true,"context_lines":[{"line_number":69,"context_line":"             \u0027primary_key\u0027: True},"},{"line_number":70,"context_line":"        NAME: {\u0027allow_post\u0027: True,"},{"line_number":71,"context_line":"               \u0027allow_put\u0027: True,"},{"line_number":72,"context_line":"               \u0027validate\u0027: {\u0027type:string\u0027: 255},"},{"line_number":73,"context_line":"               \u0027is_filter\u0027: True,"},{"line_number":74,"context_line":"               \u0027is_sort_key\u0027: True,"},{"line_number":75,"context_line":"               \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"}],"source_content_type":"text/x-python","patch_set":5,"id":"84ed352b_adda0145","line":72,"range":{"start_line":72,"start_character":43,"end_line":72,"end_character":46},"updated":"2021-07-20 13:12:29.000000000","message":"please use neutron_lib.db.constants.NAME_FIELD_SIZE here","commit_id":"e40368158bb4aee11d5bcc4f6227b5aedaaf7701"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3b29da235c0858307cf83c47407ab132b52a14af","unresolved":true,"context_lines":[{"line_number":100,"context_line":"        DESCRIPTION: {\u0027allow_post\u0027: True,"},{"line_number":101,"context_line":"                      \u0027allow_put\u0027: True,"},{"line_number":102,"context_line":"                      \u0027default\u0027: \u0027\u0027,"},{"line_number":103,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027: 1024},"},{"line_number":104,"context_line":"                      \u0027is_visible\u0027: True}"},{"line_number":105,"context_line":"    }"},{"line_number":106,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":5,"id":"df7e403d_fb6a66fd","line":103,"range":{"start_line":103,"start_character":50,"end_line":103,"end_character":54},"updated":"2021-07-20 13:12:29.000000000","message":"please use neutron_lib.db.constants.LONG_DESCRIPTION_FIELD_SIZE here","commit_id":"e40368158bb4aee11d5bcc4f6227b5aedaaf7701"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":17,"context_line":"from neutron_lib.db import constants as db_const"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# The alias of the extension."},{"line_number":20,"context_line":"ALIAS \u003d \u0027l3-ndp-proxy\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# Whether or not this extension is simply signaling behavior to the user"},{"line_number":23,"context_line":"# or it actively modifies the attribute map."}],"source_content_type":"text/x-python","patch_set":6,"id":"5801b877_f44aef6d","line":20,"updated":"2021-07-22 19:35:29.000000000","message":"This one does follow the filename.","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":39,"context_line":"API_PREFIX \u003d \u0027\u0027"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# The description of the extension."},{"line_number":42,"context_line":"DESCRIPTION \u003d \"ALLOW L3 router proxy IPv6 address\u0027s ND\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# A timestamp of when the extension was introduced."},{"line_number":45,"context_line":"UPDATED_TIMESTAMP \u003d \"2021-06-29T10:00:00-00:00\""}],"source_content_type":"text/x-python","patch_set":6,"id":"dfe68006_03009338","line":42,"updated":"2021-07-22 19:35:29.000000000","message":"Two comments\n\n1) Is this only for IPv6?  If so should it have ipv6 in the name?\n\n2) All-caps and typo here, maybe should be \u0027Router support for L3 NDP proxy.\u0027","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f6f3bf124c1e2b9f5766732b43568846fd22d322","unresolved":true,"context_lines":[{"line_number":39,"context_line":"API_PREFIX \u003d \u0027\u0027"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# The description of the extension."},{"line_number":42,"context_line":"DESCRIPTION \u003d \"ALLOW L3 router proxy IPv6 address\u0027s ND\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# A timestamp of when the extension was introduced."},{"line_number":45,"context_line":"UPDATED_TIMESTAMP \u003d \"2021-06-29T10:00:00-00:00\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5659f26a_740b0db2","line":42,"in_reply_to":"dfe68006_03009338","updated":"2021-07-23 11:35:09.000000000","message":"For 1, Yep, only for IPv6. The NDP is only IPv6\u0027s protocol. So, we needn\u0027t specify IPv6 in the name. It has been implicitly specify.\nFor 2, DONE","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"}],"neutron_lib/plugins/constants.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3b29da235c0858307cf83c47407ab132b52a14af","unresolved":true,"context_lines":[{"line_number":30,"context_line":"# TODO(johnsom) Remove after these stop being used. Neutron-LBaaS is now"},{"line_number":31,"context_line":"#               retired (train) and these should no longer be necessary."},{"line_number":32,"context_line":"LOADBALANCER \u003d \"LOADBALANCER\""},{"line_number":33,"context_line":"LOADBALANCERV2 \u003d \"LOADBALANCERV2\""},{"line_number":34,"context_line":"NDPPROXY \u003d \u0027NDPPROXY\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3cbbee2c_4acfe39c","line":33,"updated":"2021-07-20 13:12:29.000000000","message":"Please maybe add one empty line between that new constant and constants which should be removed :)","commit_id":"e40368158bb4aee11d5bcc4f6227b5aedaaf7701"}],"releasenotes/notes/l3-ndp-proxy-71eee0cba8565dad.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` API definition is introduced, which allows a"},{"line_number":5,"context_line":"    ``Router`` to proxy internal port\u0027s IPv6 addresses\u0027 ND (Neighbor"},{"line_number":6,"context_line":"    Discovery)."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"2a165cc2_3274ca85","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":14},"updated":"2021-07-22 19:35:29.000000000","message":"Doesn\u0027t need to be bold.\n\nAnd what about the other extension that was added.","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f9f01a763a16d0352affe739a1aba5736b3454c8","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` API definition is introduced, which allows a"},{"line_number":5,"context_line":"    ``Router`` to proxy internal port\u0027s IPv6 addresses\u0027 ND (Neighbor"},{"line_number":6,"context_line":"    Discovery)."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"16e2141c_1b8f8977","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":58},"updated":"2021-07-22 19:35:29.000000000","message":"s/to support proxy NDP for internal ports\u0027 IPv6 addresses.","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f6f3bf124c1e2b9f5766732b43568846fd22d322","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` API definition is introduced, which allows a"},{"line_number":5,"context_line":"    ``Router`` to proxy internal port\u0027s IPv6 addresses\u0027 ND (Neighbor"},{"line_number":6,"context_line":"    Discovery)."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"a395cf32_5795f819","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":58},"in_reply_to":"16e2141c_1b8f8977","updated":"2021-07-23 11:35:09.000000000","message":"Done","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f6f3bf124c1e2b9f5766732b43568846fd22d322","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` API definition is introduced, which allows a"},{"line_number":5,"context_line":"    ``Router`` to proxy internal port\u0027s IPv6 addresses\u0027 ND (Neighbor"},{"line_number":6,"context_line":"    Discovery)."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"6e9bd646_a789a513","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":14},"in_reply_to":"2a165cc2_3274ca85","updated":"2021-07-23 11:35:09.000000000","message":"Done","commit_id":"173e96aa5c735e365cc8bb0e02cef9806713bf6b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c8e7a4ddf72c39e9bef16578cfda4960c09baae4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` and ``l3-ext-ndp-proxy`` API definitions is"},{"line_number":5,"context_line":"    introduced, which allows a router to support proxy NDP for internal"},{"line_number":6,"context_line":"    ports\u0027 IPv6 addresses."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"87140de9_4146c1d9","line":4,"range":{"start_line":4,"start_character":66,"end_line":4,"end_character":68},"updated":"2021-07-23 13:32:15.000000000","message":"are","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"94cfd8db2489d1d17447705719c16e9cf97f1e51","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` and ``l3-ext-ndp-proxy`` API definitions is"},{"line_number":5,"context_line":"    introduced, which allows a router to support proxy NDP for internal"},{"line_number":6,"context_line":"    ports\u0027 IPv6 addresses."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1bdaa82c_5711d9ce","line":4,"range":{"start_line":4,"start_character":66,"end_line":4,"end_character":68},"in_reply_to":"87140de9_4146c1d9","updated":"2021-07-26 10:57:01.000000000","message":"thx","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3a9173c1818ec1a9cb38ab854b7468be39d89d51","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` and ``l3-ext-ndp-proxy`` API definitions is"},{"line_number":5,"context_line":"    introduced, which allows a router to support proxy NDP for internal"},{"line_number":6,"context_line":"    ports\u0027 IPv6 addresses."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"a19f2525_fd37365c","line":5,"range":{"start_line":5,"start_character":22,"end_line":5,"end_character":28},"updated":"2021-07-26 00:59:12.000000000","message":"-\u003e allow","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"94cfd8db2489d1d17447705719c16e9cf97f1e51","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` and ``l3-ext-ndp-proxy`` API definitions is"},{"line_number":5,"context_line":"    introduced, which allows a router to support proxy NDP for internal"},{"line_number":6,"context_line":"    ports\u0027 IPv6 addresses."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"da851fea_caa72e22","line":5,"range":{"start_line":5,"start_character":22,"end_line":5,"end_character":28},"in_reply_to":"a19f2525_fd37365c","updated":"2021-07-26 10:57:01.000000000","message":"thx","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3a9173c1818ec1a9cb38ab854b7468be39d89d51","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` and ``l3-ext-ndp-proxy`` API definitions is"},{"line_number":5,"context_line":"    introduced, which allows a router to support proxy NDP for internal"},{"line_number":6,"context_line":"    ports\u0027 IPv6 addresses."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"2cb7933b_357f07ce","line":6,"updated":"2021-07-26 00:59:12.000000000","message":"Perhaps \"IPv6 addresses of internal ports\" is easier to understand.","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"94cfd8db2489d1d17447705719c16e9cf97f1e51","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``l3-ndp-proxy`` and ``l3-ext-ndp-proxy`` API definitions is"},{"line_number":5,"context_line":"    introduced, which allows a router to support proxy NDP for internal"},{"line_number":6,"context_line":"    ports\u0027 IPv6 addresses."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"fa7755f4_a98546a7","line":6,"in_reply_to":"2cb7933b_357f07ce","updated":"2021-07-26 10:57:01.000000000","message":"thx","commit_id":"56aa88ba9bc02925f75f4288890d08f3ef17398f"}]}
