)]}'
{"neutron/common/constants.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"65b077467ddff8dd9725e98877c044da1af5e136","unresolved":false,"context_lines":[{"line_number":61,"context_line":"IP_PROTOCOL_NUM_TO_NAME_MAP \u003d {"},{"line_number":62,"context_line":"    str(v): k for k, v in lib_constants.IP_PROTOCOL_MAP.items()}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"# When using iptables-save we specify \u0027-p {proto} -m {module}\u0027,"},{"line_number":65,"context_line":"# but sometimes those values are not identical.  This is a map"},{"line_number":66,"context_line":"# of known protocols that require a \u0027-m {module}\u0027, along with"},{"line_number":67,"context_line":"# the module name that should be used."}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_d7661850","line":64,"updated":"2016-11-10 10:01:21.000000000","message":"can we use this - https://github.com/openstack/neutron-lib/blob/master/neutron_lib/constants.py#L173?","commit_id":"a4e6aa64879b46825252e35670d325782cb6844e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4e911c143bbb53633b2c151fc51be30e60e43f6a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"IP_PROTOCOL_NUM_TO_NAME_MAP \u003d {"},{"line_number":62,"context_line":"    str(v): k for k, v in lib_constants.IP_PROTOCOL_MAP.items()}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"# When using iptables-save we specify \u0027-p {proto} -m {module}\u0027,"},{"line_number":65,"context_line":"# but sometimes those values are not identical.  This is a map"},{"line_number":66,"context_line":"# of known protocols that require a \u0027-m {module}\u0027, along with"},{"line_number":67,"context_line":"# the module name that should be used."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_2335dff6","line":64,"in_reply_to":"7a77a97e_256303de","updated":"2016-12-07 20:52:32.000000000","message":"Gary - any thought on my comment to do this in a follow-on?  There\u0027s other places in the SG code that could use the neutron-lib constants as well.","commit_id":"a4e6aa64879b46825252e35670d325782cb6844e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"72bda3142322ab74dde0cc0d9c603283defdadf2","unresolved":false,"context_lines":[{"line_number":61,"context_line":"IP_PROTOCOL_NUM_TO_NAME_MAP \u003d {"},{"line_number":62,"context_line":"    str(v): k for k, v in lib_constants.IP_PROTOCOL_MAP.items()}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"# When using iptables-save we specify \u0027-p {proto} -m {module}\u0027,"},{"line_number":65,"context_line":"# but sometimes those values are not identical.  This is a map"},{"line_number":66,"context_line":"# of known protocols that require a \u0027-m {module}\u0027, along with"},{"line_number":67,"context_line":"# the module name that should be used."}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_256303de","line":64,"in_reply_to":"9a629dbe_d7661850","updated":"2016-11-15 19:42:36.000000000","message":"I don\u0027t think we should use the neutron-lib constant names, since iptables_firewall.py doesn\u0027t either, and this is just a relocation of things to here.  Something like that could be done in a future change perhaps.","commit_id":"a4e6aa64879b46825252e35670d325782cb6844e"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"621ef6c1696d938ac059149460419b2779136512","unresolved":false,"context_lines":[{"line_number":65,"context_line":"# but sometimes those values are not identical.  This is a map"},{"line_number":66,"context_line":"# of known protocols that require a \u0027-m {module}\u0027, along with"},{"line_number":67,"context_line":"# the module name that should be used."},{"line_number":68,"context_line":"IPTABLES_PROTOCOL_MAP \u003d {lib_constants.PROTO_NAME_DCCP: \u0027dccp\u0027,"},{"line_number":69,"context_line":"                         lib_constants.PROTO_NAME_ICMP: \u0027icmp\u0027,"},{"line_number":70,"context_line":"                         lib_constants.PROTO_NAME_IPV6_ICMP: \u0027icmp6\u0027,"},{"line_number":71,"context_line":"                         lib_constants.PROTO_NAME_SCTP: \u0027sctp\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_943772af","line":68,"updated":"2017-01-03 20:59:49.000000000","message":"Why don\u0027t we use IP_PROTOCOL_MAP from http://git.openstack.org/cgit/openstack/neutron-lib/tree/neutron_lib/constants.py#n173 instead?","commit_id":"1bc454b4d49c041e27427a1370ba4b16fd4760e5"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"3141c011506bf08ab6ed8dae218bae178e3b12a7","unresolved":false,"context_lines":[{"line_number":65,"context_line":"# but sometimes those values are not identical.  This is a map"},{"line_number":66,"context_line":"# of known protocols that require a \u0027-m {module}\u0027, along with"},{"line_number":67,"context_line":"# the module name that should be used."},{"line_number":68,"context_line":"IPTABLES_PROTOCOL_MAP \u003d {lib_constants.PROTO_NAME_DCCP: \u0027dccp\u0027,"},{"line_number":69,"context_line":"                         lib_constants.PROTO_NAME_ICMP: \u0027icmp\u0027,"},{"line_number":70,"context_line":"                         lib_constants.PROTO_NAME_IPV6_ICMP: \u0027icmp6\u0027,"},{"line_number":71,"context_line":"                         lib_constants.PROTO_NAME_SCTP: \u0027sctp\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_afd3435e","line":68,"in_reply_to":"ba5201f7_54fd0a39","updated":"2017-01-03 21:32:24.000000000","message":"Excellent.  I have something similar in neutron-lib for fwaas - https://review.openstack.org/#/c/409343/17/neutron_lib/constants.py - so I updated it to track with this.","commit_id":"1bc454b4d49c041e27427a1370ba4b16fd4760e5"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"55593d7d707038ab9768c2face7ada88da0f87be","unresolved":false,"context_lines":[{"line_number":65,"context_line":"# but sometimes those values are not identical.  This is a map"},{"line_number":66,"context_line":"# of known protocols that require a \u0027-m {module}\u0027, along with"},{"line_number":67,"context_line":"# the module name that should be used."},{"line_number":68,"context_line":"IPTABLES_PROTOCOL_MAP \u003d {lib_constants.PROTO_NAME_DCCP: \u0027dccp\u0027,"},{"line_number":69,"context_line":"                         lib_constants.PROTO_NAME_ICMP: \u0027icmp\u0027,"},{"line_number":70,"context_line":"                         lib_constants.PROTO_NAME_IPV6_ICMP: \u0027icmp6\u0027,"},{"line_number":71,"context_line":"                         lib_constants.PROTO_NAME_SCTP: \u0027sctp\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_54fd0a39","line":68,"in_reply_to":"ba5201f7_943772af","updated":"2017-01-03 21:19:27.000000000","message":"Because that would return an integer and this needs the protocol module name that iptables uses.  They almost match the names exactly except for icmp6.","commit_id":"1bc454b4d49c041e27427a1370ba4b16fd4760e5"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fa4475e49bc4378fa76c44493ca3e6188020485e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"# but sometimes those values are not identical.  This is a map"},{"line_number":66,"context_line":"# of known protocols that require a \u0027-m {module}\u0027, along with"},{"line_number":67,"context_line":"# the module name that should be used."},{"line_number":68,"context_line":"IPTABLES_PROTOCOL_MAP \u003d {lib_constants.PROTO_NAME_DCCP: \u0027dccp\u0027,"},{"line_number":69,"context_line":"                         lib_constants.PROTO_NAME_ICMP: \u0027icmp\u0027,"},{"line_number":70,"context_line":"                         lib_constants.PROTO_NAME_IPV6_ICMP: \u0027icmp6\u0027,"},{"line_number":71,"context_line":"                         lib_constants.PROTO_NAME_SCTP: \u0027sctp\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_2fd753c0","line":68,"in_reply_to":"ba5201f7_afd3435e","updated":"2017-01-03 21:49:04.000000000","message":"Well, these are just the ones that also require a \u0027-m module\u0027, others are supported without it from what I can tell.  For example, you can use \u0027-p udplite\u0027, I just wasn\u0027t able to make it dump a \u0027-m udplite\u0027 from iptables-save since you can\u0027t specify a port for some reason.","commit_id":"1bc454b4d49c041e27427a1370ba4b16fd4760e5"}]}
