Allow the NVP plugin to use configurable gateway modes

Bug #1121129 reported by Salvatore Orlando
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Wishlist
Salvatore Orlando

Bug Description

As of the current implementation, the Nicira plugin always adds a default SNAT rule before creating the floating IPs.
This means that we are unable to clearly separate the 'floating IP (DNAT)' and 'external gateway access (SNAT)' offered by the Quantum logical router.

- One can configure a router for SNAT, but not do DNAT (just doing PUT /routers/<router-id> {'external_network_info: {'network_id': <ext_net>id> }} )
- However one cannot decide to allow a router to connect floating IPs without doing SNAT.

To this aim the 'external_network_info' data structure can be extended by adding explicit attributes which state what operations are possible on such external network.

For instance:

{
 'external_network_info':
   {
      'network_id': <net_id>,
      'snat': false,
      'dnat': true
   }
}

The blueprint l3-ext-gw-modes adds this kind of support in the API layer and the OVS plugin. The NVP plugin might benefit from this feature too.

Tags: api nicira
tags: added: api nicira
description: updated
Revision history for this message
Akihiro Motoki (amotoki) wrote :

I have the similar demand and it looks a reasonable direction to me. In my case we want 'external gateway access' without SNAT and just to use 'router:external' to determine a default gateway to the external network.

As 'snat' and 'dnat' proposed take a boolean value, how about adding 'enable_' as a prefix to them?

Revision history for this message
Salvatore Orlando (salvatore-orlando) wrote :

enable_{snat|dnat} looks good to me.

To satisfy your use case we will have both attributes set to false.
Assuming the l3 agent will support these extensions, this will imply it will simply add the external network as the nexthop for the default route, without configuring any Nat rule. Is this what you have in mind?

Revision history for this message
Akihiro Motoki (amotoki) wrote :

Yes, that is what I think. I also saw similar questions on the ML too.
It sounds good to add enable_(snat|dnat) to the L3 API though it is not a scope of Grizzly.

Changed in quantum:
milestone: grizzly-3 → grizzly-rc1
Changed in quantum:
milestone: grizzly-rc1 → havana-1
Revision history for this message
Salvatore Orlando (salvatore-orlando) wrote :

Following the discussion with Akihiro, Blueprint l3-ext-gw-modes has been registered.
This bug will track NVP Plugin support for it.

summary: - Allow the NVP plugin to use floating IPs without SNAT
+ Allow the NVP plugin to use configurable gateway modes.
summary: - Allow the NVP plugin to use configurable gateway modes.
+ Allow the NVP plugin to use configurable gateway modes
description: updated
Changed in quantum:
importance: Medium → Wishlist
status: New → Triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to quantum (master)

Fix proposed to branch: master
Review: https://review.openstack.org/26077

Changed in quantum:
status: Triaged → In Progress
Changed in quantum:
milestone: havana-1 → havana-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/26077
Committed: http://github.com/openstack/neutron/commit/60a392f0aa0d5a8c865e81f65566549b7a753c24
Submitter: Jenkins
Branch: master

commit 60a392f0aa0d5a8c865e81f65566549b7a753c24
Author: Salvatore <email address hidden>
Date: Thu Apr 4 12:35:50 2013 +0200

    Nicira NVP plugin support for l3_ext_gw_mode extension

    Bug 1121129

    This patch adds support the 'configurable external gateway' extension
    in the NVP plugin.

    Change-Id: I531ebe0053b1b9e21d6f0685776acebe3173b170

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: havana-2 → 2013.2
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.