← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1584940] Re: MTU calculations only support IPv4 tunnel endpoints don't account for IPv6

 

Reviewed:  https://review.openstack.org/320121
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=51a697817da849c8f9dae9651f17cd863e170fdc
Submitter: Jenkins
Branch:    master

commit 51a697817da849c8f9dae9651f17cd863e170fdc
Author: Brian Haley <brian.haley@xxxxxxx>
Date:   Mon May 23 15:50:06 2016 -0400

    Change tunnel MTU calculation to support IPv6
    
    The IPv6 header is twice the size of the IPv4 header, 40 vs 20
    bytes, but the tunnel overhead constants are static, only
    accounting for an IPv4 header in all cases.  In order to be
    correct it needs to treat the tunnel overhead different from
    the IP overhead at L3.
    
    This required removing the 20 byte IP overhead from the tunnel
    type overhead constants and creating a new option,
    ml2.overlay_ip_version, in order for the server to know which
    version will be used, since it calculates the MTU for the network.
    A version mis-match will now cause a tunnel sync to fail on
    the server.
    
    Moved all MTU tests to a common location to remove duplication.
    
    DocImpact
    
    Change-Id: Ia2546c4c71ff48b9fe2817fbad22b1fbf85f325b
    Closes-bug: #1584940


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1584940

Title:
  MTU calculations only support IPv4 tunnel endpoints don't account for
  IPv6

Status in neutron:
  Fix Released

Bug description:
  The MTU calculations are using using values from the ML2 constants
  file like:

  # Network Type MTU overhead
  GENEVE_ENCAP_MIN_OVERHEAD = 50
  GRE_ENCAP_OVERHEAD = 42
  VXLAN_ENCAP_OVERHEAD = 50

  But those values are assuming IPv4 - for example, IPv4 header of 20
  bytes, VXLAN header of 30 bytes.

  We should be calculating the IP overhead independent of the tunnel
  type overhead in order to support an IPv6 data plane.

  Since we know local_ip (tunnel endpoint) from ml2_conf.ini, we can
  dynamically calculate this at startup time.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1584940/+subscriptions


References