)]}'
{"metropolis/node/core/clusternet/clusternet.go":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"398632c4b291b81a178ca6e273ad689dee59b1d6","unresolved":true,"context_lines":[{"line_number":179,"context_line":"\t}"},{"line_number":180,"context_line":"}"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"func configureKubeNetwork(oldPrefixes *Prefixes, newPrefixes *Prefixes) error {"},{"line_number":183,"context_line":"\tdiff :\u003d make(map[netip.Prefix]bool)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"\tif newPrefixes !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":4,"id":"ebfa7909_319b1de5","line":182,"range":{"start_line":182,"start_character":5,"end_line":182,"end_character":25},"updated":"2024-03-04 14:25:49.000000000","message":"```\n// configureKubeNetwork configures the point-to-point peer IP address of the node host network namespace (i.e. the one container P2P interfaces point to) on its loopback interface to make it eligible to be used as a source IP address for communication into the clusternet overlay.\n```","commit_id":"2cef641ac909240c4d2a8f2e47dd36fa7df4bede"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4923bc78c54662e98f40d02aba4474e99cf2607f","unresolved":false,"context_lines":[{"line_number":179,"context_line":"\t}"},{"line_number":180,"context_line":"}"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"func configureKubeNetwork(oldPrefixes *Prefixes, newPrefixes *Prefixes) error {"},{"line_number":183,"context_line":"\tdiff :\u003d make(map[netip.Prefix]bool)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"\tif newPrefixes !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":4,"id":"79a4a6ba_6bf9e414","line":182,"range":{"start_line":182,"start_character":5,"end_line":182,"end_character":25},"in_reply_to":"ebfa7909_319b1de5","updated":"2024-03-04 15:41:18.000000000","message":"Done","commit_id":"2cef641ac909240c4d2a8f2e47dd36fa7df4bede"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"398632c4b291b81a178ca6e273ad689dee59b1d6","unresolved":true,"context_lines":[{"line_number":180,"context_line":"}"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"func configureKubeNetwork(oldPrefixes *Prefixes, newPrefixes *Prefixes) error {"},{"line_number":183,"context_line":"\tdiff :\u003d make(map[netip.Prefix]bool)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"\tif newPrefixes !\u003d nil {"},{"line_number":186,"context_line":"\t\tfor _, newAddr :\u003d range *newPrefixes {"}],"source_content_type":"text/x-go","patch_set":4,"id":"a84e1709_9d14f79d","line":183,"range":{"start_line":183,"start_character":1,"end_line":183,"end_character":5},"updated":"2024-03-04 14:25:49.000000000","message":"```\n// diff maps prefixes to be removed to false and prefixes to be added to true.\n```","commit_id":"2cef641ac909240c4d2a8f2e47dd36fa7df4bede"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4923bc78c54662e98f40d02aba4474e99cf2607f","unresolved":false,"context_lines":[{"line_number":180,"context_line":"}"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"func configureKubeNetwork(oldPrefixes *Prefixes, newPrefixes *Prefixes) error {"},{"line_number":183,"context_line":"\tdiff :\u003d make(map[netip.Prefix]bool)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"\tif newPrefixes !\u003d nil {"},{"line_number":186,"context_line":"\t\tfor _, newAddr :\u003d range *newPrefixes {"}],"source_content_type":"text/x-go","patch_set":4,"id":"8db75aec_52b995c0","line":183,"range":{"start_line":183,"start_character":1,"end_line":183,"end_character":5},"in_reply_to":"a84e1709_9d14f79d","updated":"2024-03-04 15:41:18.000000000","message":"Done","commit_id":"2cef641ac909240c4d2a8f2e47dd36fa7df4bede"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"398632c4b291b81a178ca6e273ad689dee59b1d6","unresolved":true,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"\t\tif shouldAdd {"},{"line_number":218,"context_line":"\t\t\tif err :\u003d netlink.AddrAdd(loInterface, addr); err !\u003d nil {"},{"line_number":219,"context_line":"\t\t\t\treturn fmt.Errorf(\"when to assign extra loopback IP: %v\", err)"},{"line_number":220,"context_line":"\t\t\t}"},{"line_number":221,"context_line":"\t\t} else {"},{"line_number":222,"context_line":"\t\t\tif err :\u003d netlink.AddrDel(loInterface, addr); err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":4,"id":"8fa871d5_ba95ea61","line":219,"range":{"start_line":219,"start_character":28,"end_line":219,"end_character":37},"updated":"2024-03-04 14:25:49.000000000","message":"assigning (as also on the next Errorf)","commit_id":"2cef641ac909240c4d2a8f2e47dd36fa7df4bede"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4923bc78c54662e98f40d02aba4474e99cf2607f","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"\t\tif shouldAdd {"},{"line_number":218,"context_line":"\t\t\tif err :\u003d netlink.AddrAdd(loInterface, addr); err !\u003d nil {"},{"line_number":219,"context_line":"\t\t\t\treturn fmt.Errorf(\"when to assign extra loopback IP: %v\", err)"},{"line_number":220,"context_line":"\t\t\t}"},{"line_number":221,"context_line":"\t\t} else {"},{"line_number":222,"context_line":"\t\t\tif err :\u003d netlink.AddrDel(loInterface, addr); err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":4,"id":"990d5487_9eee04ef","line":219,"range":{"start_line":219,"start_character":28,"end_line":219,"end_character":37},"in_reply_to":"8fa871d5_ba95ea61","updated":"2024-03-04 15:41:18.000000000","message":"Done","commit_id":"2cef641ac909240c4d2a8f2e47dd36fa7df4bede"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02bc541f4d772ca546d1898b5180b1c187e8e4be","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"\tif oldPrefixes !\u003d nil {"},{"line_number":198,"context_line":"\t\tfor _, oldAddr :\u003d range *oldPrefixes {"},{"line_number":199,"context_line":"\t\t\t// Delete already existing prefixes from the map"},{"line_number":200,"context_line":"\t\t\tif diff[oldAddr] {"},{"line_number":201,"context_line":"\t\t\t\tdelete(diff, oldAddr)"},{"line_number":202,"context_line":"\t\t\t\tcontinue"}],"source_content_type":"text/x-go","patch_set":5,"id":"a08cc719_94f1ef6f","line":199,"range":{"start_line":199,"start_character":6,"end_line":199,"end_character":51},"updated":"2024-03-06 13:26:33.000000000","message":"```\n// Remove all prefixes in both the old and new prefix sets from `diff`.\n```","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"56cff87f2fd493ca6471780036505f20dcbfd2fd","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"\tif oldPrefixes !\u003d nil {"},{"line_number":198,"context_line":"\t\tfor _, oldAddr :\u003d range *oldPrefixes {"},{"line_number":199,"context_line":"\t\t\t// Delete already existing prefixes from the map"},{"line_number":200,"context_line":"\t\t\tif diff[oldAddr] {"},{"line_number":201,"context_line":"\t\t\t\tdelete(diff, oldAddr)"},{"line_number":202,"context_line":"\t\t\t\tcontinue"}],"source_content_type":"text/x-go","patch_set":5,"id":"ad555c8a_cdea7224","line":199,"range":{"start_line":199,"start_character":6,"end_line":199,"end_character":51},"in_reply_to":"a08cc719_94f1ef6f","updated":"2024-03-13 05:40:45.000000000","message":"Done","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02bc541f4d772ca546d1898b5180b1c187e8e4be","unresolved":true,"context_lines":[{"line_number":202,"context_line":"\t\t\t\tcontinue"},{"line_number":203,"context_line":"\t\t\t}"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"\t\t\t// delete all entriesthat are not in the map"},{"line_number":206,"context_line":"\t\t\tdiff[oldAddr] \u003d false"},{"line_number":207,"context_line":"\t\t}"},{"line_number":208,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":5,"id":"0a0ee748_227aae70","line":205,"range":{"start_line":205,"start_character":6,"end_line":205,"end_character":47},"updated":"2024-03-06 13:26:33.000000000","message":"```\n// Mark all remaining (i.e. ones not in the new prefix set) prefixes for removal.\n```","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"56cff87f2fd493ca6471780036505f20dcbfd2fd","unresolved":false,"context_lines":[{"line_number":202,"context_line":"\t\t\t\tcontinue"},{"line_number":203,"context_line":"\t\t\t}"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"\t\t\t// delete all entriesthat are not in the map"},{"line_number":206,"context_line":"\t\t\tdiff[oldAddr] \u003d false"},{"line_number":207,"context_line":"\t\t}"},{"line_number":208,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":5,"id":"a91942ed_0fdcc8f6","line":205,"range":{"start_line":205,"start_character":6,"end_line":205,"end_character":47},"in_reply_to":"0a0ee748_227aae70","updated":"2024-03-13 05:40:45.000000000","message":"Done","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02bc541f4d772ca546d1898b5180b1c187e8e4be","unresolved":true,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"\tloInterface, err :\u003d netlink.LinkByName(\"lo\")"},{"line_number":211,"context_line":"\tif err !\u003d nil {"},{"line_number":212,"context_line":"\t\treturn err"},{"line_number":213,"context_line":"\t}"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"\tfor prefix, shouldAdd :\u003d range diff {"}],"source_content_type":"text/x-go","patch_set":5,"id":"0eb28be8_c530e559","line":212,"range":{"start_line":212,"start_character":9,"end_line":212,"end_character":12},"updated":"2024-03-06 13:26:33.000000000","message":"```suggestion\n\t\treturn fmt.Errorf(\"while getting lo interface: %w, err)\n```","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"56cff87f2fd493ca6471780036505f20dcbfd2fd","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"\tloInterface, err :\u003d netlink.LinkByName(\"lo\")"},{"line_number":211,"context_line":"\tif err !\u003d nil {"},{"line_number":212,"context_line":"\t\treturn err"},{"line_number":213,"context_line":"\t}"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"\tfor prefix, shouldAdd :\u003d range diff {"}],"source_content_type":"text/x-go","patch_set":5,"id":"fbe40ee3_5e3f2f1a","line":212,"range":{"start_line":212,"start_character":9,"end_line":212,"end_character":12},"in_reply_to":"0eb28be8_c530e559","updated":"2024-03-13 05:40:45.000000000","message":"Done","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02bc541f4d772ca546d1898b5180b1c187e8e4be","unresolved":true,"context_lines":[{"line_number":213,"context_line":"\t}"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"\tfor prefix, shouldAdd :\u003d range diff {"},{"line_number":216,"context_line":"\t\taddr :\u003d \u0026netlink.Addr{"},{"line_number":217,"context_line":"\t\t\tIPNet: \u0026net.IPNet{"},{"line_number":218,"context_line":"\t\t\t\tIP:   prefix.Addr().Next().AsSlice(),"},{"line_number":219,"context_line":"\t\t\t\tMask: net.CIDRMask(prefix.Addr().BitLen(), prefix.Addr().BitLen()),"}],"source_content_type":"text/x-go","patch_set":5,"id":"38d59d87_e0101a85","line":216,"updated":"2024-03-06 13:26:33.000000000","message":"```\n// By CNI convention the first IP after the subnet base address is the point-to-point partner for all pod veths. To make this IP eligible to be used as a general host network namespace source IP we also add it to the loopback interface. This ensures that the kernel picks it as the source IP for traffic flowing into clusternet (due to its preference for source IPs in the same subnet).\n```","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"56cff87f2fd493ca6471780036505f20dcbfd2fd","unresolved":false,"context_lines":[{"line_number":213,"context_line":"\t}"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"\tfor prefix, shouldAdd :\u003d range diff {"},{"line_number":216,"context_line":"\t\taddr :\u003d \u0026netlink.Addr{"},{"line_number":217,"context_line":"\t\t\tIPNet: \u0026net.IPNet{"},{"line_number":218,"context_line":"\t\t\t\tIP:   prefix.Addr().Next().AsSlice(),"},{"line_number":219,"context_line":"\t\t\t\tMask: net.CIDRMask(prefix.Addr().BitLen(), prefix.Addr().BitLen()),"}],"source_content_type":"text/x-go","patch_set":5,"id":"093e6209_af30c3ea","line":216,"in_reply_to":"38d59d87_e0101a85","updated":"2024-03-13 05:40:45.000000000","message":"Done","commit_id":"32e486566bc7e00626afdc4790dde57a40cf8565"}]}
