OpenStack Networking (Neutron)
Go to file
Kevin Benton c55aba1dba Make agent interface plugging utilize network MTU
This changes the 'plug' and 'plug_new' interfaces of the
LinuxInterfaceDriver to accept an MTU argument. It then
updates the dhcp agent and l3 agent to pass the MTU that
is set on the network that the port belongs to. This allows
it to take into account the overhead calculations that are
done for encapsulation types.

It's necessary for the L3 agent to have the MTU because it
must recognize when fragmentation is needed so it can fragment
or generate an ICMP error.

It's necessary for the DHCP agent to have the MTU so it doesn't
interfere when it plugs into a bridge with a larger than 1500
MTU (the bridge would reduce its MTU to match the agent).

If an operator sets 'network_device_mtu', the value of that
will be used instead to preserve previous behavior.

Conflicts:
	neutron/agent/l3/dvr_edge_ha_router.py
	neutron/agent/l3/dvr_edge_router.py
	neutron/agent/l3/ha_router.py
	neutron/agent/linux/interface.py
	neutron/tests/functional/agent/l3/test_dvr_router.py
	neutron/tests/functional/agent/test_dhcp_agent.py

Additional modifications for Liberty:
- test_dvr_router_lifecycle_ha_with_snat_with_fips_nmtu renamed into
  test_dvr_router_lifecycle_without_ha_with_snat_with_fips_nmtu,
- the test validates DVR without HA.

Reason for the change: Liberty does not support DVR + HA routers (the
test raises DvrHaRouterNotSupported without those modifications).

Closes-Bug: #1549470
Closes-Bug: #1542108
Closes-Bug: #1542475
DocImpact: Neutron agents now support arbitrary MTU
           configurations on each network (including
           jumbo frames). This is accomplished by checking
           the MTU value defined for each network on which
           it is wiring VIFs.
Co-Authored-By: Matt Kassawara <mkassawara@gmail.com>
(cherry picked from commit 4df8d9a701)

===

Also squashing in the following fix to pass unit tests for midonet
interface driver:

Support interface drivers that don't support mtu parameter for plug_new

The method signature before Mitaka did not have the mtu= parameter. We
should continue supporting the old signature, since it can be used in
out of tree interface drivers. The class is part of public neutron API,
so we should make an effort to not break out of tree code.

Local modifications:
- don't issue a deprecation warning in minor release update.

Change-Id: I8e0c07c76fd0b4c55b66c20ebe29cdb7c07d6f27
Closes-Bug: #1570392
(cherry picked from commit 8a86ba1d01)

===

Change-Id: Ic091fa78dfd133179c71cbc847bf955a06cb248a
2016-04-19 16:44:43 +02:00
bin Replace 'import json' with oslo_serialization 2015-08-11 06:05:37 -07:00
devstack SR-IOV: devstack support for SR-IOV agent 2015-09-09 15:06:37 +03:00
doc Merge "Add tests that constrain db query count" into stable/liberty 2016-01-31 07:35:52 +00:00
etc Add option for nova endpoint type 2016-03-23 09:35:13 +00:00
neutron Make agent interface plugging utilize network MTU 2016-04-19 16:44:43 +02:00
rally-jobs Changes in rally-jobs/README.rst 2015-06-04 10:34:15 -04:00
releasenotes Make agent interface plugging utilize network MTU 2016-04-19 16:44:43 +02:00
tools Adds base in-tree functional testing of the dhcp agent (OVS) 2016-04-01 16:45:58 +02:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:31:29 +00:00
.gitignore Add reno for release notes management 2015-11-11 23:21:50 -08:00
.gitreview Update default branch in .gitreview to stable/liberty 2015-09-24 15:58:53 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc pylint: enable `duplicate-key` check 2015-06-04 13:10:44 +10:00
.testr.conf Workaround test stream corruption issue. 2015-09-05 04:19:40 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst Python3: use six.iteritems() instead of dict.iteritems() 2015-06-01 23:13:42 +02:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
MANIFEST.in Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
README.rst Update the URLs to the Cloud Admin Guide 2015-08-24 17:24:34 +02:00
TESTING.rst Add testing coverage .rst, missing test infrastructure to-dos 2015-08-10 20:37:23 -04:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
openstack-common.conf Switch to the oslo_utils.fileutils 2015-07-15 08:09:26 +03:00
requirements.txt Updated from global requirements 2015-12-20 17:23:45 +00:00
run_tests.sh Remove check for bash usage 2015-04-07 15:15:33 +00:00
setup.cfg move usage_audit to cmd/eventlet package 2015-12-18 16:19:20 +00:00
setup.py Updated from global requirements 2015-09-21 18:56:49 +00:00
test-requirements.txt Updated from global requirements 2015-11-17 03:15:49 +00:00
tox.ini Make all tox targets constrained 2016-03-07 13:28:11 +01:00

README.rst

Welcome!

You have come across a cloud computing network fabric controller. It has identified itself as "Neutron." It aims to tame your (cloud) networking!

External Resources:

The homepage for Neutron is: http://launchpad.net/neutron. Use this site for asking for help, and filing bugs. Code is available on git.openstack.org at <http://git.openstack.org/cgit/openstack/neutron>.

The latest and most in-depth documentation on how to use Neutron is available at: <http://docs.openstack.org>. This includes:

Neutron Administrator Guide

http://docs.openstack.org/admin-guide-cloud/networking.html

Networking Guide

http://docs.openstack.org/networking-guide/

Neutron API Reference:

http://docs.openstack.org/api/openstack-network/2.0/content/

Current Neutron developer documentation is available at:

http://wiki.openstack.org/NeutronDevelopment

For help on usage and hacking of Neutron, please send mail to <mailto:openstack-dev@lists.openstack.org>.

For information on how to contribute to Neutron, please see the contents of the CONTRIBUTING.rst file.