aboutsummaryrefslogtreecommitdiffstats
path: root/charms/trusty/neutron-contrail/templates/vrouter-vgw.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'charms/trusty/neutron-contrail/templates/vrouter-vgw.cfg')
-rw-r--r--charms/trusty/neutron-contrail/templates/vrouter-vgw.cfg21
1 files changed, 21 insertions, 0 deletions
diff --git a/charms/trusty/neutron-contrail/templates/vrouter-vgw.cfg b/charms/trusty/neutron-contrail/templates/vrouter-vgw.cfg
new file mode 100644
index 0000000..f5afd46
--- /dev/null
+++ b/charms/trusty/neutron-contrail/templates/vrouter-vgw.cfg
@@ -0,0 +1,21 @@
+###############################################################################
+# [ WARNING ]
+# Configuration file maintained by Juju. Local changes may be overwritten.
+###############################################################################
+
+{%- for vgw in vgws %}
+{% set interface = vgw["interface"] %}
+auto {{ interface }}
+iface {{ interface }} inet manual
+ pre-up vif --create {{ interface }} --mac 00:00:5e:00:01:00
+{%- for subnet in vgw["subnets"] %}
+ post-up route add -net {{ subnet }} dev {{ interface }}
+{%- endfor %}
+{%- for subnet in vgw["subnets"] %}
+ pre-down route del -net {{ subnet }} dev {{ interface }}
+{%- endfor %}
+ post-down id=$(vif --list | awk '/vif[0-9\/]+[\t ]+ OS: {{ interface }}/ { split($1, arr, "/"); print arr[2]; }'); \
+ { [ -n "$id" ] && vif --delete $id; } || true
+ post-down ip link delete {{ interface }}
+{%- endfor %}
+