)]}'
{"oslo_utils/netutils.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a3ec38821c3c4871d6260d6309bfc292b86f6afa","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                          \u0027EUI-64: %s\u0027) % prefix)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"def get_mac_addr_by_ipv6(ipv6):"},{"line_number":197,"context_line":"    \"\"\"Extract MAC address from interface identifier based IPv6 address."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    For example from link-local addresses (fe80::/10) generated from MAC."}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_0f153d40","line":196,"range":{"start_line":196,"start_character":29,"end_line":196,"end_character":30},"updated":"2020-06-26 12:39:28.000000000","message":"What do you think about allowing users to pass the dialect to use too?\n\nIt could be init by default with `netaddr.mac_unix_expanded` and then overrided by user with available dialects:\n\n- mac_eui48\n- mac_unix \n- mac_unix_expanded\n- mac_cisco\n- mac_bare\n- mac_pgsql\n\n[1] https://github.com/netaddr/netaddr/blob/master/netaddr/strategy/eui48.py","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"cff260aa5f91ab1f33bdc65da8be5db832dc31e6","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                          \u0027EUI-64: %s\u0027) % prefix)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"def get_mac_addr_by_ipv6(ipv6):"},{"line_number":197,"context_line":"    \"\"\"Extract MAC address from interface identifier based IPv6 address."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    For example from link-local addresses (fe80::/10) generated from MAC."}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_0f241d5d","line":196,"range":{"start_line":196,"start_character":29,"end_line":196,"end_character":30},"in_reply_to":"bf51134e_0f153d40","updated":"2020-06-26 13:08:07.000000000","message":"Sorry wrong link and dialect\n\ns/mac_eui48/mac_eui64/\n\n[1] https://github.com/netaddr/netaddr/blob/master/netaddr/strategy/eui64.py","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"24be793baffb3b48d38f4fc588027551ea0d3561","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                          \u0027EUI-64: %s\u0027) % prefix)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"def get_mac_addr_by_ipv6(ipv6):"},{"line_number":197,"context_line":"    \"\"\"Extract MAC address from interface identifier based IPv6 address."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    For example from link-local addresses (fe80::/10) generated from MAC."}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_2833c2ac","line":196,"range":{"start_line":196,"start_character":29,"end_line":196,"end_character":30},"in_reply_to":"bf51134e_0f241d5d","updated":"2020-06-29 15:18:52.000000000","message":"Done","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"87c2e412a74c20f8aedf64cbee66dfdcb30f0ed7","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    .. versionadded:: 4.3.0"},{"line_number":210,"context_line":"    \"\"\""},{"line_number":211,"context_line":"    return netaddr.EUI(int("},{"line_number":212,"context_line":"        (((ipv6 \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":213,"context_line":"         (ipv6 \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":214,"context_line":"        dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_52c87872","line":213,"range":{"start_line":212,"start_character":9,"end_line":213,"end_character":52},"updated":"2020-06-26 13:59:42.000000000","message":"Also, IMO, for the sake of maintainability and readibility, I think this part could be split and more commented. Bitwises operations are not really human readable and more details could help future maintainers to deep dive in this code.\n\nBy example by transposing with the given appendix","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"24be793baffb3b48d38f4fc588027551ea0d3561","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    .. versionadded:: 4.3.0"},{"line_number":210,"context_line":"    \"\"\""},{"line_number":211,"context_line":"    return netaddr.EUI(int("},{"line_number":212,"context_line":"        (((ipv6 \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":213,"context_line":"         (ipv6 \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":214,"context_line":"        dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_fb6192d4","line":213,"range":{"start_line":212,"start_character":9,"end_line":213,"end_character":52},"in_reply_to":"bf51134e_52c87872","updated":"2020-06-29 15:18:52.000000000","message":"Done","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9ca74ec8682b9fce03ca553a7eb843675159eabd","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    return netaddr.EUI(int("},{"line_number":212,"context_line":"        (((ipv6 \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":213,"context_line":"         (ipv6 \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":214,"context_line":"        dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"def is_ipv6_enabled():"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_2feda1b6","line":214,"range":{"start_line":214,"start_character":24,"end_line":214,"end_character":41},"updated":"2020-06-26 13:20:04.000000000","message":"In your commit message you said that \"This method is practically the reverse of get_ipv6_addr_by_EUI64()...\" and and seeing that the appendix-A speak define how \nto create a modified EUI-64 format interface identifiers I wondering if we should you `eui64_unix_expanded` in place of `mac_unix_expanded` that is defined as a EUI48 strategy [1].\n\n[1] https://github.com/netaddr/netaddr/blob/master/netaddr/strategy/eui48.py#L79","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"f5bda50982bea9b8d23a47dd19ecb2c4724010ac","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    return netaddr.EUI(int("},{"line_number":212,"context_line":"        (((ipv6 \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":213,"context_line":"         (ipv6 \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":214,"context_line":"        dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"def is_ipv6_enabled():"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_4f7575f9","line":214,"range":{"start_line":214,"start_character":24,"end_line":214,"end_character":41},"in_reply_to":"bf51134e_2feda1b6","updated":"2020-06-26 13:22:50.000000000","message":"s/I wondering if we should you/I wondering if we should use/","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"24be793baffb3b48d38f4fc588027551ea0d3561","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    return netaddr.EUI(int("},{"line_number":212,"context_line":"        (((ipv6 \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":213,"context_line":"         (ipv6 \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":214,"context_line":"        dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"def is_ipv6_enabled():"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_9b3856d3","line":214,"range":{"start_line":214,"start_character":24,"end_line":214,"end_character":41},"in_reply_to":"bf51134e_4f7575f9","updated":"2020-06-29 15:18:52.000000000","message":"There\u0027s a bit of a mess here.\n\nTechnically get_ipv6_addr_by_EUI64() takes anything that can be parsed into an EUI, but its docstring says you should pass an 48 bit mac to it.\n\nBut code search tells me everybody passes mac addresses to it:\n\nhttp://codesearch.openstack.org/?q\u003dget_ipv6_addr_by_EUI64\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d\n\nOn one hand there\u0027s the generic handling of any kind of EUI (no matter how many bits it is).\n\nBut then the use of 48 bit mac addresses is pervasive in neutron, while I personally don\u0027t know a single place in the code base where we actually use 64 bit EUIs (other than temporary values in rfc-mandated conversions).\n\nWe could also change and rename this method to get_EUI64_by_ipv6(), but then we\u0027d leave half the work to our users (figuring out which two bytes need to be dropped).\n\nI think most users expect a 48 bit mac returned here, therefore I think the least surprise is better.","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"de028964ee52d4909817f575c20e32adb4a2dd60","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    return netaddr.EUI(int("},{"line_number":212,"context_line":"        (((ipv6 \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":213,"context_line":"         (ipv6 \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":214,"context_line":"        dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"def is_ipv6_enabled():"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_e48398a8","line":214,"range":{"start_line":214,"start_character":24,"end_line":214,"end_character":41},"in_reply_to":"bf51134e_9b3856d3","updated":"2020-07-01 08:32:57.000000000","message":"Thanks for your interesting response :)\n\nMake sense, so I\u0027m ok to continue with the current PS.","commit_id":"eb61b5285aabf68bbfcf6c4558ac83fb1bd96fb8"}]}
