diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-01-12 10:25:40 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-01-12 10:25:40 +0000 |
| commit | acbf4ea118bd65fe73d5c31275990bf4992e80f7 (patch) | |
| tree | ee1cd0da89c3b13716321455cc40090637046d62 | |
| parent | f8ce2143ba12b1e39246e35a3e28d7060e110583 (diff) | |
| parent | e87c2419c4f1c73c7e7b76d34ba909b7b0f962d6 (diff) | |
| download | nova-acbf4ea118bd65fe73d5c31275990bf4992e80f7.tar.gz nova-acbf4ea118bd65fe73d5c31275990bf4992e80f7.tar.xz nova-acbf4ea118bd65fe73d5c31275990bf4992e80f7.zip | |
Merge "Allow pinging own float when using fixed gateway"
| -rw-r--r-- | nova/network/linux_net.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index ea09f69b2..e6abde609 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -647,12 +647,18 @@ def remove_floating_forward(floating_ip, fixed_ip, device): def floating_forward_rules(floating_ip, fixed_ip, device): + rules = [] rule = '-s %s -j SNAT --to %s' % (fixed_ip, floating_ip) if device: - rule += ' -o %s' % device - return [('PREROUTING', '-d %s -j DNAT --to %s' % (floating_ip, fixed_ip)), - ('OUTPUT', '-d %s -j DNAT --to %s' % (floating_ip, fixed_ip)), - ('float-snat', rule)] + rules.append(('float-snat', rule + ' -d %s' % fixed_ip)) + rules.append(('float-snat', rule + ' -o %s' % device)) + else: + rules.append(('float-snat', rule)) + rules.append( + ('PREROUTING', '-d %s -j DNAT --to %s' % (floating_ip, fixed_ip))) + rules.append( + ('OUTPUT', '-d %s -j DNAT --to %s' % (floating_ip, fixed_ip))) + return rules def initialize_gateway_device(dev, network_ref): |
