Public bug reported: Fast path technology is a user-space stack for high performance packets offloading the Linux networking functions: IPv4/IPv6 routing, linux bridge, iptables, conntrack...
To benefit from the offloading, a VM needs to use vhost-user instead of vhost-net backend for virtio interfaces. As a consequence, we have: - a forked ML2 linux bridge mechanism driver: https://github.com/openstack/networking-6wind/blob/master/networking_6wind/ml2_drivers/linuxbridge/mech_driver/mech_lb_fp.py - a forked linux agent: https://github.com/openstack/networking-6wind/blob/master/networking_6wind/ml2_drivers/linuxbridge/agent/lb_fp_neutron_agent.py. Problem Description =================== We need to maintain a fork version of the ML2 linux bridge mechanism driver and also one for the linux bridge agent , it is not a proper design. >From users point of view, having to install a specific mechanism driver and an agent to benefit of the fastpath offloading, it is an extra operation. We should avoid to add extra operation for easiness. Proposed Change =============== LinuxBridge Agent ----------------- The linux bridge agent shall detect whether a fast path offload is enabled, and it shall report it to the mechanism driver with the use of agent_state. For this capability, a new field will be added in agent_state.configuration: fp_offload. ML2 LinuxBridge --------------- The mechanism driver LinuxBridge in the try_bind_segment_for_agent will: - set the vif_type to LINUXBRIDGE if agent['configuration']['fp_offload'] is False - set the vif_type to VHOSTUSER if agent['configuration']['fp_offload'] is True Specific vif_details needs to be added for vhost-user: - vhost_user_socket (i.e '/tmp/usv-XXXX') - vhost_user_fp_plug should be set True to create a tap netdevice with a vhostuser socket Note: The vhost_user_fp_plug is a modification under review in Nova. See: https://review.openstack.org/#/c/245369/ ** Affects: networking-6wind Importance: Undecided Status: New ** Affects: neutron Importance: Undecided Status: New ** Description changed: Fast path technology is a user-space stack for high performance packets offloading the Linux networking functions: IPv4/IPv6 routing, linux bridge, iptables, conntrack... To benefit from the offloading, a VM needs to use vhost-user instead of vhost-net backend for virtio interfaces. As a consequence, we have: + - a forked ML2 linux bridge mechanism driver: https://github.com/openstack/networking-6wind/blob/master/networking_6wind/ml2_drivers/linuxbridge/mech_driver/mech_lb_fp.py - a forked linux agent: https://github.com/openstack/networking-6wind/blob/master/networking_6wind/ml2_drivers/linuxbridge/agent/lb_fp_neutron_agent.py. - Problem Description - ================ + =================== We need to maintain a fork version of the ML2 linux bridge mechanism driver and also one for the linux bridge agent , it is not a proper design. From users point of view, having to install a specific mechanism driver and an agent to benefit of the fastpath offloading, it is an extra operation. We should avoid to add extra operation for easiness. Proposed Change - ============== + =============== LinuxBridge Agent - -------------------------- - - The linux bridge agent shall detect whether a fast path offload is enabled, and it shall report it to the mechanism driver with the use of agent_state. + ----------------- + + The linux bridge agent shall detect whether a fast path offload is + enabled, and it shall report it to the mechanism driver with the use of + agent_state. For this capability, a new field will be added in agent_state.configuration: fp_offload. ML2 LinuxBridge - ----------------------- + --------------- The mechanism driver LinuxBridge in the try_bind_segment_for_agent will: - set the vif_type to LINUXBRIDGE if agent['configuration']['fp_offload'] is False - set the vif_type to VHOSTUSER if agent['configuration']['fp_offload'] is True Specific vif_details needs to be added for vhost-user: - vhost_user_socket (i.e '/tmp/usv-XXXX') - vhost_user_fp_plug should be set True to create a tap netdevice with a vhostuser socket Note: The vhost_user_fp_plug is a modification under review in Nova. See: https://review.openstack.org/#/c/245369/ ** Also affects: networking-6wind Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1517146 Title: RFE: Linux Bridge vhost-user support via fast path detection Status in networking-6wind: New Status in neutron: New Bug description: Fast path technology is a user-space stack for high performance packets offloading the Linux networking functions: IPv4/IPv6 routing, linux bridge, iptables, conntrack... To benefit from the offloading, a VM needs to use vhost-user instead of vhost-net backend for virtio interfaces. As a consequence, we have: - a forked ML2 linux bridge mechanism driver: https://github.com/openstack/networking-6wind/blob/master/networking_6wind/ml2_drivers/linuxbridge/mech_driver/mech_lb_fp.py - a forked linux agent: https://github.com/openstack/networking-6wind/blob/master/networking_6wind/ml2_drivers/linuxbridge/agent/lb_fp_neutron_agent.py. Problem Description =================== We need to maintain a fork version of the ML2 linux bridge mechanism driver and also one for the linux bridge agent , it is not a proper design. From users point of view, having to install a specific mechanism driver and an agent to benefit of the fastpath offloading, it is an extra operation. We should avoid to add extra operation for easiness. Proposed Change =============== LinuxBridge Agent ----------------- The linux bridge agent shall detect whether a fast path offload is enabled, and it shall report it to the mechanism driver with the use of agent_state. For this capability, a new field will be added in agent_state.configuration: fp_offload. ML2 LinuxBridge --------------- The mechanism driver LinuxBridge in the try_bind_segment_for_agent will: - set the vif_type to LINUXBRIDGE if agent['configuration']['fp_offload'] is False - set the vif_type to VHOSTUSER if agent['configuration']['fp_offload'] is True Specific vif_details needs to be added for vhost-user: - vhost_user_socket (i.e '/tmp/usv-XXXX') - vhost_user_fp_plug should be set True to create a tap netdevice with a vhostuser socket Note: The vhost_user_fp_plug is a modification under review in Nova. See: https://review.openstack.org/#/c/245369/ To manage notifications about this bug go to: https://bugs.launchpad.net/networking-6wind/+bug/1517146/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

