)]}'
{"neutron/agent/linux/fp_lib.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c3ff8f215513c2d91a9028fce66317def4f08a7e","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def check_fp_offload():"},{"line_number":23,"context_line":"    try:"},{"line_number":24,"context_line":"        utils.execute(cmd\u003d[\u0027pidof\u0027, \u0027fp-rte\u0027])"},{"line_number":25,"context_line":"        return True"},{"line_number":26,"context_line":"    except RuntimeError:"},{"line_number":27,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_0a55d31b","line":24,"updated":"2015-11-17 19:58:39.000000000","message":"What is fp-rte application?","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"6b94c563fb888c5174d148162679fb347c23fa4c","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def check_fp_offload():"},{"line_number":23,"context_line":"    try:"},{"line_number":24,"context_line":"        utils.execute(cmd\u003d[\u0027pidof\u0027, \u0027fp-rte\u0027])"},{"line_number":25,"context_line":"        return True"},{"line_number":26,"context_line":"    except RuntimeError:"},{"line_number":27,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_ac1ccac1","line":24,"in_reply_to":"ba8a016a_0a55d31b","updated":"2015-11-18 10:54:22.000000000","message":"It\u0027s is an user-space stack application based on the dpdk for high performance packets. It allows to offload the Linux networking functions: IPv4/IPv6 routing, linux bridge, iptables, conntrack...","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"20035758e41cfc99431a3a3473e10a9de2a552a1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutron.common import constants"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def check_fp_offload():"},{"line_number":23,"context_line":"    try:"},{"line_number":24,"context_line":"        utils.execute(cmd\u003d[\u0027pidof\u0027, \u0027fp-rte\u0027])"},{"line_number":25,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_067780a0","line":22,"updated":"2015-11-20 01:24:47.000000000","message":"Neutron has moved on: we are not supporting vendor code in tree. AFAIK, fp-rte is not a tool of the stock (vanilla) ovs, so this doesn\u0027t belong here.\n\nNow one might argue that we want to turn this into something like:\n\nis_accelerated, but I can\u0027t see why this util belongs here and why we wouldn\u0027t rely on the mechanisms that the upstream OVS switch provides us.\n\nIf you are building (forking) a flavor of OVS, then this is not the place to add this functionality, or at least not like this.","commit_id":"6e1765dfe918656c76db67261dd8a4a1e9fdd669"}],"neutron/extensions/portbindings.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"20035758e41cfc99431a3a3473e10a9de2a552a1","unresolved":false,"context_lines":[{"line_number":63,"context_line":"#                        method should be used when binding the"},{"line_number":64,"context_line":"#                        vhost-user vif."},{"line_number":65,"context_line":"VHOST_USER_OVS_PLUG \u003d \u0027vhostuser_ovs_plug\u0027"},{"line_number":66,"context_line":"# -vhost_user_fp_plug: Boolean used to inform Nova that the fp plug"},{"line_number":67,"context_line":"#                      method should be used when binding the"},{"line_number":68,"context_line":"#                      vhost-user vif."},{"line_number":69,"context_line":"VHOST_USER_FP_PLUG \u003d \u0027vhostuser_fp_plug\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_e6f4bcf1","line":66,"updated":"2015-11-20 01:24:47.000000000","message":"this is 6wind specific stuff as far as I can tell, it does not belong to Neutron.","commit_id":"6e1765dfe918656c76db67261dd8a4a1e9fdd669"}],"neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c3ff8f215513c2d91a9028fce66317def4f08a7e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from six import moves"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"from neutron.agent.linux import bridge_lib"},{"line_number":38,"context_line":"from neutron.agent.linux.fp_lib import check_fp_offload"},{"line_number":39,"context_line":"from neutron.agent.linux import ip_lib"},{"line_number":40,"context_line":"from neutron.agent.linux import utils"},{"line_number":41,"context_line":"from neutron.agent import rpc as agent_rpc"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_0ae4f338","line":38,"updated":"2015-11-17 19:58:39.000000000","message":"Import only modules","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"6b94c563fb888c5174d148162679fb347c23fa4c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from six import moves"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"from neutron.agent.linux import bridge_lib"},{"line_number":38,"context_line":"from neutron.agent.linux.fp_lib import check_fp_offload"},{"line_number":39,"context_line":"from neutron.agent.linux import ip_lib"},{"line_number":40,"context_line":"from neutron.agent.linux import utils"},{"line_number":41,"context_line":"from neutron.agent import rpc as agent_rpc"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_2c877ad8","line":38,"in_reply_to":"ba8a016a_0ae4f338","updated":"2015-11-18 10:54:22.000000000","message":"ok.","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"20035758e41cfc99431a3a3473e10a9de2a552a1","unresolved":false,"context_lines":[{"line_number":850,"context_line":"            devices \u003d len(self.br_mgr.get_tap_devices())"},{"line_number":851,"context_line":"            self.agent_state.get(\u0027configurations\u0027)[\u0027devices\u0027] \u003d devices"},{"line_number":852,"context_line":"            fp_offload \u003d check_fp_offload()"},{"line_number":853,"context_line":"            self.agent_state.get(\u0027configurations\u0027)[\u0027fp_offload\u0027] \u003d fp_offload"},{"line_number":854,"context_line":"            self.state_rpc.report_state(self.context,"},{"line_number":855,"context_line":"                                        self.agent_state)"},{"line_number":856,"context_line":"            self.agent_state.pop(\u0027start_flag\u0027, None)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_069ea0b8","line":853,"updated":"2015-11-20 01:24:47.000000000","message":"AFAIK fp_offload is something specific to 6WIND, and it does not belong here.","commit_id":"6e1765dfe918656c76db67261dd8a4a1e9fdd669"}],"neutron/plugins/ml2/drivers/linuxbridge/mech_driver/mech_linuxbridge.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c3ff8f215513c2d91a9028fce66317def4f08a7e","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_log import log"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron.agent.linux.fp_lib import get_vhost_user_socket_path"},{"line_number":19,"context_line":"from neutron.agent import securitygroups_rpc"},{"line_number":20,"context_line":"from neutron.common import constants"},{"line_number":21,"context_line":"from neutron.extensions import portbindings"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_4ac19b7f","line":18,"updated":"2015-11-17 19:58:39.000000000","message":"Import only modules","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"6b94c563fb888c5174d148162679fb347c23fa4c","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_log import log"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron.agent.linux.fp_lib import get_vhost_user_socket_path"},{"line_number":19,"context_line":"from neutron.agent import securitygroups_rpc"},{"line_number":20,"context_line":"from neutron.common import constants"},{"line_number":21,"context_line":"from neutron.extensions import portbindings"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_6c64a248","line":18,"in_reply_to":"ba8a016a_4ac19b7f","updated":"2015-11-18 10:54:22.000000000","message":"ok.","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c3ff8f215513c2d91a9028fce66317def4f08a7e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class LinuxbridgeMechanismDriver(mech_agent.SimpleAgentMechanismDriverBase):"},{"line_number":29,"context_line":"    \"\"\"Attach to networks using linuxbridge L2 agent."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    The LinuxbridgeMechanismDriver integrates the ml2 plugin with the"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_6a849fd3","line":28,"updated":"2015-11-17 19:58:39.000000000","message":"Do we really need a unique LB mechanism/agent to handle 2 vif types when we can have a LB mechanism/agent managing servers not supporting offloading and subclasses managing servers supporting offloading?","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"a44788585eaf3587d9153a1ed8e0ecb67ece636b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class LinuxbridgeMechanismDriver(mech_agent.SimpleAgentMechanismDriverBase):"},{"line_number":29,"context_line":"    \"\"\"Attach to networks using linuxbridge L2 agent."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    The LinuxbridgeMechanismDriver integrates the ml2 plugin with the"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_31c1e654","line":28,"in_reply_to":"ba8a016a_26aeb281","updated":"2015-11-18 22:06:36.000000000","message":"Note:  It seems that the open vSwitch mech driver is going to be modified to support 2 vif types: https://review.openstack.org/#/c/237264/","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"6b94c563fb888c5174d148162679fb347c23fa4c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class LinuxbridgeMechanismDriver(mech_agent.SimpleAgentMechanismDriverBase):"},{"line_number":29,"context_line":"    \"\"\"Attach to networks using linuxbridge L2 agent."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    The LinuxbridgeMechanismDriver integrates the ml2 plugin with the"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_26aeb281","line":28,"in_reply_to":"ba8a016a_6a849fd3","updated":"2015-11-18 10:54:22.000000000","message":"See: https://bugs.launchpad.net/neutron/+bug/1517146/comments/3","commit_id":"16c3773f8696b00988d208fa4cec58e40d76ae1e"}]}
