Comment 3 for bug 1517146

Revision history for this message
Maxime Leroy (maxime-leroy) wrote :

@Cedric

First, we don't need any specific modifications on the LB agent regarding the configuration of the bridge. Standard linux commands (i.e. brctl, ip ...) works with our offloading solution.

But, if we use the officiel LB agent, our ML2 mechanism driver will not be able to know which compute node is running
linux bridge or linux bridge + fast path offload. So the LB ML2 mech and LB fast path ML2 mech cannot work together in this case.

At least, we need to modify the agent_type in the LB agent. To do that in networking-6wind, we have a new class (called LinuxBridgeFPNeutronAgentRPC) heriting of LinuxBridgeNeutronAgentRPC to modify the agent_type reported to the mechanism driver. And we also needs to copy the main function of linuxbridge_neutron_agent into our an agent.

An alternative is to add an agent_type configuration option for the linux bridge agent. It will allows us to set a specific agent type. A similar patch has been merged for open vswitch agent in liberty. See: https://review.openstack.org/#/c/197210/

But the final user still needs to install a specific mechanism driver and set the agent_type with the proper value. Any error typo on the agent type option will cause the ML2 LB FP mech driver ignore this agent.

Adding a way to detect at run time if the fast path offload is supported and report it to the ML2 LB mech driver to choose which VIF_TYPE (i.e. BRIDGE or VHOSTUSER) seems to be a nicer solution for the user.