yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #41313
[Bug 1517146] [NEW] RFE: Linux Bridge vhost-user support via fast path detection
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
Follow ups