Classification/Shaping && HW Rate Limiting && Open-vswitch

Registered by Tom Herbert on 2012-06-21

Networking Bufferbloat Topics
1. Linux Traffic Classification and Shaping
2. TC Interface to Hardware Rate Limiting
3. Harmonizing Multiqueue, Vmdq, virtio-net, macvtap with open-vswitch

=== Linux Traffic classification and Shaping ===

[Slides](http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/2012-lpc-networking-qdisc-fastabend.pdf)

Linux provides advanced mechanism for traffic classification and shaping. Central to this role is the queuing discipline. Recently we have done work allowing hardware to offload some of these traditionally CPU intensive task and have experimented with mechanisms to improve performance on many-core systems.

Here we would like to highlight work such as the queuing scheduler 'mqprio' that have recently been accepted upstream. As well as share results from experimental work running lockless queuing disciplines and classifiers on many-core systems and fat pipes (10Gbps and greater).

Topic Lead: John Fastabend

=== tc(?) interface to hardware transmit rate limiting ===

[Slides](http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/2012-lpc-Hardware-Rate-Limiting-brandeburg.pdf)
Intel 10 Gigabit hardware (and others) can provide transmit rate limiting. This presentation will discuss development of a new simple qdisc that can either provide all-software transmit rate limiting, or when installed over hardware that supports the capability, can directly configure the hardware's rate limiting. One problem that will need discussion is that the Intel hardware's rate limiting is per-queue. Another option besides a qdisc that could be discussed is direct ethtool control over the rate limiting.

Topic Lead: Jesse Brandeburg
Jesse is a senior Linux developer in the Intel LAN Access Division (Intel Ethernet). He has been with Intel since 1994, and has worked on the Linux e100, e1000, e1000e, igb, ixgb, ixgbe drivers since 2002. His time is split between solving customer issues, performance tuning Intel's drivers, and working on bleeding edge development for the Linux networking stack.

=== Harmonizing Multiqueue, Vmdq, virtio-net, macvtap with open-vswitch ===
Multiqueue virtio-net, macvtap and qemu is being worked upon by Jason Wang and Krishna Kumar. Inspired by their work I had like to extend it a step further and discuss introducing open-vswitch based flows for multiqueue aware virtio-net queuing. This requires plumbing in openvswitch to utilize linux tc to instantiate QoS flows per queue in addition to the virtio-net multiqueue work. Open-vswitch also needs to incorporate support for opening tap fds multiple times so it can create as many queues. To this end openvswitch might want to become macvtap aware.

There is a need to understand and discuss gaps in realizing openvswitch usecases in synchronization with features already implemented in macvtap and linux tc. For instance.. features like vepa, veb etc are implemented in the macvtap/macvlan driver only but are useful for openvswitch based flows too.

I had like to discuss features/gaps that require plumbing in these subsystems and related work.

*Required attendees(If present)*
Developers like Jason Wang, Krishna Kumar, Michael Tsirkin, Arnd Bergmann, Stephen Hemminger, Dave Miller, open-vswitch developers, netdev developers, libvirt developers, qemu developers

Topic Lead: Shyam Iyer <email address hidden>
Shyam Iyer is a senior software engineer in Dell's Operating Sytems Advanced Engineering Group focused on Linux with over 8 years of experience in developing linux based solutions. Apart from enabling Dell PowerEdge Servers and Storage for Enterprise Linux Operating Systems he focuses on bridging new hardware technology usecases with emerging new Linux technologies. His interests encompass Server Hardware Architecture, Linux Kernel Debugging, Server Platform bringup, efficient storage, networking, Virtualization architectures and performance tuning.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Tom Herbert
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.