)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8279,"name":"Fawad Khaliq","email":"fawadkq@gmail.com","username":"fawadkhaliq"},"change_message_id":"d5ac73cb49feb7071927be89afb067c628d2ab0a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Allows the OVS binding script to recognize if it"},{"line_number":10,"context_line":"has to do hybrid binding or not and operate accordingly."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7c7d7b115b546c136a07880bc568662558dbc950"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bae84128_5e3a90e8","line":11,"updated":"2016-03-01 06:37:58.000000000","message":"Can you please link the bp/bug","commit_id":"21435541d81cf731dbbbff5d968f1bee99e1ef8a"},{"author":{"_account_id":2376,"name":"Christophe Sauthier","email":"christophe.sauthier@objectif-libre.com","username":"christophe.sauthier"},"change_message_id":"e53bb62cc38d2e991b77aa37a1a7b4ffe56b5604","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Allows the OVS binding script to recognize if it"},{"line_number":10,"context_line":"has to do hybrid binding or not and operate accordingly."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7c7d7b115b546c136a07880bc568662558dbc950"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"1a122d0e_a7af5be2","line":11,"updated":"2016-04-15 18:20:12.000000000","message":"Is there a bug/bp to link ?","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"59020c2d6da7546b7048be069cb05a0731f8e54d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Allows the OVS binding script to recognize if it"},{"line_number":10,"context_line":"has to do hybrid binding or not and operate accordingly."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7c7d7b115b546c136a07880bc568662558dbc950"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"1a122d0e_7bc7ce95","line":11,"in_reply_to":"1a122d0e_a7af5be2","updated":"2016-04-21 01:24:50.000000000","message":"Done","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"}],"kuryr/binding.py":[{"author":{"_account_id":14352,"name":"Antoni Segura Puimedon","email":"celebdor@gmail.com","username":"toni"},"change_message_id":"33ff964b353aef8a83fd205e2a2b45af5be758a0","unresolved":false,"context_lines":[{"line_number":32,"context_line":"MAC_ADDRESS_KEY \u003d \u0027mac_address\u0027"},{"line_number":33,"context_line":"SUBNET_ID_KEY \u003d \u0027subnet_id\u0027"},{"line_number":34,"context_line":"UNBINDING_SUBCOMMAND \u003d \u0027unbind\u0027"},{"line_number":35,"context_line":"VETH_POSTFIX \u003d \u0027tap\u0027"},{"line_number":36,"context_line":"VIF_TYPE_KEY \u003d \u0027binding:vif_type\u0027"},{"line_number":37,"context_line":"VIF_DETAILS_KEY \u003d \u0027binding:vif_details\u0027"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_5827efb5","line":35,"updated":"2016-02-16 21:23:47.000000000","message":"Do we really need to match nova names? I find it pretty confusing to have veths called tap.","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"81dc3721c57ac7d16170d0b11af8d3ef6c4b012b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"MAC_ADDRESS_KEY \u003d \u0027mac_address\u0027"},{"line_number":33,"context_line":"SUBNET_ID_KEY \u003d \u0027subnet_id\u0027"},{"line_number":34,"context_line":"UNBINDING_SUBCOMMAND \u003d \u0027unbind\u0027"},{"line_number":35,"context_line":"VETH_POSTFIX \u003d \u0027tap\u0027"},{"line_number":36,"context_line":"VIF_TYPE_KEY \u003d \u0027binding:vif_type\u0027"},{"line_number":37,"context_line":"VIF_DETAILS_KEY \u003d \u0027binding:vif_details\u0027"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_bb97108f","line":35,"in_reply_to":"dae33548_5827efb5","updated":"2016-02-16 23:59:58.000000000","message":"I didn\u0027t have it like this but people using it say it\u0027s better to use the same naming convention so they know what they are looking at in a mixed environment...","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":14352,"name":"Antoni Segura Puimedon","email":"celebdor@gmail.com","username":"toni"},"change_message_id":"058b7dc3a6a0e71356362ab508533394ad3d3997","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    \"\"\""},{"line_number":83,"context_line":"    global ip"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    ifname \u003d VETH_POSTFIX + endpoint_id[:8]"},{"line_number":86,"context_line":"    peer_name \u003d CONTAINER_VETH_POSTFIX + ifname"},{"line_number":87,"context_line":"    subnets_dict \u003d {subnet[\u0027id\u0027]: subnet for subnet in neutron_subnets}"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_0ff35ad7","line":85,"updated":"2016-02-16 22:21:39.000000000","message":"If we have to do this, then we should change the constant to be PREFIX instead of POSTFIX.","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"81dc3721c57ac7d16170d0b11af8d3ef6c4b012b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    \"\"\""},{"line_number":83,"context_line":"    global ip"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    ifname \u003d VETH_POSTFIX + endpoint_id[:8]"},{"line_number":86,"context_line":"    peer_name \u003d CONTAINER_VETH_POSTFIX + ifname"},{"line_number":87,"context_line":"    subnets_dict \u003d {subnet[\u0027id\u0027]: subnet for subnet in neutron_subnets}"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_9b920c9e","line":85,"in_reply_to":"dae33548_0ff35ad7","updated":"2016-02-16 23:59:58.000000000","message":"Done","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":14352,"name":"Antoni Segura Puimedon","email":"celebdor@gmail.com","username":"toni"},"change_message_id":"058b7dc3a6a0e71356362ab508533394ad3d3997","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    global ip"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    ifname \u003d VETH_POSTFIX + endpoint_id[:8]"},{"line_number":86,"context_line":"    peer_name \u003d CONTAINER_VETH_POSTFIX + ifname"},{"line_number":87,"context_line":"    subnets_dict \u003d {subnet[\u0027id\u0027]: subnet for subnet in neutron_subnets}"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_cf96924b","line":86,"updated":"2016-02-16 22:21:39.000000000","message":"same here","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"81dc3721c57ac7d16170d0b11af8d3ef6c4b012b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    global ip"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    ifname \u003d VETH_POSTFIX + endpoint_id[:8]"},{"line_number":86,"context_line":"    peer_name \u003d CONTAINER_VETH_POSTFIX + ifname"},{"line_number":87,"context_line":"    subnets_dict \u003d {subnet[\u0027id\u0027]: subnet for subnet in neutron_subnets}"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_fb91989a","line":86,"in_reply_to":"dae33548_cf96924b","updated":"2016-02-16 23:59:58.000000000","message":"Done","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"5992648bedb97f8ea80f0089e1df464429ac3b14","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    vif_type \u003d neutron_port.get(VIF_TYPE_KEY, FALLBACK_VIF_TYPE)"},{"line_number":115,"context_line":"    mapping_list \u003d neutron_port.get(VIF_DETAILS_KEY)"},{"line_number":116,"context_line":"    options \u003d utils.string_mappings(mapping_list)"},{"line_number":117,"context_line":"    binding_exec_path \u003d os.path.join(config.CONF.bindir, vif_type)"},{"line_number":118,"context_line":"    port_id \u003d neutron_port[\u0027id\u0027]"},{"line_number":119,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_bfdb694e","line":116,"updated":"2016-02-17 09:41:30.000000000","message":"should there be any validation on received string?","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"803be0eb2e075f57eb0ba30ee2f4c858a5d4c7da","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    vif_type \u003d neutron_port.get(VIF_TYPE_KEY, FALLBACK_VIF_TYPE)"},{"line_number":115,"context_line":"    mapping_list \u003d neutron_port.get(VIF_DETAILS_KEY)"},{"line_number":116,"context_line":"    options \u003d utils.string_mappings(mapping_list)"},{"line_number":117,"context_line":"    binding_exec_path \u003d os.path.join(config.CONF.bindir, vif_type)"},{"line_number":118,"context_line":"    port_id \u003d neutron_port[\u0027id\u0027]"},{"line_number":119,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_3b858d06","line":116,"in_reply_to":"dae33548_bfdb694e","updated":"2016-02-17 18:20:17.000000000","message":"I think the content depends on the driver that does the binding and can vary. If that\u0027s not the case, or you have something else for validation in mind please let me know.","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":9820,"name":"Liping Mao","email":"limao@cisco.com","username":"LipingMao"},"change_message_id":"5a3bff40108b1fbca990192777fcf810a4a73560","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    stdout, stderr \u003d processutils.execute("},{"line_number":146,"context_line":"        unbinding_exec_path, UNBINDING_SUBCOMMAND, port_id, options,"},{"line_number":147,"context_line":"        run_as_root\u003dTrue)"},{"line_number":148,"context_line":"    ifname \u003d VETH_POSTFIX + endpoint_id[:8]"},{"line_number":149,"context_line":"    try:"},{"line_number":150,"context_line":"        cleanup_veth(ifname)"},{"line_number":151,"context_line":"    except pyroute2.netlink.NetlinkError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_605da314","line":148,"range":{"start_line":148,"start_character":4,"end_line":148,"end_character":10},"updated":"2016-02-17 17:30:00.000000000","message":"Same here.","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"803be0eb2e075f57eb0ba30ee2f4c858a5d4c7da","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    stdout, stderr \u003d processutils.execute("},{"line_number":146,"context_line":"        unbinding_exec_path, UNBINDING_SUBCOMMAND, port_id, options,"},{"line_number":147,"context_line":"        run_as_root\u003dTrue)"},{"line_number":148,"context_line":"    ifname \u003d VETH_POSTFIX + endpoint_id[:8]"},{"line_number":149,"context_line":"    try:"},{"line_number":150,"context_line":"        cleanup_veth(ifname)"},{"line_number":151,"context_line":"    except pyroute2.netlink.NetlinkError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_fbc04552","line":148,"range":{"start_line":148,"start_character":4,"end_line":148,"end_character":10},"in_reply_to":"dae33548_605da314","updated":"2016-02-17 18:20:17.000000000","message":"Done","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":8279,"name":"Fawad Khaliq","email":"fawadkq@gmail.com","username":"fawadkhaliq"},"change_message_id":"d5ac73cb49feb7071927be89afb067c628d2ab0a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    try:"},{"line_number":120,"context_line":"        stdout, stderr \u003d processutils.execute("},{"line_number":121,"context_line":"            binding_exec_path, BINDING_SUBCOMMAND, port_id, ifname,"},{"line_number":122,"context_line":"            endpoint_id, options, run_as_root\u003dTrue)"},{"line_number":123,"context_line":"    except processutils.ProcessExecutionError:"},{"line_number":124,"context_line":"        with excutils.save_and_reraise_exception():"},{"line_number":125,"context_line":"            cleanup_veth(ifname)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_24d27328","line":122,"range":{"start_line":122,"start_character":25,"end_line":122,"end_character":32},"updated":"2016-03-01 06:37:58.000000000","message":"you may want to update after this got merged: https://review.openstack.org/#/c/285704/\n\nwould be better to keep it as the last parameter have the hybrid binding script use that. Otherwise, it will break other scripts.","commit_id":"21435541d81cf731dbbbff5d968f1bee99e1ef8a"},{"author":{"_account_id":8279,"name":"Fawad Khaliq","email":"fawadkq@gmail.com","username":"fawadkhaliq"},"change_message_id":"d5ac73cb49feb7071927be89afb067c628d2ab0a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    port_id \u003d neutron_port[\u0027id\u0027]"},{"line_number":145,"context_line":"    stdout, stderr \u003d processutils.execute("},{"line_number":146,"context_line":"        unbinding_exec_path, UNBINDING_SUBCOMMAND, port_id, options,"},{"line_number":147,"context_line":"        run_as_root\u003dTrue)"},{"line_number":148,"context_line":"    ifname \u003d VETH_PREFIX + endpoint_id[:8]"},{"line_number":149,"context_line":"    try:"},{"line_number":150,"context_line":"        cleanup_veth(ifname)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_c4df4738","line":147,"updated":"2016-03-01 06:37:58.000000000","message":"same","commit_id":"21435541d81cf731dbbbff5d968f1bee99e1ef8a"},{"author":{"_account_id":2376,"name":"Christophe Sauthier","email":"christophe.sauthier@objectif-libre.com","username":"christophe.sauthier"},"change_message_id":"e53bb62cc38d2e991b77aa37a1a7b4ffe56b5604","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    \"\"\""},{"line_number":117,"context_line":"    ip \u003d get_ipdb()"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    ifname \u003d VETH_PREFIX + endpoint_id[:8]"},{"line_number":120,"context_line":"    peer_name \u003d CONTAINER_VETH_PREFIX + ifname"},{"line_number":121,"context_line":"    subnets_dict \u003d {subnet[\u0027id\u0027]: subnet for subnet in neutron_subnets}"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_871dff11","line":119,"updated":"2016-04-15 18:20:12.000000000","message":"Why do you change the format of the ifname ? I think you should keep the VETH_POSTFIX too","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"59020c2d6da7546b7048be069cb05a0731f8e54d","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    \"\"\""},{"line_number":117,"context_line":"    ip \u003d get_ipdb()"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    ifname \u003d VETH_PREFIX + endpoint_id[:8]"},{"line_number":120,"context_line":"    peer_name \u003d CONTAINER_VETH_PREFIX + ifname"},{"line_number":121,"context_line":"    subnets_dict \u003d {subnet[\u0027id\u0027]: subnet for subnet in neutron_subnets}"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_bb6166d5","line":119,"in_reply_to":"1a122d0e_871dff11","updated":"2016-04-21 01:24:50.000000000","message":"This is to keep the naming consistent through out the code and also what Neutron uses (which is a prefix + x).","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"},{"author":{"_account_id":2376,"name":"Christophe Sauthier","email":"christophe.sauthier@objectif-libre.com","username":"christophe.sauthier"},"change_message_id":"e53bb62cc38d2e991b77aa37a1a7b4ffe56b5604","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    try:"},{"line_number":156,"context_line":"        stdout, stderr \u003d processutils.execute("},{"line_number":157,"context_line":"            binding_exec_path, BINDING_SUBCOMMAND, port_id, ifname,"},{"line_number":158,"context_line":"            endpoint_id, mac_address, network_id, tenant_id, vif_details,"},{"line_number":159,"context_line":"            run_as_root\u003dTrue)"},{"line_number":160,"context_line":"    except processutils.ProcessExecutionError:"},{"line_number":161,"context_line":"        with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_87f69fd5","line":158,"updated":"2016-04-15 18:20:12.000000000","message":"It would be best to add the new paramater at the end to avoid breaking any existing scripts.","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"59020c2d6da7546b7048be069cb05a0731f8e54d","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    try:"},{"line_number":156,"context_line":"        stdout, stderr \u003d processutils.execute("},{"line_number":157,"context_line":"            binding_exec_path, BINDING_SUBCOMMAND, port_id, ifname,"},{"line_number":158,"context_line":"            endpoint_id, mac_address, network_id, tenant_id, vif_details,"},{"line_number":159,"context_line":"            run_as_root\u003dTrue)"},{"line_number":160,"context_line":"    except processutils.ProcessExecutionError:"},{"line_number":161,"context_line":"        with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_1b597a35","line":158,"in_reply_to":"1a122d0e_87f69fd5","updated":"2016-04-21 01:24:50.000000000","message":"It is the last positional argument.","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"},{"author":{"_account_id":2376,"name":"Christophe Sauthier","email":"christophe.sauthier@objectif-libre.com","username":"christophe.sauthier"},"change_message_id":"e53bb62cc38d2e991b77aa37a1a7b4ffe56b5604","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    mac_address \u003d neutron_port[\u0027mac_address\u0027]"},{"line_number":183,"context_line":"    stdout, stderr \u003d processutils.execute("},{"line_number":184,"context_line":"        unbinding_exec_path, UNBINDING_SUBCOMMAND, port_id, ifname,"},{"line_number":185,"context_line":"        endpoint_id, mac_address, vif_details, run_as_root\u003dTrue)"},{"line_number":186,"context_line":"    try:"},{"line_number":187,"context_line":"        cleanup_veth(ifname)"},{"line_number":188,"context_line":"    except pyroute2.netlink.NetlinkError:"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_a7f91bcb","line":185,"updated":"2016-04-15 18:20:12.000000000","message":"It would be best to add the new paramater at the end to avoid breaking any existing scripts.","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"59020c2d6da7546b7048be069cb05a0731f8e54d","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    mac_address \u003d neutron_port[\u0027mac_address\u0027]"},{"line_number":183,"context_line":"    stdout, stderr \u003d processutils.execute("},{"line_number":184,"context_line":"        unbinding_exec_path, UNBINDING_SUBCOMMAND, port_id, ifname,"},{"line_number":185,"context_line":"        endpoint_id, mac_address, vif_details, run_as_root\u003dTrue)"},{"line_number":186,"context_line":"    try:"},{"line_number":187,"context_line":"        cleanup_veth(ifname)"},{"line_number":188,"context_line":"    except pyroute2.netlink.NetlinkError:"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_bb4a0653","line":185,"in_reply_to":"1a122d0e_a7f91bcb","updated":"2016-04-21 01:24:50.000000000","message":"Ditto.","commit_id":"a228ff1fbb5e16d9b865f3941e156dbe54c92324"}],"usr/libexec/kuryr/ovs":[{"author":{"_account_id":14352,"name":"Antoni Segura Puimedon","email":"celebdor@gmail.com","username":"toni"},"change_message_id":"058b7dc3a6a0e71356362ab508533394ad3d3997","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # connect the veth outside to linux bridge"},{"line_number":26,"context_line":"    ip link set $2 up"},{"line_number":27,"context_line":"    brctl addif $br_name $2"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    # create a veth pair to connect linux bridge and the integration bridge"},{"line_number":30,"context_line":"    veth_lb\u003d\"qvb\"${1:0:8}"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dae33548_efeef6b2","line":27,"updated":"2016-02-16 22:21:39.000000000","message":"I\u0027d rather not have to depend on bridge-utils, since most distros are starting not to have it enabled by default. Could you please change it to use iproute2 for link creation and interface addition and sysfs for forward delay and spanning tree protocol settings?","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"81dc3721c57ac7d16170d0b11af8d3ef6c4b012b","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # connect the veth outside to linux bridge"},{"line_number":26,"context_line":"    ip link set $2 up"},{"line_number":27,"context_line":"    brctl addif $br_name $2"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    # create a veth pair to connect linux bridge and the integration bridge"},{"line_number":30,"context_line":"    veth_lb\u003d\"qvb\"${1:0:8}"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dae33548_1bed5c25","line":27,"in_reply_to":"dae33548_efeef6b2","updated":"2016-02-16 23:59:58.000000000","message":"Sure, will update.","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":9820,"name":"Liping Mao","email":"limao@cisco.com","username":"LipingMao"},"change_message_id":"5a3bff40108b1fbca990192777fcf810a4a73560","unresolved":false,"context_lines":[{"line_number":88,"context_line":"case $1 in"},{"line_number":89,"context_line":"    \"bind\")"},{"line_number":90,"context_line":"        shift"},{"line_number":91,"context_line":"\tif [[ $4 \u003d\u003d *$HYBRID_PLUG* ]]"},{"line_number":92,"context_line":"\tthen"},{"line_number":93,"context_line":"\t    ovs_hybrid_bind_port \"$@\""},{"line_number":94,"context_line":"\telse"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dae33548_c083cf54","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":1},"updated":"2016-02-17 17:30:00.000000000","message":"can we use space instead of tab in 91-96, 101-106?","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"803be0eb2e075f57eb0ba30ee2f4c858a5d4c7da","unresolved":false,"context_lines":[{"line_number":88,"context_line":"case $1 in"},{"line_number":89,"context_line":"    \"bind\")"},{"line_number":90,"context_line":"        shift"},{"line_number":91,"context_line":"\tif [[ $4 \u003d\u003d *$HYBRID_PLUG* ]]"},{"line_number":92,"context_line":"\tthen"},{"line_number":93,"context_line":"\t    ovs_hybrid_bind_port \"$@\""},{"line_number":94,"context_line":"\telse"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dae33548_9b0e5939","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":1},"in_reply_to":"dae33548_c083cf54","updated":"2016-02-17 18:20:17.000000000","message":"Done","commit_id":"43036c320bab891e8317da0b31b36b13e83786ea"}]}
