nova doesn't use Neutron MTUs when wiring up VIFs

Bug #1549408 reported by Kevin Benton
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Kevin Benton
Liberty
Fix Released
Medium
Matt Riedemann

Bug Description

Neutron Network objects can have an 'MTU' field that specifies the MTU that should be defined on all interfaces attached to that network. However, Nova currently doesn't do anything with that information when wiring up the Linux bridge and OVS ports. It only references the network_device_mtu config option which is deprecated and doesn't take into account the overhead of various encapsulation protocols.

So if network_device_mtu is not specified or is smaller than the MTU of a Neutron network with jumbo frames, large packets from a VM will silently be dropped on the Linux bridge due to the mismatch of MTUs between the devices Nova has wired up and Neutron.

Changed in nova:
assignee: nobody → Kevin Benton (kevinbenton)
status: New → In Progress
Revision history for this message
Kevin Benton (kevinbenton) wrote :
Matt Riedemann (mriedem)
tags: added: network neutron
Changed in nova:
importance: Undecided → Medium
Matt Riedemann (mriedem)
tags: added: liberty-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/283847
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=69ec718b62db5766e43552cadfc7b659c7025ba4
Submitter: Jenkins
Branch: master

commit 69ec718b62db5766e43552cadfc7b659c7025ba4
Author: Kevin Benton <email address hidden>
Date: Mon Feb 22 18:35:48 2016 -0800

    Use MTU value from Neutron in OVS/LB VIF wiring

    This patch adds the MTU attached to a Neutron network to
    the network model so the VIF plugging code can reference
    the MTU and set the correct value for the Neutron network
    it is attaching to.

    Closes-Bug: #1549408
    Change-Id: Ibd4de83e1af193eb2dcd997e6528d2fccaa2979a

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/285710

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to nova (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/287344

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/nova 13.0.0.0b3

This issue was fixed in the openstack/nova 13.0.0.0b3 development milestone.

Matt Riedemann (mriedem)
tags: removed: liberty-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to nova (master)

Reviewed: https://review.openstack.org/287344
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b3c64d1c64faf933243b53275d5e63e7e2e0fecb
Submitter: Jenkins
Branch: master

commit b3c64d1c64faf933243b53275d5e63e7e2e0fecb
Author: Matt Riedemann <email address hidden>
Date: Wed Mar 2 12:39:20 2016 -0500

    Add release note for nova using neutron mtu value for vif plugging

    69ec718b62db5766e43552cadfc7b659c7025ba4 changed nova to start using
    the network mtu value from neutron (if specified and > 0) when
    plugging virtual interfaces. This allows us to finally remove the
    deprecated 'network_device_mtu' config option from nova (probably in
    Newton).

    Add a release note to point out that the segment_mtu value in neutron
    is now used to set the mtu value during vif plugging in nova.

    Change-Id: Iebffb487cc837427b0ede35aea93ec5f9594165f
    Related-Bug: #1549408

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/liberty)

Reviewed: https://review.openstack.org/285710
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=80d9e63db331f7efde2e742894e823c326296cf1
Submitter: Jenkins
Branch: stable/liberty

commit 80d9e63db331f7efde2e742894e823c326296cf1
Author: Kevin Benton <email address hidden>
Date: Mon Feb 22 18:35:48 2016 -0800

    Use MTU value from Neutron in OVS/LB VIF wiring

    This patch adds the MTU attached to a Neutron network to
    the network model so the VIF plugging code can reference
    the MTU and set the correct value for the Neutron network
    it is attaching to.

    Conflicts:
            nova/tests/unit/network/test_neutronv2.py
            nova/tests/unit/virt/libvirt/test_vif.py
            nova/virt/libvirt/vif.py

    NOTE(mriedem): test_neutronv2 conflict is due to
    830010b443716496fca838b81fde7f3717a6cffd not being in
    stable/liberty. vif conflict is due to
    1bf6a8760f0ef226dba927b62d4354e248b984de not being in
    stable/liberty. test_vif conflict is due to 1bf6a8760
    and c805293e772b5a560eae9c28c52b4ae1646f37ec not being
    in stable/liberty.

    Closes-Bug: #1549408
    Change-Id: Ibd4de83e1af193eb2dcd997e6528d2fccaa2979a
    (cherry picked from commit 69ec718b62db5766e43552cadfc7b659c7025ba4)

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/nova 12.0.4

This issue was fixed in the openstack/nova 12.0.4 release.

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.