neutron/neutron
Hong Hui Xiao 1cea77b0aa DVR: Fix issue of SNAT rule for DVR with floating ip
With current code, there are 2 issues.

1) The prevent snat rule that is added for floating ip will be
cleaned, when restarting the l3 agent. Without this rule, the fixed
ip will be SNATed to floating ip, even if the network request is to
an internal IP.

2) The prevent snat rule will not be cleaned, even if the external
device(rfp device) is deleted. So, when the floating ips are removed
from DVR router, there are still dump rules in iptables. Restarting
the l3 agent can clean these dump rules.

The fix in this patch will handle DVR floating ip nat rules at the
same step to handle nat rules for other routers(legacy router, dvr
edge router)

After the change in [1], the fip nat rules for external port have
been extracted together into a method. Add all rules in that method
in the same step can fix the issue of ping floating ip, but reply
with fixed ip.

[1] https://review.openstack.org/#/c/286392/

Change-Id: I018232c03f5df2237a11b48ac877793d1cb5c1bf
Closes-Bug: #1549311
Related-Bug: #1462154
2016-03-23 12:48:06 -04:00
..
agent DVR: Fix issue of SNAT rule for DVR with floating ip 2016-03-23 12:48:06 -04:00
api Merge "RBAC: Fix port query and deletion for network owner" 2016-03-15 08:00:42 +00:00
callbacks Add precommit_XXX event for security group and rules 2016-02-14 22:36:27 +08:00
cmd Merge "macvtap: Macvtap L2 Agent" 2016-03-01 14:49:50 +00:00
common Accept icmpv6 as protocol of SG rule for backward compatibility 2016-03-18 06:28:45 -07:00
core_extensions Objects DB api: added composite key to handle multiple primary key 2016-03-01 17:05:11 +00:00
db Merge "Add IPAllocation object to session info to stop GC" 2016-03-19 14:22:11 +00:00
debug Using LOG.warning replace LOG.warn 2016-03-10 11:02:45 -08:00
extensions Accept icmpv6 as protocol of SG rule for backward compatibility 2016-03-18 06:28:45 -07:00
hacking Using LOG.warning replace LOG.warn 2016-03-10 11:02:45 -08:00
ipam Construct exceptions before passing to retryrequest 2016-03-09 16:25:28 -08:00
locale Imported Translations from Zanata 2016-03-16 08:01:26 +00:00
notifiers Add Nova notifier hook calls to pecan 2016-03-08 04:21:31 -08:00
objects DSCP QoS rule implementation 2016-03-18 10:07:24 +01:00
openstack Fix module's import order 2016-01-22 06:38:42 -08:00
pecan_wsgi Pecan: Allow unauthenticated version listing 2016-03-11 16:45:28 -08:00
plugins DSCP QoS rule implementation 2016-03-18 10:07:24 +01:00
quota Remove local variable named 'meh' 2016-03-18 10:10:24 -07:00
scheduler Using LOG.warning replace LOG.warn 2016-03-10 11:02:45 -08:00
server Moved CORS middleware configuration into oslo-config-generator 2016-03-01 12:21:33 -08:00
services DSCP QoS rule implementation 2016-03-18 10:07:24 +01:00
tests DVR: Fix issue of SNAT rule for DVR with floating ip 2016-03-23 12:48:06 -04:00
__init__.py Deprecate _ builtin translation function 2015-12-06 19:39:20 +09:00
_i18n.py Move i18n to _i18n, as per oslo_i18n guidelines 2015-12-01 19:29:10 -07:00
auth.py Consume ConfigurableMiddleware from oslo_middleware 2015-10-08 17:59:43 +00:00
context.py Trival: Remove unused logging import 2015-12-26 12:49:56 +08:00
i18n.py Move i18n to _i18n, as per oslo_i18n guidelines 2015-12-01 19:29:10 -07:00
manager.py Pecan: replace dashes with underscores on controller lookup 2016-02-19 00:54:32 -08:00
neutron_plugin_base_v2.py Fix module's import order 2016-01-22 06:38:42 -08:00
opts.py macvtap: Macvtap L2 Agent 2016-02-26 15:48:01 +00:00
policy.py RBAC: Fix port query and deletion for network owner 2016-03-15 10:11:18 +08:00
service.py Check if plugin supports starting rpc listeners 2016-03-01 15:43:44 -06:00
version.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
worker.py Some minor misspellings in comment block. 2015-11-24 00:01:21 -06:00
wsgi.py Use _ from neutron._i18n 2015-12-06 19:39:04 +09:00