Low performance when using vlan over VxLan

Bug #1477466 reported by Kamal Heib
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Medium
Dragan S.
Vivid
Won't Fix
Medium
Dragan S.

Bug Description

We see a performance issue when running traffic over vlan interface that created over VxLAN interface.

We reach 24 Gbps over the VxLan interface while we reach only 4 Gbps over the VLAN interface. Turned out that GRO isn't supported for VLAN over VxLAN.

The following upstream commits fix this issue.

commit 66e5133f19e901a044fa5eaeeb6ecff4545839e5
Author: Toshiaki Makita <email address hidden>
Date: Mon Jun 1 21:55:06 2015 +0900

    vlan: Add GRO support for non hardware accelerated vlan

    Currently packets with non-hardware-accelerated vlan cannot be handled
    by GRO. This causes low performance for 802.1ad and stacked vlan, as their
    vlan tags are currently not stripped by hardware.

    This patch adds GRO support for non-hardware-accelerated vlan and
    improves receive performance of them.

commit 9b174d88c257150562b0101fcc6cb6c3cb74275c
Author: Jesse Gross <email address hidden>
Date: Tue Dec 30 19:10:15 2014 -0800

    net: Add Transparent Ethernet Bridging GRO support.

    Currently the only tunnel protocol that supports GRO with encapsulated
    Ethernet is VXLAN. This pulls out the Ethernet code into a proper layer
    so that it can be used by other tunnel protocols such as GRE and Geneve.

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1477466

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Triaged
tags: added: kernel-da-key
Changed in linux (Ubuntu Vivid):
status: New → Triaged
importance: Undecided → Medium
Changed in linux (Ubuntu):
assignee: nobody → Rafael David Tinoco (inaddy)
Changed in linux (Ubuntu Vivid):
assignee: nobody → Rafael David Tinoco (inaddy)
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

@gavin has cherry-picked some commits and we would like you to test and provide feedback:

These are Gavin's comments:

----

@tinoco,

I've backported the 2 patches you mentioned in the bug description. Could
you help to verify if the backported kernel can speed up the performance?

The kernel source is in:
http://kernel.ubuntu.com/git/gavinguo/ubuntu-trusty-amd64.git/log/?h=sf00088101

The kernel package:
http://kernel.ubuntu.com/~gavinguo/sf00088101/

- The first commit as following can be cleanly cherry-picked:

commit 9b174d88c257150562b0101fcc6cb6c3cb74275c
Author: Jesse Gross <email address hidden>
Date: Tue Dec 30 19:10:15 2014 -0800

net: Add Transparent Ethernet Bridging GRO support.

- The second has some conflict and I tried to fix that:

commit 66e5133f19e901a044fa5eaeeb6ecff4545839e5
Author: Toshiaki Makita <email address hidden>
Date: Mon Jun 1 21:55:06 2015 +0900

vlan: Add GRO support for non hardware accelerated vlan

- Despite I fixed the conflict, the kernel cannot be built and still need the
commit:

commit 0e82d0187ce8327aca20ec9e4e32ee10fbd229cb
Author: David S. Miller <email address hidden>
Date: Mon Jun 1 14:56:09 2015 -0700

net: Add priority to packet_offload objects.

Because in the Vivid kernel, there is no priority member in the
packet_offload struct.

Please tell me if you find anything wrong, sorry for not familiar with the
network subsystem.

----

Thank you

Rafael Tinoco

Changed in linux (Ubuntu):
status: Triaged → In Progress
Changed in linux (Ubuntu Vivid):
status: Triaged → In Progress
Changed in linux (Ubuntu Vivid):
assignee: Rafael David Tinoco (inaddy) → nobody
Changed in linux (Ubuntu):
assignee: Rafael David Tinoco (inaddy) → nobody
Dragan S. (dragan-s)
Changed in linux (Ubuntu):
assignee: nobody → Dragan S. (dragan-s)
Changed in linux (Ubuntu Vivid):
assignee: nobody → Dragan S. (dragan-s)
Revision history for this message
Dragan S. (dragan-s) wrote :

Hi Kamal-

what is the status of this issue. Have you had a chance to try the kernel with back-ported changes?

Thank you

Revision history for this message
Talat Batheesh (talat-b87) wrote :

Hi Dragan,

This is an old bug, as far as i remember that we tested it and the performance still not as expected.
we can test it again, but does this patches back-ported ?

thanks,
Talat

Revision history for this message
Dragan S. (dragan-s) wrote :

Hi Talat-

The bug was filed against vivid which is no longer maintained. The original submitter had requested certain patches be back-ported to vivid because they supposedly fixed an issue.

The requested patches were back-ported and they didn't fix the issue the submitter purported that they fix.

So I wanted to know two things:
1. Does the reported issue still appear in latest releases such as xenial(16.04)
2. If so does this issue appear in the mainline kernel as well?

This will determine if the reported issue is an Ubuntu specific issue or if the general mainline linux kernel needs fixing.

If you can re-run the tests on 1 & 2 that would be very helpful, but it would also help if you could provide the exact configuration and steps you use so that I can try and reproduce your tests.

Thanks.

Revision history for this message
Dragan S. (dragan-s) wrote :

Hi Talat-

any update on this issue?

Thanks

Revision history for this message
Dragan S. (dragan-s) wrote :

Closing as incomplete since we are missing required information....

Changed in linux (Ubuntu):
status: In Progress → Incomplete
Changed in linux (Ubuntu Vivid):
status: In Progress → Incomplete
Revision history for this message
Talat Batheesh (talat-b87) wrote :

Hi,

We will test this scenario on the latest Ubuntu (Yakkety Yak).
this may take a time, will update later.

Revision history for this message
Andy Whitcroft (apw) wrote : Closing unsupported series nomination.

This bug was nominated against a series that is no longer supported, ie vivid. The bug task representing the vivid nomination is being closed as Won't Fix.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu Vivid):
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.