)]}'
{"networking_bagpipe/bagpipe_bgp/vpn/ipvpn/__init__.py":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"e0040242ca5d66be832a1e922ec19d29631305bc","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    def _advertise_route_or_default(self, route, label, rd,"},{"line_number":204,"context_line":"                                    lb_consistent_hash_order\u003d0):"},{"line_number":205,"context_line":"        if self.attract_traffic:"},{"line_number":206,"context_line":"            # Start advertising default route only for first one to readvertise"},{"line_number":207,"context_line":"            if self.readvertised:"},{"line_number":208,"context_line":"                return"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_0dd02850","line":206,"range":{"start_line":206,"start_character":46,"end_line":206,"end_character":79},"updated":"2018-02-16 16:33:15.000000000","message":"only when the first route to readvertise\nappears","commit_id":"e17f0ab360a29f21e46c8034320b80f595c8701e"},{"author":{"_account_id":19990,"name":"Yannick Thomas","email":"ythomas1.ext@orange.com","username":"ythomas1"},"change_message_id":"24a983ee088e64b6ba2bc67d8eb3c7ab17349760","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    def _advertise_route_or_default(self, route, label, rd,"},{"line_number":204,"context_line":"                                    lb_consistent_hash_order\u003d0):"},{"line_number":205,"context_line":"        if self.attract_traffic:"},{"line_number":206,"context_line":"            # Start advertising default route only for first one to readvertise"},{"line_number":207,"context_line":"            if self.readvertised:"},{"line_number":208,"context_line":"                return"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_ad6b341d","line":206,"range":{"start_line":206,"start_character":46,"end_line":206,"end_character":79},"in_reply_to":"3fa0c359_0dd02850","updated":"2018-02-16 16:46:55.000000000","message":"Done","commit_id":"e17f0ab360a29f21e46c8034320b80f595c8701e"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"e0040242ca5d66be832a1e922ec19d29631305bc","unresolved":false,"context_lines":[{"line_number":222,"context_line":"    def _withdraw_route_or_default(self, route, label, rd,"},{"line_number":223,"context_line":"                                   lb_consistent_hash_order\u003d0):"},{"line_number":224,"context_line":"        if self.attract_traffic:"},{"line_number":225,"context_line":"            # Stop advertising default route only for last one readvertised"},{"line_number":226,"context_line":"            if len(self.readvertised) \u003e 1:"},{"line_number":227,"context_line":"                return"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_6dabec74","line":225,"range":{"start_line":225,"start_character":50,"end_line":225,"end_character":75},"updated":"2018-02-16 16:33:15.000000000","message":"only if the route withdraw is the last of the routes to\nreadvertise","commit_id":"e17f0ab360a29f21e46c8034320b80f595c8701e"},{"author":{"_account_id":19990,"name":"Yannick Thomas","email":"ythomas1.ext@orange.com","username":"ythomas1"},"change_message_id":"24a983ee088e64b6ba2bc67d8eb3c7ab17349760","unresolved":false,"context_lines":[{"line_number":222,"context_line":"    def _withdraw_route_or_default(self, route, label, rd,"},{"line_number":223,"context_line":"                                   lb_consistent_hash_order\u003d0):"},{"line_number":224,"context_line":"        if self.attract_traffic:"},{"line_number":225,"context_line":"            # Stop advertising default route only for last one readvertised"},{"line_number":226,"context_line":"            if len(self.readvertised) \u003e 1:"},{"line_number":227,"context_line":"                return"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_cd680023","line":225,"range":{"start_line":225,"start_character":50,"end_line":225,"end_character":75},"in_reply_to":"3fa0c359_6dabec74","updated":"2018-02-16 16:46:55.000000000","message":"Done","commit_id":"e17f0ab360a29f21e46c8034320b80f595c8701e"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"e0040242ca5d66be832a1e922ec19d29631305bc","unresolved":false,"context_lines":[{"line_number":268,"context_line":"    def _readvertise_stop(self, route):"},{"line_number":269,"context_line":"        nlri \u003d route.nlri"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        if len(self.readvertised):"},{"line_number":272,"context_line":"            self.log.debug(\"Stop re-advertising %s from VRF\","},{"line_number":273,"context_line":"                           nlri.cidr.prefix())"},{"line_number":274,"context_line":"            for _, endpoints in self.localport_2_endpoints.items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_4d32b0a9","line":271,"range":{"start_line":271,"start_character":8,"end_line":271,"end_character":34},"updated":"2018-02-16 16:33:15.000000000","message":"why this \u0027if\u0027 ?\n\nit seems inconsistent: if we reach readvertise_stop, it should be sure that self.readvertised isn\u0027t empty yet\n\nthe fact that we shouldn\u0027t stop advertising the default unless the last route to readvertise is withdraw seems to already be handled properly at line 226","commit_id":"e17f0ab360a29f21e46c8034320b80f595c8701e"},{"author":{"_account_id":19990,"name":"Yannick Thomas","email":"ythomas1.ext@orange.com","username":"ythomas1"},"change_message_id":"24a983ee088e64b6ba2bc67d8eb3c7ab17349760","unresolved":false,"context_lines":[{"line_number":268,"context_line":"    def _readvertise_stop(self, route):"},{"line_number":269,"context_line":"        nlri \u003d route.nlri"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        if len(self.readvertised):"},{"line_number":272,"context_line":"            self.log.debug(\"Stop re-advertising %s from VRF\","},{"line_number":273,"context_line":"                           nlri.cidr.prefix())"},{"line_number":274,"context_line":"            for _, endpoints in self.localport_2_endpoints.items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_6d91acf1","line":271,"range":{"start_line":271,"start_character":8,"end_line":271,"end_character":34},"in_reply_to":"3fa0c359_4d32b0a9","updated":"2018-02-16 16:46:55.000000000","message":"Exactly, it\u0027s a mistake.\n\nThis is kept from a previous wrong implementation and properly handled at line 226 as you said.","commit_id":"e17f0ab360a29f21e46c8034320b80f595c8701e"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"d149521f3f91d1f6d0bacfd39745252e4fbc8199","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                                                 lb_consistent_hash_order)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        if self.attract_traffic:"},{"line_number":262,"context_line":"            flow_route \u003d ("},{"line_number":263,"context_line":"                self._route_for_redirect_prefix(nlri.cidr.prefix())"},{"line_number":264,"context_line":"            )"},{"line_number":265,"context_line":"            self._advertise_route(flow_route)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        self.readvertised.add(route)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_83894b27","line":264,"range":{"start_line":262,"start_character":25,"end_line":264,"end_character":13},"updated":"2018-02-19 09:00:40.000000000","message":"this fits on one line doesn\u0027t it ?","commit_id":"9a16380c5b0e4b9f8861292c721655141c185a1a"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"d149521f3f91d1f6d0bacfd39745252e4fbc8199","unresolved":false,"context_lines":[{"line_number":286,"context_line":"                                                lb_consistent_hash_order)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        if self.attract_traffic:"},{"line_number":289,"context_line":"            flow_route \u003d ("},{"line_number":290,"context_line":"                self._route_for_redirect_prefix(nlri.cidr.prefix())"},{"line_number":291,"context_line":"            )"},{"line_number":292,"context_line":"            self._withdraw_route(flow_route)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        self.readvertised.remove(route)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_43834305","line":291,"range":{"start_line":289,"start_character":7,"end_line":291,"end_character":13},"updated":"2018-02-19 09:00:40.000000000","message":"(ditto)","commit_id":"9a16380c5b0e4b9f8861292c721655141c185a1a"}]}
